16.2. データ収集の詳細


Automation Analytics は、Automation Controller から次の種類のデータを収集します。

  • 有効になっている機能や使用されているオペレーティングシステムなどの基本設定
  • 容量と健全性など、Automation Controller 環境とホストのトポロジーおよびステータス
  • 自動化リソースの数:

    • 組織、チーム、ユーザー
    • インベントリーとホスト
    • 認証情報 (タイプで索引付け)
    • プロジェクト (タイプで索引付け)
    • テンプレート
    • スケジュール
    • アクティブセッション
    • 実行中および保留中のジョブ
  • ジョブ実行の詳細 (開始時間、終了時間、起動タイプ、成功)
  • 自動化タスクの詳細 (成功、ホスト ID、Playbook/ロール、タスク名、使用モジュール)

awx-manage gather_analytics (--ship なし) を使用して Automation Controller が送信するデータを検査できるため、データ収集に関する懸念に対応できます。これにより、Red Hat に送信される分析データを含む tarball が作成されます。

このファイルには、多数の JSON ファイルと CSV ファイルが含まれています。各ファイルには、異なる分析データのセットが含まれています。

16.2.1. manifest.json

manifest.json は、分析データのマニフェストです。これは、コレクションに含まれる各ファイルと、ファイルのスキーマのバージョンについて記述しています。

以下は、manifest.json ファイルの例です。

  "config.json": "1.1",
  "counts.json": "1.0",
  "cred_type_counts.json": "1.0",
  "events_table.csv": "1.1",
  "instance_info.json": "1.0",
  "inventory_counts.json": "1.2",
  "job_counts.json": "1.0",
  "job_instance_counts.json": "1.0",
  "org_counts.json": "1.0",
  "projects_by_scm_type.json": "1.0",
  "query_info.json": "1.0",
  "unified_job_template_table.csv": "1.0",
  "unified_jobs_table.csv": "1.0",
  "workflow_job_node_table.csv": "1.0",
  "workflow_job_template_node_table.csv": "1.0"
}

16.2.2. config.json

config.json ファイルには、クラスターの設定エンドポイント /api/v2/config のサブセットが含まれています。config.json の例は次のとおりです。

{
    "ansible_version": "2.9.1",
    "authentication_backends": [
        "social_core.backends.azuread.AzureADOAuth2",
        "django.contrib.auth.backends.ModelBackend"
    ],
    "external_logger_enabled": true,
    "external_logger_type": "splunk",
    "free_instances": 1234,
    "install_uuid": "d3d497f7-9d07-43ab-b8de-9d5cc9752b7c",
    "instance_uuid": "bed08c6b-19cc-4a49-bc9e-82c33936e91b",
    "license_expiry": 34937373,
    "license_type": "enterprise",
    "logging_aggregators": [
        "awx",
        "activity_stream",
        "job_events",
        "system_tracking"
    ],
    "pendo_tracking": "detailed",
    "platform": {
        "dist": [
            "redhat",
            "7.4",
            "Maipo"
        ],
        "release": "3.10.0-693.el7.x86_64",
        "system": "Linux",
        "type": "traditional"
    },
    "total_licensed_instances": 2500,
    "controller_url_base": "https://ansible.rhdemo.io",
    "controller_version": "3.6.3"
}

これには次のフィールドが含まれます。

  • ansible_version: ホスト上のシステム Ansible バージョン
  • authentication_backends: 使用可能なユーザー認証バックエンド。詳細は、認証タイプの設定 を参照してください。
  • external_logger_enabled: 外部ロギングが有効かどうか
  • external_logger_type: 有効になっている場合に使用されているロギングバックエンド。詳細は、ロギングおよびアグリゲーション を参照してください。
  • logging_aggregators: 外部ロギングに送信されるロギングカテゴリー。詳細は、ロギングおよびアグリゲーション を参照してください。
  • free_instances: ライセンスで使用できるホストの数。値がゼロの場合は、クラスターがライセンスを完全に消費していることを意味します。
  • install_uuid: インストールの UUID (すべてのクラスターノードで同一)
  • instance_uuid: インスタンスの UUID (クラスターノードごとに異なる)
  • license_expiry: ライセンスの有効期限が切れるまでの時間 (秒単位)
  • license_type: ライセンスのタイプ (ほとんどの場合は 'enterprise')
  • pendo_tracking: usability_data_collection の状態
  • platform: クラスターが実行されているオペレーティングシステム
  • total_licensed_instances: ライセンス内のホストの合計数
  • controller_url_base: クライアントが使用するクラスターのベース URL (Automation Analytics に表示)
  • controller_version: クラスター上のソフトウェアのバージョン

