第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 の設定

Red Hat Enterprise Linux システムで metrics-utility を設定して、Automation Controller の使用状況メトリクスを収集および報告できます。

前提条件

  • 有効な 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 は、OpenShift Container Platform クラスターからメトリクスを収集し、Automation Controller インスタンスに報告するコマンドラインツールです。

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 を作成する方法を説明します。

設定データを含む 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 の cronjob が組み込まれています。

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 ツールは、Ansible Automation Platform インストールのパフォーマンスメトリクスとレポートを生成します。

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

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

  1. インベントリーファイルで metrics-utility を有効化および設定します。
  2. metrics-utility 設定を適用します。
  3. systemctl タイマーを確認します。
  4. データ収集を確認する。
  5. 生成されたレポートを見つけます。
注記

有効な 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 の有効化および設定

Ansible Automation Platform インベントリーファイルを変更して、メトリクスユーティリティーを有効にして設定し ます。

手順

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

    metrics_utility_enabled=true
    Copy to Clipboard Toggle word wrap

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

  2. metrics_utility_extra_settings 変数を追加してレポートパラメーターを設定します。この変数は、レポートの保存場所、それらに含まれる内容、およびその他のメタデータを制御します。

    metrics_utility_extra_settings=[
    {"setting": "METRICS_UTILITY_SHIP_TARGET", "value": "directory"},
    {"setting": "METRICS_UTILITY_SHIP_PATH", "value": "~/aap/controller/data/metrics/"},
    {"setting": "METRICS_UTILITY_REPORT_TYPE", "value": "CCSPv2"},
    {"setting": "METRICS_UTILITY_PRICE_PER_NODE", "value": "100"},
    {"setting": "METRICS_UTILITY_REPORT_COMPANY_NAME", "value": "My Company Inc"},
    {"setting": "METRICS_UTILITY_REPORT_EMAIL", "value": "admin@mycompany.com"},
    {"setting": "METRICS_UTILITY_REPORT_SKU", "value": "MCT3752MO"}]
    Copy to Clipboard Toggle word wrap
  3. オプション:以下の変数を systemd タイマー 式に追加して、デフォルトのデータ収集スケジュールをオーバーライドします。

    注記

    systemd タイマー 式は cron 式とは異なります。

    # Gathers data every 30 minutes
    metrics_utility_cronjob_gather_schedule=*:0/30
    # Generates the report at midnight on the 2nd of the month
    metrics_utility_cronjob_report_schedule=*-*-02 00:00:00
    Copy to Clipboard Toggle word wrap

12.1.3.2. metrics-utility 設定の適用

新規インストールで metrics-utility を実行している場合は、設定を適用するために追加のアクションを実行する必要はありません。

metrics-utility 設定を既存のデプロイメントに適用する場合は、Ansible Automation Platform インストーラースクリプトを再実行する必要があります。スクリプトを再実行すると、更新されたインベントリーファイルを読み取り、Automation-controller-metrics-utility コンテナーをデプロイし、データ収集とレポートを自動化するために必要な systemd ユーザーサービスとタイマーを作成します。以下の検証手順を使用して、metrics-utility 設定が適用され、正しく実行されていることを確認します。

  • systemctl タイマーを確認します。
  • データ収集を確認する。
  • 生成されたレポートを見つけます。

検証

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

    systemctl --user list-timers --no-pager | grep metrics-utility
    Copy to Clipboard Toggle word wrap

    出力例:

    Wed 2025-08-13 10:45:00 IST 8min left Wed 2025-08-13 10:30:04 IST 6min ago   metrics-utility-build-report.timer metrics-utility-build-report.service
    Wed 2025-08-13 10:45:00 IST 8min left Wed 2025-08-13 10:30:04 IST 6min ago   metrics-utility-gather.timer   	metrics-utility-gather.service
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを使用して、実行中のサービスの出力ログを調べて、データ収集を確認します。

    systemctl --user status metrics-utility-gather.service
    Copy to Clipboard Toggle word wrap

    出力例:

    metrics-utility-gather.service - Podman metrics-utility-gather.service
     	Loaded: loaded (/home/aap/.config/systemd/user/metrics-utility-gather.service; disabled; preset: disabled)
     	Active: inactive (dead) since Wed 2025-08-13 10:00:06 IST; 5min ago
       Duration: 2.008s
    TriggeredBy: ● metrics-utility-gather.timer
       	Docs: man:podman-generate-systemd(1)
    	Process: 1472847 ExecStart=/usr/bin/podman start metrics-utility-gather (code=exited, status=0/SUCCESS)
    	Process: 1472927 ExecStop=/usr/bin/podman stop -t 10 metrics-utility-gather (code=exited, status=0/SUCCESS)
    	Process: 1472937 ExecStopPost=/usr/bin/podman stop -t 10 metrics-utility-gather (code=exited, status=0/SUCCESS)
       Main PID: 1472874 (code=exited, status=0/SUCCESS)
        	CPU: 197ms
    
    Aug 13 10:00:04 aap.example.org podman[1472847]: metrics-utility-gather
    Aug 13 10:00:04 aap.example.org systemd[993]: Started Podman metrics-utility-gather.service.
    Aug 13 10:00:05 aap.example.org metrics-utility-gather[1472874]: 2025-08-13 09:00:05,806 INFO 	[-] awx.main.analytics /tmp/3292ca44-3314-4f>
    Aug 13 10:00:05 aap.example.org metrics-utility-gather[1472874]: /tmp/3292ca44-3314-4f0b-b3f6-ba4a1e47a2b1-2025-08-13-083505+0000-2025-08-13-0>
    Aug 13 10:00:05 aap.example.org metrics-utility-gather[1472874]: 2025-08-13 09:00:05,808 INFO 	[-] awx.main.analytics /tmp/3292ca44-3314-4f>
    Aug 13 10:00:05 aap.example.org metrics-utility-gather[1472874]: /tmp/3292ca44-3314-4f0b-b3f6-ba4a1e47a2b1-2025-08-13-083505+0000-2025-08-13-0>
    Aug 13 10:00:06 aap.example.org podman[1472912]: 2025-08-13 10:00:06.169271763 +0100 IST m=+0.019922418 container died 5dc8d5674f1d1745258530f>
    Aug 13 10:00:06 aap.example.org podman[1472912]: 2025-08-13 10:00:06.187584135 +0100 IST m=+0.038234790 container cleanup 5dc8d5674f1d17452585>
    Aug 13 10:00:06 aap.example.org podman[1472927]: metrics-utility-gather
    Aug 13 10:00:06 aap.example.org podman[1472937]: metrics-utility-gather
    Copy to Clipboard Toggle word wrap
  3. 生成されたレポートを見つけます。レポートは、METRICS_UTILITY_SHIP_PATH 設定で指定したディレクトリーに保存されます。

    • path: このドキュメントで指定されている例を使用すると、レポートパスは /aap/controller/data/metrics/ になります。
    • filename: レポート名は CCSP-<YEAR>-<MONTH>.xlsx の形式に従います。たとえば、2025 用に生成されたレポートの名前は CCSP-2025-08.xlsx になります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat