3.5. Automation Controller を監視するためのメトリクス
Automation Controller ホストをシステムレベルとアプリケーションレベルで監視します。
システムレベルの監視では、次の情報が含まれます。
- ディスク I/O
- RAM 使用率
- CPU 使用率
- ネットワークトラフィック
アプリケーションレベルのメトリクスは、アプリケーションがシステムについて把握しているデータを提供します。このデータには次の情報が含まれます。
- 特定のインスタンスで実行されているジョブの数
- クラスター内のインスタンスに関する容量情報
- 存在するインベントリーの数
- インベントリーに含まれるホストの数
システムおよびアプリケーションのメトリクスを使用すると、サービスが低下したときにアプリケーションで何が起きていたのかを特定するのに役立ちます。Automation Controller の経時的なパフォーマンスに関する情報は、問題の診断や、将来の拡張に備えた容量プランニングを行うときに役立ちます。
3.5.1. Automation Controller アプリケーションを監視するためのメトリクス リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションレベルの監視のために、Automation Controller は API エンドポイント /api/v2/メトリクス 上で Prometheus スタイルのメトリクスを提供します。これらのメトリクスを使用して、ジョブの出力処理やジョブのスケジューリングなどに関する、ジョブのステータスとサブシステムのパフォーマンスに関する集計データを監視します。
メトリクスエンドポイントには、各メトリクスの説明が含まれます。パフォーマンスに関する特に重要なメトリクスの例は以下のとおりです。
awx_status_total- 各ステータスにあるジョブの現在の合計です。他のイベントをシステム内のアクティビティーに関連付けるのに役立ちます。
- エラーまたは失敗したジョブの増加を監視できます。
awx_instance_remaining_capacity
- 追加のジョブを実行するために残っている容量です。
callback_receiver_event_processing_avg_seconds- 通称 “ジョブイベントラグ” です。
- Ansible でタスクが発生してからユーザーがそれを確認できるようになるまでのラグタイムの移動平均です。これは、コールバックレシーバーがイベントの処理でどれだけ遅延しているかを示します。この数が非常に大きい場合、ユーザーはコントロールプレーンをスケールアップするか、容量調整機能を使用してコントロールノードが制御するジョブの数を減らすことを検討できます。
callback_receiver_events_insert_db- ノードによって挿入されたイベントのカウンターです。特定の期間におけるジョブイベント挿入率を計算するために使用できます。
callback_receiver_events_queue_size_redis- コールバックレシーバーがイベントの処理でどれだけ遅延しているかを示すインジケーターです。値が高すぎると、Redis によってコントロールノードのメモリー不足 (OOM) が発生する可能性があります。