第12章 metrics-utility による使用状況レポート


Ansible Automation Platform メトリクスユーティリティーツール (metrics-utility) は、Automation Controller のインスタンスを含むシステムにインストールされるコマンドラインユーティリティーです。

metrics-utility は、インストールおよび設定されると、システムから請求関連のメトリクスを収集し、消費量に基づく請求レポートを作成します。metrics-utility ツールは、管理対象ホストが複数あり、消費量ベースの請求を使用するユーザーに特に適しています。レポートが生成されると、設定ファイルで指定した保存先の場所に保存されます。

metrics-utility は、システムから設定データとレポートデータの 2 種類のデータを収集します。

設定データには次の情報が含まれます。

  • Automation Controller とオペレーティングシステムのバージョン情報
  • サブスクリプション情報
  • ベース URL

レポートデータには次の情報が含まれます。

  • ジョブ名と ID
  • ホスト名
  • インベントリー名
  • 組織名
  • プロジェクト名
  • 成功または失敗に関する情報
  • レポート日時

metrics-utility が設定どおりに動作し続けるように、レポートディレクトリーから古いレポートを定期的に消去してください。

12.1. metrics-utility の設定

Red Hat Enterprise Linux と OpenShift Container Platform の両方で、Ansible Automation Platform の使用状況データを収集して報告するように metrics-utility を設定します。

12.1.1. Red Hat Enterprise Linux の metrics-utility の設定

前提条件:

  • 有効な Ansible Automation Platform サブスクリプション

metrics-utility は Ansible Automation Platform に含まれているため、別途インストールする必要はありません。次の手順では、関連データを収集し、使用状況メトリクスを含む CCSP レポートを生成します。これらのコマンドを cronjob として設定して毎月初めに実行することができます。cron 構文を使用した設定の詳細は、How to schedule jobs using the Linux 'cron' utility を参照してください。

手順

  1. metrics-utility にすべての関連データを収集させるための正しい変数を設定するために、ユーザーのホームディレクトリー内に次の 2 つのスクリプトを作成します。

    1. /home/my-user/cron-gather 内:

      #!/bin/sh
      
      # Specify the following variables to indicate where the report is deposited in your file system
      export METRICS_UTILITY_SHIP_TARGET=directory
      export METRICS_UTILITY_SHIP_PATH=/awx_devel/awx-dev/metrics-utility/shipped_data/billing
      
      # Run the following command to gather and store the data in the provided SHIP_PATH directory:
      metrics-utility gather_automation_controller_billing_data --ship --until=10m
      Copy to Clipboard Toggle word wrap
    2. /home/my-user/cron-report 内:

      #!/bin/sh
      
      # Specify the following variables to indicate where the report is deposited in your file system
      export METRICS_UTILITY_SHIP_TARGET=directory
      export METRICS_UTILITY_SHIP_PATH=/awx_devel/awx-dev/metrics-utility/shipped_data/billing
      
      # Set these variables to generate a report:
      export METRICS_UTILITY_REPORT_TYPE=CCSPv2
      export METRICS_UTILITY_PRICE_PER_NODE=11.55 # in USD
      export METRICS_UTILITY_REPORT_SKU=MCT3752MO
      export METRICS_UTILITY_REPORT_SKU_DESCRIPTION="EX: Red Hat Ansible Automation Platform, Full Support (1 Managed Node, Dedicated, Monthly)"
      export METRICS_UTILITY_REPORT_H1_HEADING="CCSP Reporting <Company>: ANSIBLE Consumption"
      export METRICS_UTILITY_REPORT_COMPANY_NAME="Company Name"
      export METRICS_UTILITY_REPORT_EMAIL="email@email.com"
      export METRICS_UTILITY_REPORT_RHN_LOGIN="test_login"
      export METRICS_UTILITY_REPORT_COMPANY_BUSINESS_LEADER="BUSINESS LEADER"
      export METRICS_UTILITY_REPORT_COMPANY_PROCUREMENT_LEADER="PROCUREMENT LEADER"
      
      # Build the report
      metrics-utility build_report
      Copy to Clipboard Toggle word wrap
  2. これらのファイルを実行可能にするために、次のコマンドを実行します。

    chmod a+x /home/my-user/cron-gather /home/my-user/cron-report

  3. cron ファイルを開いて編集するために、次のコマンドを実行します。

    crontab -e

  4. 実行スケジュールを設定するために、ファイルの末尾に次のパラメーターを追加し、metrics-utility によって情報を収集してレポートを作成する頻度を cron 構文 を使用して指定します。次の例では、gather コマンドは毎時 00 分に実行されるように設定されています。build_report コマンドは、毎月 2 日の午前 4 時に実行されるように設定されています。

    0 */1 * * * /home/my-user/cron-gather

    0 4 2 * * /home/my-user/cron-report

  5. ファイルを保存してから閉じます。

