Red Hat Ansible Inside レポートガイド
Red Hat Inside のレポートについて
概要
Red Hat ドキュメントへのフィードバック (英語のみ)
このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com から Technical Support チームに連絡してください。
第1章 Red Hat Ansible Inside のレポート
Red Hat Ansible Inside のサブスクリプション要件に準拠するには、自動化の使用状況に関するメトリクスファイルを Red Hat に送信する必要があります。このガイドでは、収集されるデータ、その収集の実装方法、データを Red Hat に返す方法について説明します。
1.1. メトリクスのレポートについて
Ansible Inside は、自動化ジョブに関する使用状況概要データを保存します。Red Hat はこのデータを使用して、製品の改善と新機能のどこに注力すべきかを特定します。
自動化ジョブが完了すると、メトリクスが収集され、ジョブに関する次の情報が保存されます。
- 自動化ジョブのタイプ、期間、および時間。
- ジョブで使用されるコレクションとロールの名前、およびそれらが使用された回数。
- インストール、更新、失敗、およびスキップされたノードの数。
- ジョブ中に発生したイベント。
Red Hat は、IP アドレス、場所、ユーザーの詳細、またはオペレーティングシステムの仕様などの個人情報 (PII) を収集しません。
次のアーキテクチャー図は、Red Hat に送信できるように、Python アプリケーションの外部にある永続データストレージにデータを保存する方法を示しています。

1.2. メトリクスファイルについて
メトリクスデータは、tarball ファイルにバンドルされています。ジョブごとに個別のファイルが生成されます。ファイルは暗号化されておらず、ファイルの内容は表示できます。
各 tarball ファイルには、次のような暗号化なしの CSV ファイルが含まれています。
-
jobs.csv
には、自動化ジョブの期間とステータス、実行されたタスクの数、およびジョブの影響を受けたホストの数が記録されます。 -
modules.csv
には、モジュール名、タスク数、および期間が記録されます。 -
collections.csv
には、コレクション名、タスク数、および期間が記録されます。 -
roles.csv
には、ロール名、タスク数、および期間が記録されます。 -
playbook_on_stats.csv
には、イベント ID とデータが記録されます。
第2章 メトリクスファイルの場所
Red Hat へのメトリクスのレポートは必須です。Ansible SDK をインストールすると、自動化ジョブのログメトリクスが自動的に有効になります。無効にすることはできません。
自動化ジョブが実行されるたびに、新しい tarball が作成されます。ユーザーは、ストレージの場所からデータを消去し、ディレクトリーのサイズを監視する責任があります。
Playbook を実行する各 Python ファイルのメトリクスの保存場所をカスタマイズすることも、デフォルトの場所を使用することもできます。
2.1. メトリクスファイルのデフォルトの場所
Ansible SDK をインストールすると、デフォルトのメトリクスの保存場所が ~/.ansible/metrics
ディレクトリーに設定されます。
自動化ジョブが完了すると、メトリクスがディレクトリー内の tarball に書き込まれます。ディレクトリーが存在しない場合、Ansible SDK はディレクトリーを作成します。
2.2. メトリクスの保存場所のカスタマイズ
Playbook を実行する Python ファイルに、メトリクスファイルの保存ディレクトリーへのパスを指定できます。
Python 自動化ジョブファイルごとに異なるディレクトリーパスを設定することも、複数のジョブの tarball を 1 つのディレクトリーに格納することもできます。Python ファイルでパスを設定しない場合、実行するジョブの tarball はデフォルトディレクトリー (~/.ansible/metrics
) に保存されます。
手順
- メトリクスデータを保存するファイルシステム上の場所を決定します。場所が読み取りおよび書き込み可能であることを確認してください。ディレクトリーが存在しない場合、Ansible SDK はディレクトリーを作成します。
Python ファイルの
main()
関数のjob_options
で、metrics_output_path
パラメーターを、tarball を保存するディレクトリーに設定します。次の例では、
pb.yml
Playbook が実行された後、メトリクスファイルが/tmp/metrics
ディレクトリーに保存されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow async def main(): executor = AnsibleSubprocessJobExecutor() executor_options = AnsibleSubprocessJobOptions() job_options = { 'playbook': 'pb.yml', # Change the default job-related data path 'metrics_output_path': '/tmp/metrics', }
async def main(): executor = AnsibleSubprocessJobExecutor() executor_options = AnsibleSubprocessJobOptions() job_options = { 'playbook': 'pb.yml', # Change the default job-related data path 'metrics_output_path': '/tmp/metrics', }
2.3. メトリクスファイルの表示
自動化ジョブが完了したら、データを保存するために指定したディレクトリーに移動し、ファイルを一覧表示します。
新しく完了したジョブのデータは、名前が自動化ジョブの実行日時で始まる tarball ファイルに含まれています。たとえば、次のファイルは、2023 年 3 月 8 日の午前 2 時 30 分に実行された自動化ジョブのデータを記録します。
ls
$ ls
2023_03_08_02_30_24__aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa_job_data.tar.gz
tarball 内のファイルを表示するには、tar xvf
を実行します。
tar xvf 2023_03_08_02_30_24__aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa_job_data.tar.gz
$ tar xvf 2023_03_08_02_30_24__aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa_job_data.tar.gz
x jobs.csv
x modules.csv
x collections.csv
x roles.csv
x playbook_on_stats.csv
次の例は jobs.csv
ファイルを示しています。
cat jobs.csv job_id,job_type,started,finished,job_state,hosts_ok,hosts_changed,hosts_skipped,hosts_failed,hosts_unreachable,task_count,task_duration 84896567-a586-4215-a914-7503010ef281,local,2023-03-08 02:30:22.440045,2023-03-08 02:30:24.316458,,5,0,0,0,0,2,0:00:01.876413
$ cat jobs.csv
job_id,job_type,started,finished,job_state,hosts_ok,hosts_changed,hosts_skipped,hosts_failed,hosts_unreachable,task_count,task_duration
84896567-a586-4215-a914-7503010ef281,local,2023-03-08 02:30:22.440045,2023-03-08 02:30:24.316458,,5,0,0,0,0,2,0:00:01.876413
パラメーターの値が使用できない場合、CSV ファイルの対応するエントリーが空になります。上記の jobs.csv
ファイルでは、job_state
値は使用できません。
第3章 Red Hat へのデータのレポート
サブスクリプション契約では、会計処理用に .tar
ファイルを Red Hat に送信する必要があります。Red Hat パートナーの担当者が、Red Hat にファイルを送信する方法について説明します。