Apollo¶
Apollo 関連のメトリクス情報を収集します。
インストール設定¶
前提条件¶
- DataKit をインストール済み
Apollo の監視¶
Apollo は分散デプロイ時に、Portal、ConfigService、AdminService という 3 種類のプロセスがそれぞれ多くの役割を担います。たとえば、テスト環境と本番環境にそれぞれ専用の ConfigService と AdminService をデプロイできます。詳細は Apollo デプロイアーキテクチャ を参照してください。3 種類のプロセスはいずれも /prometheus エンドポイントで Prometheus 形式のメトリクスを公開します。
- Portal:8070/prometheus
- ConfigService:8080/prometheus
- AdminService:8090/prometheus
DataKit 収集器の設定¶
Apollo は metrics URL を直接公開できるため、prom 収集器で直接収集できます。
DataKit のインストールディレクトリ 配下の conf.d/samples に移動し、prom.conf.sample を apollo-portal-prod-1.conf にコピーします。
cp prom.conf.sample apollo-portal-prod-1.conf
内容を次のように調整します。
url = "http://127.0.0.1:8070/prometheus"
## Collector alias.
source = "apollo_portal_prod_1"
## (Optional) Collect interval: (defaults to "30s").
interval = "30s"
## If measurement_name is not empty, using this as measurement set name.
measurement_name = "apollo"
上記と同様の方法で ConfigService、AdminService の収集器設定ファイルを作成します。
その他の設定は必要に応じて調整してください。調整パラメータの説明は次のとおりです。
- urls:
prometheusメトリクスのアドレス。ここには対応コンポーネントが公開するメトリクス URL を記入します。 - source:収集器の別名。区別できるようにすることを推奨します。
- interval:収集間隔
DataKit を再起動する¶
メトリクス¶
Apollo のメトリクスは apollo メトリクスセットに属します。ここでは主に Apollo 関連メトリクスの説明を紹介します。
| メトリクス名 | 説明 | 単位 |
|---|---|---|
http_server_requests_seconds |
HTTP サーバーがリクエストを処理する際の応答時間。クライアントが HTTP で Apollo サーバーに接続する場合 | Second |
process_uptime_seconds |
JVM の起動時間 | Second |
hikaricp_connections_active |
アクティブ接続数 | Count |
hikaricp_connections_idle |
アイドル接続数 | Count |
hikaricp_connections_pending |
接続待ちのスレッド数。通常は 0 で、継続的に 0 でない場合はアラートを出すべきです。最大接続数の増加などで最適化します | Count |
hikaricp_connections_usage_seconds |
接続が業務で占有されている時間。長すぎる場合はアラートを出し、データベース応答の低下が原因の可能性があるため、平均値と P99 の極値に注意してください | Second |
jvm_memory_max_bytes |
JVM が管理する最大メモリ量。id タグで異なるメモリタイプを識別します | Byte |
jvm_memory_usage_after_gc_percent |
直前の GC 後に、長期生存オブジェクトがヒープメモリに占める割合 | % |
jvm_memory_used_bytes |
JVM が管理する使用済みメモリ量。id タグで異なるメモリタイプを識別します | Byte |
jvm_memory_committed_bytes |
JVM がコミット済みのメモリ量 | Byte |
jvm_gc_pause_seconds |
JVM の GC 停止時間 | Second |
system_load_average_1m |
OS の直近 1 分間の平均負荷 | - |
system_cpu_count |
JVM が使用可能な CPU 数 | Count |
system_cpu_usage |
OS の CPU 使用率 | % |
process_cpu_usage |
プロセスの CPU 使用率 | % |
process_files_max_files |
プロセスが開ける最大ファイルディスクリプタ数 | Count |
process_files_open_files |
プロセスが開いているファイルディスクリプタ数 | Count |