検証

正しい設定を確認するには、次の検証手順を使用します。

  1. cron ジョブのエントリーが正しく保存されたことを確認するには、次のコマンドを実行します。

    crontab -l
    Copy to Clipboard Toggle word wrap
  2. cron ログを調べて、cron デーモンがコマンドを実行し、metrics-utility が出力を生成していることを確認します。

    cat /var/log/cron
    Copy to Clipboard Toggle word wrap

    参考までに、次の出力例を参照してください。

    May  8 09:45:03 ip-10-0-6-23 CROND[51623]: (root) CMDOUT (No billing data for month: 2024-04)
    May  8 09:45:03 ip-10-0-6-23 CROND[51623]: (root) CMDEND (metrics-utility build_report)
    May  8 09:45:19 ip-10-0-6-23 crontab[51619]: (root) END EDIT (root)
    May  8 09:45:34 ip-10-0-6-23 crontab[51659]: (root) BEGIN EDIT (root)
    May  8 09:46:01 ip-10-0-6-23 CROND[51688]: (root) CMD (metrics-utility gather_automation_controller_billing_data --ship --until=10m)
    May  8 09:46:03 ip-10-0-6-23 CROND[51669]: (root) CMDOUT (/tmp/9e3f86ee-c92e-4b05-8217-72c496e6ffd9-2024-05-08-093402+0000-2024-05-08-093602+0000-0.tar.gz)
    May  8 09:46:03 ip-10-0-6-23 CROND[51669]: (root) CMDEND (metrics-utility gather_automation_controller_billing_data --ship --until=10m)
    May  8 09:46:26 ip-10-0-6-23 crontab[51659]: (root) END EDIT (root)
    Copy to Clipboard Toggle word wrap

    生成されたレポートには、CCSP-<YEAR>-<MONTH>.xlsx というデフォルトの名前が付けられます。レポートはステップ 1a で指定した送信先パスに保存されます。

注記

時間と日付は、実行スケジュールの設定方法に応じて異なる場合があります。

12.1.2. Ansible Automation Platform Operator から OpenShift Container Platform の metrics-utility を設定する

metrics-utility は、バージョン 4.12、4.512、および 4.6 以降の OpenShift Container Platform イメージに含まれています。システムに metrics-utility がインストールされていない場合は、OpenShift イメージを最新バージョンに更新してください。

Ansible Automation Platform Operator を使用して OpenShift Container Platform で metrics-utility の実行スケジュールを設定するには、次の手順を実行します。

12.1.2.1. OpenShift UI の YAML ビューで ConfigMap を作成する

設定データを含む metrics-utility cronjobs を注入するには、次の手順に従って、OpenShift UI の YAML ビューで ConfigMap を作成します。

前提条件:

  • 実行中の OpenShift クラスター
  • Operator によって OpenShift Container Platform にインストールされた Ansible Automation Platform
注記

metrics-utility は、設定ファイルで設定したパラメーターに従って実行されます。OpenShift Container Platform では、このユーティリティーを手動で実行することはできません。

