第14章 metrics-utility による使用状況レポート
Ansible Automation Platform のメトリクスユーティリティーツール (metrics-utility) は、Automation Controller のインスタンスを含むシステムにインストールされるコマンドラインユーティリティーです。
メトリクス s-utility は、インストールおよび設定が完了すると、システムから課金関連の指標を収集し、使用量に基づいた課金レポートを作成します。metrics-utility は、複数の管理対象ホストを所有し、従量課金制を利用したいユーザーに特に適しています。レポートが生成されると、設定ファイルで指定した保存先の場所に保存されます。
metrics-utility は、システムから設定データとレポートデータの 2 種類のデータを収集します。
設定データには次の情報が含まれます。
- Automation Controller とオペレーティングシステムのバージョン情報
- サブスクリプション情報
- ベース URL
レポートデータには次の情報が含まれます。
- ジョブ名と ID
- ホスト名
- インベントリー名
- 組織名
- プロジェクト名
- 成功または失敗に関する情報
- レポート日時
metrics-utility が 設定どおりに動作し続けるようにするには、レポートディレクトリーから古いレポートを定期的に削除してください。
14.1. metrics-utility の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux と OpenShift Container Platform の両方において、Ansible Automation Platform の使用状況データを収集および報告するように metrics-utility を設定します。
14.1.1. Red Hat Enterprise Linux の metrics-utility の設定 リンクのコピーリンクがクリップボードにコピーされました!
前提条件:
- サブスクリプション: 有効な Ansible Automation Platform のサブスクリプション。
-
インストール:
metrics-utilityツールは、Automation Controller ノードへの Ansible Automation Platform のインストール時にデフォルトで含まれています。別途インストールする必要はありません。 -
ユーザー特権:
metrics-utilityツールを実行するには、rootユーザーまたはawxユーザーとしてログインしている必要があります。
metrics-utility が 正しく機能するには 、/etc/tower/SECRET_KEY への読み取りアクセス権が必要です。このユーティリティーを標準ユーザー (root ユーザーまたは awx ユーザー以外) として実行しようとすると、PermissionError が 発生し、実行が失敗します。
以下のコマンドは、関連データを収集し、使用状況メトリクスを含む CCSP レポートを生成します。これらのコマンドを cron ジョブとして設定することで、毎月初めに実行されるようにすることができます。cron 構文を 使用した設定方法の詳細は、Linux cron ユーティリティーを使用したジョブのスケジュール設定方法 を参照してください。
手順
ユーザーのホームディレクトリーに 2 つのスクリプトを作成し、
metrics-utility が関連するすべてのデータを収集できるように、正しい変数を設定してください。/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/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)" @@ -44,21 +51,31 @@ 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
これらのファイルを実行可能にするために、次のコマンドを実行します。
chmod a+x /home/my-user/cron-gather /home/my-user/cron-reportcronファイルを編集用に開くには、以下を実行します。crontab -e実行スケジュールを設定するには、ファイルの末尾に次のパラメーターを追加し、cron 構文を 使用して
metrics-utility が情報を収集してレポートを作成する頻度を指定します。次の例では、gatherコマンドは毎時 00 分に実行されるように設定されています。build_reportコマンドは、毎月 2 日の午前 4 時に実行されるように設定されています。0 */1 * * * /home/my-user/cron-gather 0 4 2 * * /home/my-user/cron-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)生成されたレポートには、CCSP-<YEAR>-<MONTH>.xlsx というデフォルトの名前が付けられます。レポートはステップ 1a で指定した送信先パスに保存されます。
14.1.2. Ansible Automation Platform Operator から OpenShift Container Platform の metrics-utility を設定する リンクのコピーリンクがクリップボードにコピーされました!
metrics-utility は、OpenShift Container Platform の Automation Controller イメージのバージョン 4.12、4.5.12、および 4.6 に含まれています。システムに metrics-utility がインストールされていない場合は、OpenShift イメージを最新バージョンに更新してください。
OpenShift UI の YAML ビューで ConfigMap を作成し、Ansible Automation Platform オペレーターを使用して OpenShift Container Platform 上の metrics-utility の実行スケジュールを設定する Automation Controller をデプロイします。
前提条件:
- 実行中の OpenShift クラスター
- Operator によって OpenShift Container Platform にインストールされた Ansible Automation Platform
metrics-utility は、 設定ファイルで設定したパラメーターに従って実行されます。
14.1.2.1. OpenShift UI YAML ビューでの ConfigMap の作成 リンクのコピーリンクがクリップボードにコピーされました!
metrics-utility の cron ジョブに設定データを注入するには、OpenShift UI の YAML ビューで ConfigMap を作成するために、以下の手順を使用します。
- 左側のナビゲーションパネルから ConfigMaps を選択し、ConfigMap の作成 ボタンをクリックします。
- 次の画面で、YAML ビュー タブを選択してください。
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 を探してください。
14.1.2.2. Automation Controller のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller をデプロイし、metrics-utility が 使用状況情報を収集してレポートを生成する頻度に関する変数を指定するには、以下の手順を使用します。
手順
- ナビゲーションパネルから インストール済み Operator を選択します。
- Ansible Automation Platform を選択します。
- Operator の詳細画面で、Automation Controller の タブを選択します。
- * をクリックします。
YAML 表示 オプションを選択してください。
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) を入力します。 - をクリックします。