第9章 メトリクス
API ではメトリクスエンドポイント /api/v2/metrics/
が使用できます。このメトリクスエンドポイントは、Automation Controller に関する即時のメトリクスを生成します。メトリクスは、オープンソースプロジェクトの Prometheus といったシステム監視ソフトウェアで使用できます。
metrics/
エンドポイントに表示されるデータのタイプは、Content-type: text/plain
および application/json
です。
このエンドポイントには、アクティブなユーザーセッションの数や、各 Automation Controller ノードでアクティブに実行されているジョブの数などの有用な情報が含まれます。
Automation Controller メトリクスエンドポイントにアクセスし、このデータを時系列データベースに保存することで、Automation Controller からこれらのメトリクスを収集するように Prometheus を設定できます。
その後、クライアントは Prometheus を他のソフトウェア (Grafana や Metricbeat など) と組み合わせて使用して、データを視覚化したりアラートを設定したりできます。
9.1. Prometheus のセットアップ
Prometheus をセットアップして使用するには、仮想マシンまたはコンテナーに Prometheus をインストールする必要があります。
詳細は、First steps with Prometheus ドキュメントを参照してください。
手順
Prometheus 設定ファイル (通常は
prometheus.yml
) で、<token_value>
、作成した Automation Controller ユーザーの有効なユーザー名とパスワード、および<controller_host>
を指定します。注記あるいは、OAuth2 トークン (
/api/v2/users/N/personal_tokens/
で生成可能) を指定することもできます。デフォルトでは、この設定はユーザー名 =admin
、パスワード =password
であるユーザーを想定しています。次の例は、Automation Controller で Prometheus を認証するために
/api/v2/tokens
エンドポイントで作成した OAuth2 トークンを使用し、Automation Controller のメトリクスエンドポイントの URL が/https://controller_host:443/metrics
である場合の有効な収集設定です。scrape_configs - job_name: 'controller' tls_config: insecure_skip_verify: True metrics_path: /api/v2/metrics scrape_interval: 5s scheme: https bearer_token: <token_value> # basic_auth: # username: admin # password: password static_configs: - targets: - <controller_host>
アラートやサービスディスカバリー設定など、Prometheus の他の要素を設定する方法については、Prometheus configuration ドキュメントを参照してください。
Prometheus がすでに実行中の場合には、再読み込みしたエンドポイントに POST 要求を送信するか、Prometheus プロセスまたはサービスを強制終了し、Prometheus を再起動して設定の変更を適用する必要があります。
ブラウザーを使用して
/http://<your_prometheus>:9090/graph
にある Prometheus UI のグラフに移動し、いくつかのクエリーをテストします。たとえば、awx_sessions_total{type="user"}
を実行すると、現在のアクティブな Automation Controller ユーザーセッションの数をクエリーできます。
その他のクエリー方法については、インスタンスの Automation Controller API のメトリクスエンドポイント (api/v2/metrics
) を参照してください。