手順

  1. ナビゲーションパネルから、ConfigMaps を選択します。
  2. Create ConfigMap をクリックします。
  3. 次の画面で、YAML view タブを選択します。
  4. YAML フィールドに、次のパラメーターを入力して適切な変数を設定します。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: automationcontroller-metrics-utility-configmap
    data:
      METRICS_UTILITY_SHIP_TARGET: directory
      METRICS_UTILITY_SHIP_PATH: /metrics-utility
      METRICS_UTILITY_REPORT_TYPE: CCSPv2
      METRICS_UTILITY_PRICE_PER_NODE: '11' # in USD
      METRICS_UTILITY_REPORT_SKU: MCT3752MO
      METRICS_UTILITY_REPORT_SKU_DESCRIPTION: "EX: Red Hat Ansible Automation Platform, Full Support (1 Managed Node, Dedicated, Monthly)"
      METRICS_UTILITY_REPORT_H1_HEADING: "CCSP Reporting <Company>: ANSIBLE Consumption"
      METRICS_UTILITY_REPORT_COMPANY_NAME: "Company Name"
      METRICS_UTILITY_REPORT_EMAIL: "email@email.com"
      METRICS_UTILITY_REPORT_RHN_LOGIN: "test_login"
      METRICS_UTILITY_REPORT_COMPANY_BUSINESS_LEADER: "BUSINESS LEADER"
      METRICS_UTILITY_REPORT_COMPANY_PROCUREMENT_LEADER: "PROCUREMENT LEADER"
    Copy to Clipboard Toggle word wrap
  5. Create をクリックします。

検証

  • ConfigMap が作成され、metrics-utility がインストールされていることを確認するために、ナビゲーションパネルから ConfigMap を選択し、リストで ConfigMap を探します。

12.1.2.2. Automation Controller のデプロイ

Automation Controller をデプロイし、metrics-utility によって使用状況情報を収集してレポートを生成する頻度を表す変数を指定するには、次の手順を使用します。

手順

  1. ナビゲーションパネルから、Installed Operators を選択します。
  2. Ansible Automation Platform を選択します。
  3. Operator の詳細で、Automation Controller タブを選択します。
  4. Create automation controller をクリックします。
  5. YAML view オプションを選択します。YAML に Automation Controller のデフォルトパラメーターが表示されます。metrics-utility に関連するパラメーターは次のとおりです。

    Expand
    パラメーター変数

    metrics_utility_enabled

    True

    metrics_utility_cronjob_gather_schedule

    @hourly または @daily

    metrics_utility_cronjob_report_schedule

    @daily または @monthly

  6. metrics_utility_enabled パラメーターを見つけて、変数を true に変更します。
  7. metrics_utility_cronjob_gather_schedule パラメーターを見つけて、ユーティリティーによって使用状況情報を収集する頻度を表す変数を入力します (たとえば、@hourly または @daily)。
  8. metrics_utility_cronjob_report_schedule パラメーターを見つけて、ユーティリティーによってレポートを生成する頻度を表す変数を入力します (たとえば、@daily または @monthly)。
  9. Create をクリックします。

12.1.3. Ansible Automation Platform の手動コンテナー化インストールで metrics-utility を設定する

metrics-utility は、バージョン 4.12、4.512、および 4.6 以降の OpenShift Container Platform イメージに含まれています。システムに metrics-utility がインストールされていない場合は、OpenShift イメージを最新バージョンに更新してください。

Ansible Automation Platform Operator を使用して OpenShift Container Platform で metrics-utility の実行スケジュールを設定するには、次の手順を実行します。

Ansible Automation Platform の手動コンテナー化インストールで metrics-utility を設定するには、次の手順に従います。

  1. ホストディレクトリーとスクリプトを準備します。
  2. スクリプトを実行可能にします。
  3. cron ジョブを設定します。

前提条件

  • 有効な Ansible Automation Platform サブスクリプション

最小リソース要件

