Documentation

13. メトリックス

Ansible Tower 3.5 では、API にメトリクスが導入されました。/api/v2/metrics/ は、オープンソースプロジェクトの Prometheus などのシステム監視ソフトウェアで使用できるように、Tower のメトリクスを瞬時で公開します。

metrics/ エンドポイントで表示されるデータタイプは Content-type: plain/text で、アクティブなユーザーセッション数または各 Tower ノードで実行中のジョブ数などの便利な情報が含まれます。Prometheus は、Tower メトリクスエンドポイントに到達し、時系列データベースにこのデータを保存することで、Tower からこれらのメトリクスを収集するように設定できます。クライアントは後ほど、 Grafana または Metricsbeat などの他のソフトウェアと Prometheus を連携して使用し、データを視覚化してアラートを設定できます。

13.1. Prometheus の設定

Prometheus の設定および使用には、仮想マシンまたはコンテナーに Prometheus をインストールする必要があります。詳細は、Prometheus documentation を参照してください。

  1. 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 プロセスまたはサービスを終了して、設定の変更を適用するために、再起動する必要があります。

  1. ブラウザーを使用して、http://your_prometheus:9090/graph の Prometheus UI のグラフに移動し、クエリーをテストします。たとえば、awx_sessions_total{type="user"} を実行して、現在アクティブなユーザーセッション数をクエリーすることができます。
_images/metrics-prometheus-ui-query-example.png

他のクエリー方法については、インスタンスの Tower API (api/v2/metrics) のメトリクスエンドポイントを参照してください。