16.2.3. instance_info.json

instance_info.json ファイルには、クラスターを構成するインスタンスに関する詳細情報がインスタンスの UUID ごとにまとめられています。

以下は、instance_info.json ファイルの例です。

{
    "bed08c6b-19cc-4a49-bc9e-82c33936e91b": {
        "capacity": 57,
        "cpu": 2,
        "enabled": true,
        "last_isolated_check": "2019-08-15T14:48:58.553005+00:00",
        "managed_by_policy": true,
        "memory": 8201400320,
        "uuid": "bed08c6b-19cc-4a49-bc9e-82c33936e91b",
        "version": "3.6.3"
    }
    "c0a2a215-0e33-419a-92f5-e3a0f59bfaee": {
        "capacity": 57,
        "cpu": 2,
        "enabled": true,
        "last_isolated_check": "2019-08-15T14:48:58.553005+00:00",
        "managed_by_policy": true,
        "memory": 8201400320,
        "uuid": "c0a2a215-0e33-419a-92f5-e3a0f59bfaee",
        "version": "3.6.3"
    }
}

これには次のフィールドが含まれます。

  • capacity: タスクを実行するためのインスタンスの容量
  • cpu: インスタンスのプロセッサーコア
  • memory: インスタンスのメモリー
  • enabled: インスタンスが有効でタスクを受け付けているかどうか
  • managed_by_policy: インスタンスグループ内のインスタンスのメンバーシップがポリシーによって管理されているか、手動で管理されているか
  • version: インスタンス上のソフトウェアのバージョン

16.2.4. counts.json

counts.json ファイルには、クラスター内の関連するカテゴリーごとの合計オブジェクト数が含まれています。

以下は、counts.json ファイルの例です。

{
    "active_anonymous_sessions": 1,
    "active_host_count": 682,
    "active_sessions": 2,
    "active_user_sessions": 1,
    "credential": 38,
    "custom_inventory_script": 2,
    "custom_virtualenvs": 4,
    "host": 697,
    "inventories": {
        "normal": 20,
        "smart": 1
    },
    "inventory": 21,
    "job_template": 78,
    "notification_template": 5,
    "organization": 10,
    "pending_jobs": 0,
    "project": 20,
    "running_jobs": 0,
    "schedule": 16,
    "team": 5,
    "unified_job": 7073,
    "user": 28,
    "workflow_job_template": 15
}

このファイルの各エントリーは、アクティブセッション数を除いて、/api/v2 の対応する API オブジェクトに関するものです。

16.2.5. org_counts.json

org_counts.json ファイルには、クラスター内の各組織に関する情報と、その組織に関連付けられているユーザーとチームの数が含まれています。

以下は、org_counts.json ファイルの例です。

{
    "1": {
        "name": "Operations",
        "teams": 5,
        "users": 17
    },
    "2": {
        "name": "Development",
        "teams": 27,
        "users": 154
    },
    "3": {
        "name": "Networking",
        "teams": 3,
        "users": 28
    }
}

16.2.6. cred_type_counts.json

cred_type_counts.json ファイルには、クラスター内のさまざまな認証情報のタイプと、各タイプに存在する認証情報の数に関する情報が含まれています。

以下は、cred_type_counts.json ファイルの例です。