Ansible Automation Platform のコンテナー化されたインストールで metrics-utility ツールを使用するには、次のリソースが必要です。

  • CPU: 専用 CPU コア 1 個

    • 実行中は 1 コアの 100% が使用されます。
  • メモリー:

    • 最小: 256 MB RAM (最大約 10,000 件のジョブホストサマリーをサポート)
    • 推奨: 512 MB RAM (標準デプロイメント)
    • 大規模: 1 GB RAM (最大約 100,000 件のジョブホストサマリーをサポート)

      注記

      メモリー要件は、処理されるホストとジョブの数に応じて変化します。

  • 実行時間: レポート生成は、データ量に応じて通常 10 - 30 秒以内に完了します。

12.1.3.1. ホストディレクトリーとスクリプトの準備

ホストディレクトリーとスクリプトを準備するには、実行中のコンテナー内で metrics-utility コマンドを実行するための 2 つのシェルスクリプトをホストマシンに作成します。

手順

  1. インベントリーファイルを変更して、[all:vars] セクションの下に次の行を追加し、metrics-utility コンテナーのデプロイメントを有効にします。

    metrics_utility_enabled=true
    Copy to Clipboard Toggle word wrap

    この設定は、Ansible Automation Platform デプロイメントの一部として専用の automation-controller-metrics-utility コンテナーを作成して設定するようにインストーラーに指示します。この行を、他のグローバル変数と一緒に、インベントリーファイルの [all:vars] ヘッダーの下に必ず配置してください。Ansible Automation Platform のデプロイメントがすでに設定されている場合は、インストーラースクリプトを再実行してコンテナーをアクティブ化します。

  2. 次のコマンドを実行して、ホストレポートの保存先ディレクトリーを作成します。

    mkdir -p /home/my-user/aap/controller/data/
    Copy to Clipboard Toggle word wrap

    ホストマシン上のこのディレクトリーには、最終的に生成されたレポートが保存されます。

  3. /home/my-user/cron-gather という名前のファイルを作成し (/home/my-user/ を目的のパスに置き換えます)、次のコンテンツを追加して cron-gather スクリプトを作成します。

    #!/bin/sh
    
    # Specify the following variables to indicate where the report is deposited in your file system
    export METRICS_UTILITY_SHIP_TARGET=directory
    export METRICS_UTILITY_SHIP_PATH=/metrics_utility/data
    
    # Run metrics-utility inside the running container
    podman exec \
      -e METRICS_UTILITY_SHIP_TARGET="$METRICS_UTILITY_SHIP_TARGET" \
      -e METRICS_UTILITY_SHIP_PATH="$METRICS_UTILITY_SHIP_PATH" \
      automation-controller-task \
      metrics-utility gather_automation_controller_billing_data --ship --until=10m
    Copy to Clipboard Toggle word wrap

    このスクリプトは metrics-utility を実行して、Ansible Automation Platform インスタンスから課金データを収集し、コンテナー内に一時的に保存します。

  4. /home/my-user/cron-report という名前のファイルを作成し (/home/my-user/ を目的のパスに置き換えます)、次のコンテンツを追加して cron-report スクリプトを作成します。

    #!/bin/sh
    
    # --- Configuration Variables ---
    # Define variables for the metrics utility parameters
    export METRICS_UTILITY_SHIP_TARGET="directory"
    export METRICS_UTILITY_SHIP_PATH="/metrics_utility/data" # This is the *internal* path in the container
    export METRICS_UTILITY_REPORT_TYPE="CCSPv2"
    export METRICS_UTILITY_PRICE_PER_NODE="11.55"
    export METRICS_UTILITY_REPORT_SKU="MCT3752MO"
    export METRICS_UTILITY_REPORT_SKU_DESCRIPTION="EX: Red Hat {PlatformNameShort}, Full Support (1 Managed Node, Dedicated, Monthly)"
    export METRICS_UTILITY_REPORT_H1_HEADING="CCSP Reporting <Company>: ANSIBLE Consumption"
    export METRICS_UTILITY_REPORT_COMPANY_NAME="Company Name"
    export METRICS_UTILITY_REPORT_EMAIL="email@email.com"
    export METRICS_UTILITY_REPORT_RHN_LOGIN="test_login"
    export METRICS_UTILITY_REPORT_COMPANY_BUSINESS_LEADER="BUSINESS LEADER"
    export METRICS_UTILITY_REPORT_COMPANY_PROCUREMENT_LEADER="PROCUREMENT LEADER"
    
    podman exec \
      -e METRICS_UTILITY_SHIP_TARGET="$METRICS_UTILITY_SHIP_TARGET" \
      -e METRICS_UTILITY_SHIP_PATH="$METRICS_UTILITY_SHIP_PATH" \
      -e METRICS_UTILITY_REPORT_TYPE="$METRICS_UTILITY_REPORT_TYPE" \
      -e METRICS_UTILITY_PRICE_PER_NODE="$METRICS_UTILITY_PRICE_PER_NODE" \
      -e METRICS_UTILITY_REPORT_SKU="$METRICS_UTILITY_REPORT_SKU" \
      -e METRICS_UTILITY_REPORT_SKU_DESCRIPTION="$METRICS_UTILITY_REPORT_SKU_DESCRIPTION" \
      -e METRICS_UTILITY_REPORT_H1_HEADING="$METRICS_UTILITY_REPORT_H1_HEADING" \
      -e METRICS_UTILITY_REPORT_COMPANY_NAME="$METRICS_UTILITY_REPORT_COMPANY_NAME" \
      -e METRICS_UTILITY_REPORT_EMAIL="$METRICS_UTILITY_REPORT_EMAIL" \
      -e METRICS_UTILITY_REPORT_RHN_LOGIN="$METRICS_UTILITY_REPORT_RHN_LOGIN" \
      -e METRICS_UTILITY_REPORT_COMPANY_BUSINESS_LEADER="$METRICS_UTILITY_REPORT_COMPANY_BUSINESS_LEADER" \
      -e METRICS_UTILITY_REPORT_COMPANY_PROCUREMENT_LEADER="$METRICS_UTILITY_REPORT_COMPANY_PROCUREMENT_LEADER" \
      "automation-controller-metrics-utility" \
      metrics-utility build_report
    Copy to Clipboard Toggle word wrap

    このスクリプト METRICS_UTILITY_REPORT_SKU_DESCRIPTION metrics-utility は、収集されたデータからレポートを作成し、最終レポートをコンテナーから指定されたホストディレクトリーにコピーします。

