第1章 Quarkus アプリケーションのメトリクスコレクション
メトリクスとは、トレンドや動作の監視に使用されるアプリケーションの特定の側面を定量的に測定するものです。各測定は、文字列キーと追加のタグ (オプション) またはラベルで一意に識別されるそれぞれの監視値で一定間隔で収集されます。
その後、これらのキーと値のペアは時系列に追加されます。これは、時間の経過とともにインデックスが付けられた一連のデータポイントです。メトリクスを取得して分析することで、潜在的な問題や異常が深刻化して重大な問題を引き起こす前に、それらを特定することができます。
メトリクスは診断や問題の特定には使用できません。視覚化ツールは個別の測定を集計し、トレンドを視覚化します。確認された問題の原因を特定する必要があるインシデント固有のコンテキストは、集計されたメトリクスデータでは検出されません。問題の特定または根本原因の分析には、より詳細なトレースまたはログデータが必要になります。
Micrometer ライブラリーまたは SmallRye Metrics 仕様のいずれかを使用して、ランタイムおよびアプリケーションメトリクスを収集できます。
- Micrometer は、一般的なモニタリングシステムのインストルメンテーションクライアント上にシンプルなファサードを提供します。Quarkus は、Micrometer と Prometheus を組み合わせ、アプリケーションのモニタリングおよび管理を支援します。
- SmallRye Metrics は、Prometheus と互換性のあるメトリクスエンドポイントを提供する MicroProfile Metrics 仕様の実装です。
Micrometer エクステンションは、Quarkus でのアプリケーションおよびランタイムのメトリクスの収集における推奨される方法で、以下を提供します。
- ディメンションメトリクス: タイマー、ゲージ、カウンター、ディストリビューションサマリー、および長期タスクタイマー用のベンダーに依存しないインターフェースをディメンション分析とともに提供します。これは、ディメンションモニタリングシステムと組み合わせた場合に、ディメンション全体でドリルダウン機能を使用して、特定の名前のメトリクスへ効率的にアクセスすることができます。
-
事前設定されたバインディング: キャッシュ、クラスローダー、ガベージコレクション、プロセッサーの使用状況、スレッドプール、および HTTP トラフィックの追加設定なしのインストルメンテーション。
hibernate-ormおよびmongodb-clientなどの他のエクステンションは、有効にすると追加のバインディングを自動的に提供します。