第10章 サブスクリプションの消費
Ansible Automation Platform メトリクスユーティリティーツール (metrics-utility
) は、Automation Controller のインスタンスを含むシステムにインストールされるコマンドラインユーティリティーです。
metrics-utility
は、インストールおよび設定されると、システムから請求関連のメトリクスを収集し、消費量に基づく請求レポートを作成します。metrics-utility は、管理対象ホストが複数あり、消費量ベースの請求を使用するユーザーに特に適しています。レポートが生成されると、設定ファイルで指定した保存先の場所に保存されます。
metrics-utility は、システムから設定データとレポートデータの 2 種類のデータを収集します。
設定データには次の情報が含まれます。
- Automation Controller とオペレーティングシステムのバージョン情報
- サブスクリプション情報
- ベース URL
レポートデータには次の情報が含まれます。
- ジョブ名と ID
- ホスト名
- インベントリー名
- 組織名
- プロジェクト名
- 成功または失敗に関する情報
- レポート日時
metrics-utility
が設定どおりに動作し続けるように、レポートディレクトリーから古いレポートを定期的に消去してください。
10.1. metrics-utility の設定
10.1.1. Red Hat Enterprise Linux
前提条件:
- 有効な Ansible Automation Platform サブスクリプション
metrics-utility は Ansible Automation Platform に含まれるため、別のインストールは必要ありません。以下のコマンドは、関連データを収集し、使用状況メトリクスを含む CCSP レポートを生成します。これらのコマンドを cronjob として設定して毎月初めに実行することができます。cron 構文を使用した設定の詳細は、How to schedule jobs using the Linux 'cron' utility を参照してください。
手順
cron ファイルで次の変数を設定して、
metrics-utility
が関連データを収集できるようにします。cron ファイルを開いて編集するには、次のコマンドを実行します。crontab -e
以下の変数を指定して、ファイルシステム内のレポートがどこにあるかを示します。
export METRICS_UTILITY_SHIP_TARGET=directory export METRICS_UTILITY_SHIP_PATH=/awx_devel/awx-dev/metrics-utility/shipped_data/billing
次の変数を設定して、レポートを生成します。
export METRICS_UTILITY_REPORT_TYPE=CCSP 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"
次のパラメーターを追加して、
./report_data
サブディレクトリー内の指定した SHIP_PATH ディレクトリーにデータを収集して保存します。metrics-utility gather_automation_controller_billing_data --ship --until=10m
実行スケジュールを設定するには、ファイルの末尾に次のパラメーターを追加し、
metrics-utility
によって情報を収集してレポートを作成する頻度を cron 構文 を使用して指定します。以下の例では、gather
コマンドは 1 時間ごとに 00 分で実行されるように設定されています。build_report
コマンドは、毎月午前 2 日の午前 4 時に実行するように設定されています。0 */1 * * * metrics-utility gather_automation_controller_billing_data --ship --until=10m 0 4 2 * * metrics-utility build_report
- ファイルを保存してから閉じます。
変更を保存したことを確認するには、以下を実行します。
crontab -l
ログをチェックして、データが収集されていることを確認することもできます。以下を実行します。
cat /var/log/cron
以下は出力の例です。日時は、実行スケジュールをどのように設定するかによって異なる可能性があることに注意してください。
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)
次のコマンドを実行して、前月のレポートを作成します。
metrics-utility build_report
生成されたレポートには、CCSP-<YEAR>-<MONTH>.xlsx というデフォルトの名前が付けられ、ステップ 2 で指定した送信先パスに保存されます。
10.1.2. OpenShift Container Platform の場合 (Ansible Automation Platform Operator を使用)
metrics-utility は、バージョン 4.12 以降の OpenShift Container Platform イメージに含まれています。システムに metrics-utility
がインストールされていない場合は、OpenShift イメージを最新バージョンに更新してください。
Ansible Automation Platform Operator を使用して OpenShift Container Platform 上の metrics-utility
の実行スケジュールを設定するには、以下の手順に従います。
前提条件:
- 実行中の OpenShift クラスター
- Operator によって OpenShift Container Platform にインストールされた Ansible Automation Platform
metrics-utility は、設定ファイルで設定したパラメーターに従って実行されます。このユーティリティーは、OpenShift Container Platform では手動で実行できません。
10.1.2.1. OpenShift UI YAML ビューでの ConfigMap の作成
- 左側のナビゲーションパネルから ConfigMaps を選択し、Create ConfigMap ボタンをクリックします。
- 次の画面で、YAML view タブを選択します。
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: CCSP 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"
- をクリックします。
- ConfigMap が作成され、メトリクスユーティリティーがインストールされていることを確認するために、ナビゲーションパネルから ConfigMap を選択し、リストで ConfigMap を探します。
10.1.2.2. Automation Controller のデプロイ
Automation Controller をデプロイし、metrics-utility
によって使用状況情報を収集してレポートを生成する頻度を表す変数を指定します。
- ナビゲーションパネルから、Installed Operators を選択します。
- Ansible Automation Platform を選択します。
- Operator の詳細で、automation controller タブを選択します。
- * をクリックします。
YAML view オプションを選択します。
YAML
に Automation Controller のデフォルトパラメーターが表示されます。metrics-utility
に関連するパラメーターは次のとおりです。[cols="50%,50%",options="header"] |==== | *Parameter* | *Variable* | *`metrics_utility_enabled`* | True. | *`metrics_utility_cronjob_gather_schedule`* | @hourly or @daily. | *`metrics_utility_cronjob_report_schedule`* | @daily or @monthly. |====
-
metrics_utility_enabled
パラメーターを見つけて、変数をtrue
に変更します。 -
metrics_utility_cronjob_gather_schedule
パラメーターを見つけて、ユーティリティーによって使用状況情報を収集する頻度を表す変数を入力します (たとえば、@hourly または @daily)。 -
metrics_utility_cronjob_report_schedule
パラメーターを見つけて、ユーティリティーによってレポートを生成する頻度を表す変数を入力します (たとえば、@daily または @monthly)。 - をクリックします。