{
    "1": {
        "credential_count": 15,
        "managed_by_controller": true,
        "name": "Machine"
    },
    "2": {
        "credential_count": 2,
        "managed_by_controller": true,
        "name": "Source Control"
    },
    "3": {
        "credential_count": 3,
        "managed_by_controller": true,
        "name": "Vault"
    },
    "4": {
        "credential_count": 0,
        "managed_by_controller": true,
        "name": "Network"
    },
    "5": {
        "credential_count": 6,
        "managed_by_controller": true,
        "name": "Amazon Web Services"
    },
    "6": {
        "credential_count": 0,
        "managed_by_controller": true,
        "name": "OpenStack"
    },

16.2.7. inventory_counts.json

inventory_counts.json ファイルには、クラスター内のさまざまなインベントリーに関する情報が含まれています。

以下は、inventory_counts.json ファイルの例です。

{
    "1": {
        "hosts": 211,
        "kind": "",
        "name": "AWS Inventory",
        "source_list": [
            {
                "name": "AWS",
                "num_hosts": 211,
                "source": "ec2"
            }
        ],
        "sources": 1
    },
    "2": {
        "hosts": 15,
        "kind": "",
        "name": "Manual inventory",
        "source_list": [],
        "sources": 0
    },
    "3": {
        "hosts": 25,
        "kind": "",
        "name": "SCM inventory - test repo",
        "source_list": [
            {
                "name": "Git source",
                "num_hosts": 25,
                "source": "scm"
            }
        ],
        "sources": 1
    }
    "4": {
        "num_hosts": 5,
        "kind": "smart",
        "name": "Filtered AWS inventory",
        "source_list": [],
        "sources": 0
    }
}

16.2.8. projects_by_scm_type.json

project_by_scm_type.json ファイルは、クラスター内のすべてのプロジェクトの内訳を、ソースコントロールタイプごとに示します。

以下は、projects_by_scm_type.json ファイルの例です。

{
    "git": 27,
    "hg": 0,
    "insights": 1,
    "manual": 0,
    "svn": 0
}

16.2.9. query_info.json

query_info.json ファイルには、データ収集がいつどのように行われたかに関する詳細が記載されています。

以下は、query_info.json ファイルの例です。

{
    "collection_type": "manual",
    "current_time": "2019-11-22 20:10:27.751267+00:00",
    "last_run": "2019-11-22 20:03:40.361225+00:00"
}

collection_type は、manual または automatic のいずれかです。

16.2.10. job_counts.json

job_counts.json ファイルは、クラスターのジョブ履歴の詳細を提供し、ジョブの起動方法とジョブの終了ステータスの両方を記述します。

以下は、job_counts.json ファイルの例です。

    "launch_type": {
        "dependency": 3628,
        "manual": 799,
        "relaunch": 6,
        "scheduled": 1286,
        "scm": 6,
        "workflow": 1348
    },
    "status": {
        "canceled": 7,
        "failed": 108,
        "successful": 6958
    },
    "total_jobs": 7073
}

16.2.11. job_instance_counts.json

job_instance_counts.json ファイルは、job_counts.json と同じ詳細をインスタンスごとに分類して記載します。

以下は、job_instance_counts.json ファイルの例です。

{
    "localhost": {
        "launch_type": {
            "dependency": 3628,
            "manual": 770,
            "relaunch": 3,
            "scheduled": 1009,
            "scm": 6,
            "workflow": 1336
        },
        "status": {
            "canceled": 2,
            "failed": 60,
            "successful": 6690
        }
    }
}

このファイルのインスタンスは、instance_info のように UUID ごとに記載されているのではなく、ホスト名ごとに記載されていることに注意してください。

16.2.12. unified_job_template_table.csv

unified_job_template_table.csv ファイルは、システム内のジョブテンプレートに関する情報を提供します。各行には、ジョブテンプレートに関する次のフィールドが含まれます。

  • id: ジョブテンプレート ID。
  • name: ジョブテンプレート名。
  • polymorphic_ctype_id: テンプレートのタイプの ID。
  • model: テンプレートの polymorphic_ctype_id の名前。例として、projectsystemjobtemplatejobtemplateinventorysourceworkflowjobtemplate などがあります。
  • created: テンプレートが作成された日時。
  • updated: テンプレートが最後に更新された日時。
  • created_by_id: テンプレートを作成した userid。システムが変更した場合は空白です。
  • modified_by_id: テンプレートを最後に変更した userid。システムが変更した場合は空白です。
  • current_job_id: テンプレートの現在実行中のジョブ ID (該当する場合)。
  • last_job_id: ジョブの最後の実行。
  • last_job_run: ジョブが最後に実行された時刻。
  • last_job_failed: last_job_id が失敗したかどうか。
  • status: last_job_id のステータス。
  • next_job_run: テンプレートで次にスケジュールされている実行 (該当する場合)。
  • next_schedule_id: next_job_run のスケジュール ID (該当する場合)。

16.2.13. unified_jobs_table.csv

unified_jobs_table.csv ファイルは、システムによって実行されるジョブに関する情報を提供します。