12.1.3.2. スクリプトを実行可能にする

次の手順を使用して、作成した両方のスクリプトが実行可能であることを確認します。

手順

  1. 以下のコマンドを実行します。

    chmod a+x /home/my-user/cron-gather /home/my-user/cron-report
    Copy to Clipboard Toggle word wrap
    注記

    /home/my-user/ は実際のパスに置き換えます。

12.1.3.3. cron ジョブの設定

以下の手順を使用して、metrics-utility コマンドが自動的に実行されるように cron を設定します。

手順

  1. cron ファイルを開いて編集します。

    crontab -e
    Copy to Clipboard Toggle word wrap
  2. cron スケジュールエントリーを追加するには、crontab ファイルの末尾に次の行を追加します。

    0 */1 * * * /home/my-user/cron-gather
    0 4 2 * * /home/my-user/cron-report
    Copy to Clipboard Toggle word wrap

    これらの例では、gather コマンドを毎時 0 分に実行するように設定し、build_report コマンドを毎月 2 日の午前 4 時に実行するように設定しています。

  3. 希望するスケジュールに合わせて、必要に応じて cron 構文を調整します。以下に例を示します。

    1. 0 */1 * * *: 毎時 0 分に実行されます。
    2. 0 4 2 * *: 2 日の 04:00 に実行されます。
  4. ファイルを保存してから閉じます。

検証

