Ansible Tower 3.5 では、API にメトリクスが導入されました。/api/v2/metrics/
は、オープンソースプロジェクトの Prometheus などのシステム監視ソフトウェアで使用できるように、Tower のメトリクスを瞬時で公開します。
metrics/
エンドポイントで表示されるデータタイプは Content-type: plain/text
で、アクティブなユーザーセッション数または各 Tower ノードで実行中のジョブ数などの便利な情報が含まれます。Prometheus は、Tower メトリクスエンドポイントに到達し、時系列データベースにこのデータを保存することで、Tower からこれらのメトリクスを収集するように設定できます。クライアントは後ほど、 Grafana または Metricsbeat などの他のソフトウェアと Prometheus を連携して使用し、データを視覚化してアラートを設定できます。
Prometheus の設定および使用には、仮想マシンまたはコンテナーに Prometheus をインストールする必要があります。詳細は、Prometheus documentation を参照してください。
Prometheus の設定ファイル (通常 prometheus.yml
) で <token_value>
、作成した Tower ユーザーの有効なユーザー/パスワードおよび <tower_host>
を指定します。
注釈
または、OAuth2 トークン (
/api/v2/users/N/personal_tokens/
で生成可能) を指定することもできます。デフォルトでは、この設定は、username=admin および password=password のユーザーを想定します。
Tower で Prometheus を認証するために
/api/v2/tokens
エンドポイントで作成した OAuth2 トークンを使用した以下の例では、Tower のメトリクスエンドポイントがhttps://tower_host:443/metrics
の場合の有効な収集設定を紹介しています。scrape_configs - job_name: 'tower' 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: - <tower_host>アラートやサービス検出設定などの他の面の Prometheus 設定に関するヘルプは、「Prometheus configuration docs」を参照してください。
Prometheus がすでに実行中の場合には、再読み込みしたエンドポイントに POST 要求を送信するか、Prometheus プロセスまたはサービスを終了して、設定の変更を適用するために、再起動する必要があります。
ブラウザーを使用して、http://your_prometheus:9090/graph
の Prometheus UI のグラフに移動し、クエリーをテストします。たとえば、awx_sessions_total{type="user"}
を実行して、現在アクティブなユーザーセッション数をクエリーすることができます。
他のクエリー方法については、インスタンスの Tower API (api/v2/metrics
) のメトリクスエンドポイントを参照してください。