第9章 モニタリング
モニタリングデータでは、AMQ Streams のパフォーマンスおよびヘルスを監視できます。分析および通知のメトリックデータを取得するようにデプロイメントを設定できます。
メトリックデータは、接続性およびデータ配信の問題を調査するときに役立ちます。たとえば、メトリックデータを使用すると、更新されていないパーティションや、メッセージの消費速度を特定できます。アラートルールでは、指定した通信チャネルを使用して、このようなメトリクスに関する緊急通知を送信できます。モニタリングの視覚化では、デプロイメントの設定更新のタイミングと方法を判別できるように、リアルタイムのメトリクスデータを表示します。メトリック設定ファイルのサンプルは AMQ Streams に同梱されています。
分散トレースは、AMQ Streams でメッセージのエンドツーエンドのトレース機能を提供することで、メトリックデータの収集を補完します。
Cruise Control は、ワークロードのデータに基づく Kafka クラスターのリバランスをサポートします。
メトリクスおよびモニタリングツール
AMQ Streams では、メトリクスおよびモニタリングに以下のツールを使用できます。
- Prometheus
- Prometheus は、Kafka、ZooKeeper、および Kafka Connect クラスターからメトリクスをプルします。Prometheus の Alertmanager プラグインはアラートを処理して、そのアラートを通知サービスにルーティングします。
- Kafka Exporter
- Kafka Exporter は、さらに Prometheus メトリクスを追加します。
- Grafana
- Grafana Labs は、ダッシュボードで Prometheus メトリクスを視覚化できます。
- OpenTelemetry
- OpenTelemetry のドキュメント は、アプリケーション間のトランザクションを追跡するための分散トレースサポートを提供します。
- Cruise Control
- Cruise Control は、データ分散を監視し、Kafka クラスター全体でデータのリバランスを実行します。
9.1. Prometheus リンクのコピーリンクがクリップボードにコピーされました!
Prometheus は、Kafka コンポーネントおよび AMQ Streams Operator からメトリックデータを抽出できます。
Prometheus を使用してメトリックデータを取得し、アラートを発行するには、Prometheus および Prometheus Alertmanager プラグインをデプロイする必要があります。メトリックデータを公開するには、Kafka リソースもメトリック設定でデプロイまたは再デプロイする必要があります。
Prometheus は、公開されたメトリクスデータをモニタリング用に収集します。Alertmanager は、事前に定義されたアラートルールをもとに、条件が問題発生の可能性を示した場合に、アラートを発行します。
メトリックおよびアラートルール設定ファイルのサンプルは AMQ Streams に同梱されています。AMQ Streams に含まれるアラートメカニズムのサンプルは、通知を Slack チャネルに送信するように設定されています。