正しい設定を確認するには、次の検証手順を使用します。

  1. cron ジョブのエントリーが正しく保存されたことを確認するには、次のコマンドを実行します。

    crontab -l
    Copy to Clipboard Toggle word wrap

    cron ジョブのエントリーが正しく保存されている場合は、cron-gathercron-report に追加した 2 行が表示されます。

  2. cron ログを調べて、cron デーモンがコマンドを実行しているかどうか、および metrics-utility が出力を生成しているかどうかを確認します。

    cat /var/log/cron
    Copy to Clipboard Toggle word wrap

    参考までに、次の出力例を参照してください。

    # Example Output:
    
    Aug 20 09:55:01 aap CROND[72746]: (aap) CMD (/home/aap/Documents/scripts/cron-gather)
    Aug 20 09:55:03 aap CROND[72744]: (aap) CMDOUT (2025-08-20 08:55:03,581 INFO     [-] awx.main.analytics /tmp/3292ca44-3314-4f0b-b3f6-ba4a1e47a2b1-2025-08-20-083506+0000-2025-08-20-084503+0000-0.tar.gz)
    Aug 20 09:55:03 aap CROND[72744]: (aap) CMDOUT (/tmp/3292ca44-3314-4f0b-b3f6-ba4a1e47a2b1-2025-08-20-083506+0000-2025-08-20-084503+0000-0.tar.gz)
    Aug 20 09:55:03 aap CROND[72744]: (aap) CMDOUT (2025-08-20 08:55:03,581 INFO     [-] awx.main.analytics /tmp/3292ca44-3314-4f0b-b3f6-ba4a1e47a2b1-2025-08-20-083506+0000-2025-08-20-084503+0000-1.tar.gz)
    Aug 20 09:55:03 aap CROND[72744]: (aap) CMDOUT (/tmp/3292ca44-3314-4f0b-b3f6-ba4a1e47a2b1-2025-08-20-083506+0000-2025-08-20-084503+0000-1.tar.gz)
    Aug 20 09:55:03 aap CROND[72744]: (aap) CMDEND (/home/aap/Documents/scripts/cron-gather)
    Aug 20 10:00:02 aap CROND[77629]: (aap) CMD (/home/aap/Documents/scripts/cron-report)
    Aug 20 10:00:02 aap CROND[77623]: (aap) CMDOUT (Generating metrics report inside the container...)
    Aug 20 10:00:04 aap CROND[77623]: (aap) CMDOUT (2025-08-20 09:00:04,639 INFO     [-] awx.main.analytics No billing data for month 2025-07)
    Aug 20 10:00:04 aap CROND[77623]: (aap) CMDOUT (No billing data for month 2025-07)
    Aug 20 10:00:05 aap CROND[77623]: (aap) CMDOUT (Copying generated reports from container to host: /tmp/ansible_metrics_reports)
    Aug 20 10:00:05 aap CROND[77623]: (aap) CMDOUT (Reports successfully moved to: /tmp/ansible_metrics_reports)
    Aug 20 10:00:05 aap CROND[77623]: (aap) CMDOUT (Files in destination:)
    Aug 20 10:00:05 aap CROND[77623]: (aap) CMDOUT (total 0)
    Aug 20 10:00:05 aap CROND[77623]: (aap) CMDOUT (drwxr-xr-x. 3 aap aap 18 Aug 20 09:43 data)
    Aug 20 10:00:05 aap CROND[77623]: (aap) CMDEND (/home/aap/Documents/scripts/cron-report)
    Copy to Clipboard Toggle word wrap
  3. 生成されたレポートを見つけます。

    • 生成されたレポートのデフォルトの名前の形式は CCSP-<YEAR>-<MONTH>.xlsx (例: CCSP-2024-07.xlsx) です。レポートは、手順 2 で指定した接頭辞付きパス (例: /home/my-user/aap/controller/data/metrics_utility/data) を持つ METRICS_UTILITY_SHIP_PATH に保存されます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat