20.3. メトリクスファイルの例
Grafana ダッシュボードおよびその他のメトリック設定ファイルの例は、AMQ Streams によって提供される 設定ファイルの例 を参照してください。
AMQ Streams で提供されるサンプルメトリクスファイル
- 1
- 異なる AMQ Streams コンポーネントの Grafana ダッシュボードの例。
- 2
- Grafana イメージのインストールファイル。
- 3
- CPU、メモリー、およびディスクボリュームの使用状況についてのメトリックをスクレープする追加の設定。これらのメトリックは、ノード上の OpenShift cAdvisor エージェントおよび kubelet から直接提供されます。
- 4
- Alertmanager による通知送信のためのフック定義。
- 5
- Alertmanager をデプロイおよび設定するためのリソース。
- 6
- Prometheus Alertmanager と使用するアラートルールの例 (Prometheus とデプロイ)。
- 7
- Prometheus イメージのインストールリソースファイル。
- 8
- Prometheus Operator によって Prometheus サーバーのジョブに変換される PodMonitor の定義。これにより、Pod から直接メトリックデータをスクレープできます。
- 9
- メトリックが有効になっている Kafka Bridge リソース。
- 10
- Kafka Connect に対する Prometheus JMX Exporter の再ラベル付けルールを定義するメトリック設定。
- 11
- Cruise Control に対する Prometheus JMX Exporter の再ラベル付けルールを定義するメトリック設定。
- 12
- Kafka および ZooKeeper に対する Prometheus JMX Exporter の再ラベル付けルールを定義するメトリック設定。
- 13
- Kafka Mirror Maker 2 に対する Prometheus JMX Exporter の再ラベル付けルールを定義するメトリクス設定。
20.3.1. Prometheus メトリクス設定の例 リンクのコピーリンクがクリップボードにコピーされました!
AMQ Streams は、Prometheus JMX Exporter を使用して、Prometheus サーバーによってスクレープできる HTTP エンドポイント経由でメトリクスを公開します。
Grafana ダッシュボードが依存する Prometheus JMX Exporter の再ラベル付けルールは、カスタムリソース設定として AMQ Streams コンポーネントに対して定義されます。
ラベルは名前と値のペアです。再ラベル付けは、ラベルを動的に書き込むプロセスです。たとえば、ラベルの値は Kafka サーバーおよびクライアント ID の名前から派生されます。
AMQ Streams では、再ラベル付けルールが含まれるカスタムリソース設定用の YAML ファイルのサンプルが提供されます。Prometheus メトリック設定をデプロイする場合、カスタムリソースのサンプルをデプロイすることや、メトリック設定を独自のカスタムリソース定義にコピーすることができます。
| コンポーネント | カスタムリソース | サンプル YAML ファイル |
|---|---|---|
| Kafka および ZooKeeper |
|
|
| Kafka Connect |
|
|
| Kafka MirrorMaker 2 |
|
|
| Kafka Bridge |
|
|
| Cruise Control |
|
|
20.3.2. アラート通知の Prometheus ルールの例 リンクのコピーリンクがクリップボードにコピーされました!
アラート通知の Prometheus ルールの例は、AMQ Streams によって提供される メトリクス設定ファイルの例 と共に提供されます。ルールは、Prometheus デプロイメント で使用するための prometheus-rules.yaml ファイルのサンプルに指定されています。
prometheus-rules.yaml ファイルには、以下のコンポーネントのルールの例が含まれます。
- Kafka
- ZooKeeper
- Entitiy Operator
- Kafka Connect
- Kafka Bridge
- MirrorMaker
- Kafka Exporter
各ルールの例の説明は、ファイルに記載されています。
アラートルールによって、メトリックで監視される特定条件についての通知が提供されます。ルールは Prometheus サーバーで宣言されますが、アラート通知は Prometheus Alertmanager で対応します。
Prometheus アラートルールでは、継続的に評価される PromQL 表現を使用して条件が記述されます。
アラート表現が true になると、条件が満たされ、Prometheus サーバーからアラートデータが Alertmanager に送信されます。次に Alertmanager は、そのデプロイメントに設定された通信方法を使用して通知を送信します。
アラートルールの定義に関する一般的な留意点:
-
forプロパティーは、ルールと併用し、アラートがトリガーされるまでに、条件を維持する必要のある期間を決定します。 -
ティック (tick) は ZooKeeper の基本的な時間単位です。ミリ秒単位で測定され、
Kafka.spec.zookeeper.configのtickTimeパラメーターを使用して設定されます。たとえば、ZooKeeper でtickTime=3000の場合、3 ティック (3 x 3000) は 9000 ミリ秒と等しくなります。 -
ZookeeperRunningOutOfSpaceメトリックおよびアラートを利用できるかどうかは、使用される OpenShift 設定およびストレージ実装によります。特定のプラットフォームのストレージ実装では、メトリクスによるアラートの提供に必要な利用可能な領域について情報が提供されない場合があります。
Alertmanager は、電子メール、チャットメッセージなどの通知方法を使用するように設定できます。ルールの例に含まれるデフォルト設定は、特定のニーズに合わせて調整してください。
20.3.3. Grafana ダッシュボードのサンプル リンクのコピーリンクがクリップボードにコピーされました!
Prometheus をデプロイしてメトリックを提供する場合は、AMQ Streams で提供される Grafana ダッシュボードのサンプルを使用して、AMQ Streams コンポーネントを監視できます。
ダッシュボードのサンプルは、examples/metrics/grafana-dashboards ディレクトリーに JSON ファイルで提供されます。
すべてのダッシュボードは、JVM メトリクスに加えてコンポーネントに固有のメトリクスを提供します。たとえば、AMQ Streams Operator の Grafana ダッシュボードは、調整の数または処理中のカスタムリソースに関する情報を提供します。
ダッシュボードのサンプルには、Kafka でサポートされるすべてのメトリクスは表示されません。ダッシュボードには、監視用の代表的なメトリックのセットが表示されます。
| コンポーネント | JSON ファイルの例: |
|---|---|
| AMQ Streams の Operator |
|
| Kafka |
|
| ZooKeeper |
|
| Kafka Connect |
|
| Kafka MirrorMaker 2 |
|
| Kafka Bridge |
|
| Cruise Control |
|
| Kafka Exporter |
|
クラスターにまだトラフィックがないため、Kafka Exporter でメトリックを使用できない場合、Kafka Exporter の Grafana ダッシュボードでは、数値フィールドに N/A が、グラフに No data to show が表示されます。