第10章 メトリクス
API には、Automation Controller に関するリアルタイムのメトリクスを生成するメトリクスエンドポイント /api/controller/v2/metrics/ が用意されており、オープンソースプロジェクトの Prometheus などのシステム監視ソフトウェアで利用できます。
metrics/ エンドポイントに表示されるデータタイプは 、Content-type: text/plain および application/json です。
このエンドポイントからは、アクティブなユーザーセッションの数や、各 Automation Controller ノードでアクティブに実行されているジョブの数など、有用な情報が得られます。
Automation Controller メトリクスエンドポイントにアクセスし、このデータを時系列データベースに保存することで、Automation Controller からこれらのメトリクスを収集するように Prometheus を設定できます。
その後、クライアントは Prometheus を他のソフトウェア (Grafana や Metricbeat など) と組み合わせて使用して、データを視覚化したりアラートを設定したりできます。
10.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 のユーザーを想定した設定になっています。/api/v2/tokensエンドポイントで作成された OAuth2 トークンを使用して Prometheus を Automation Controller で認証する場合、次の例は、Automation Controller のメトリクスエンドポイントの URL が/https://controller_host:443/メトリクスである場合に有効なスクレイピング設定を提供します。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 を再起動する必要があります。
ブラウザーを使用して、Prometheus UI の
/http://<your_prometheus>:9090/graphにアクセスし、いくつかのクエリーをテストしてください。たとえば、awx_sessions_total{type="user"}を実行することで、現在アクティブな Automation Controller ユーザーセッションの数を照会できます。
次のステップ
クエリーのその他の方法については、インスタンスの Automation Controller API のメトリクスエンドポイント (api/v2/メトリクス) を参照してください。