各行には、ジョブに関する次のフィールドが含まれます。

  • id: ジョブ ID。
  • name: ジョブ名 (テンプレートから)。
  • polymorphic_ctype_id: ジョブのタイプの ID。
  • model: ジョブの polymorphic_ctype_id の名前。例として、jobworkflow などがあります。
  • organization_id: ジョブの組織 ID。
  • organization_name: organization_id の名前。
  • created: ジョブレコードが作成された日時。
  • starting: ジョブの実行が開始した日時。
  • completed: ジョブが終了した日時。
  • elapsed: ジョブの経過時間 (秒単位)。
  • unified_job_template_id: このジョブのテンプレート。
  • launch_type: manualscheduledrelaunchedscmworkflowdependency のいずれか。
  • schedule_id: ジョブを起動したスケジュールの ID (該当する場合)
  • instance_group_id: ジョブを実行したインスタンスグループ。
  • execution_node: ジョブを実行したノード (UUID ではなくホスト名)。
  • controller_node: ジョブの Automation Controller ノード (分離ジョブとして実行される場合、またはコンテナーグループ内で実行される場合)。
  • cancel_flag: ジョブがキャンセルされたかどうか。
  • status: ジョブのステータス。
  • failed: ジョブが失敗したかどうか。
  • job_explanation: 適切に実行できなかったジョブの追加の詳細。
  • forks: ジョブに対して実行されたフォークの数。

16.2.14. workflow_job_template_node_table.csv

workflow_job_template_node_table.csv は、システムのワークフロージョブテンプレートで定義されるノードの情報を提供します。

各行には、ワークフローのジョブテンプレートノードに以下のフィールドが含まれます。

  • id: ノード ID。
  • created: ノードが作成された日時。
  • modified: ノードが最後に更新された日時。
  • unified_job_template_id: このノードのジョブテンプレート、プロジェクト、インベントリー、またはその他の親リソースの ID。
  • workflow_job_template_id: このノードを含むワークフローのジョブテンプレート。
  • inventory_id: このノードによって使用されるインベントリー。
  • success_nodes: このノードが成功した後にトリガーされるノード。
  • failure_nodes: このノードが失敗した後にトリガーされるノード。
  • always_nodes: このノードの終了後に常にトリガーされるノード。
  • all_parents_must_converge: このノードを起動するためにすべての親条件が満たされる必要があるかどうか。

16.2.15. workflow_job_node_table.csv

workflow_job_node_table.csv は、システム上のワークフローの一部として実行されたジョブに関する情報を提供します。

各行には、ワークフローの一部として実行されるジョブに次のフィールドが含まれています。

  • id: ノード ID。
  • created: ノードが作成された日時。
  • modified: ノードが最後に更新された日時。
  • job_id: このノードで実行されるジョブのジョブ ID。
  • unified_job_template_id: このノードのジョブテンプレート、プロジェクト、インベントリー、またはその他の親リソースの ID。
  • workflow_job_template_id: このノードを含むワークフローのジョブテンプレート。
  • inventory_id: このノードによって使用されるインベントリー。
  • success_nodes: このノードが成功した後にトリガーされるノード。
  • failure_nodes: このノードが失敗した後にトリガーされるノード。
  • always_nodes: このノードの終了後に常にトリガーされるノード。
  • do_not_run: 開始条件がトリガーされなかったためにワークフローで実行されなかったノード。
  • all_parents_must_converge: このノードを起動するためにすべての親条件が満たされる必要があるかどうか。

16.2.16. events_table.csv

events_table.csv ファイルは、システム内のすべてのジョブ実行からのすべてのジョブイベントに関する情報を提供します。

各行には、ジョブイベントに関する次のフィールドが含まれます。

  • id: イベント ID。
  • uuid: イベント UUID。
  • created: イベントが作成された日時。
  • parent_uuid: このイベントの親 UUID (存在する場合)。
  • event: Ansible イベントタイプ。
  • task_action: このイベントに関連付けられたモジュール (存在する場合) (commandyum など)。
  • failed: イベントが failed を返したかどうか。
  • changed: イベントが changed を返したかどうか。
  • playbook: イベントに関連付けられた Playbook。
  • play: Playbook のプレイ名。
  • task: Playbook のタスク名。
  • role: Playbook のロール名。
  • job_id: このイベントが発生したジョブの ID。
  • host_id: このイベントが関連付けられているホストの ID (存在する場合)。
  • host_name: このイベントが関連付けられているホストの名前 (存在する場合)。
  • start: タスクの開始時刻。
  • end: タスクの終了時刻。
  • duration: タスクの期間。
  • warnings: タスクまたはモジュールからの警告。
  • deprecations: タスクまたはモジュールからの非推奨の警告。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.