21.3. メトリクスファイルの例


Grafana ダッシュボードおよびその他のメトリック設定ファイルの例は、Streams for Apache Kafka によって提供される 設定ファイルの例 を参照してください。

Streams for Apache Kafka で提供されるメトリックファイルの例

metrics
├── grafana-dashboards 1
│   ├── strimzi-cruise-control.json
│   ├── strimzi-kafka-bridge.json
│   ├── strimzi-kafka-connect.json
│   ├── strimzi-kafka-exporter.json
│   ├── strimzi-kafka-mirror-maker-2.json
│   ├── strimzi-kafka.json
│   ├── strimzi-operators.json
│   └── strimzi-zookeeper.json
├── grafana-install
│   └── grafana.yaml 2
├── prometheus-additional-properties
│   └── prometheus-additional.yaml 3
├── prometheus-alertmanager-config
│   └── alert-manager-config.yaml 4
├── prometheus-install
│    ├── alert-manager.yaml 5
│    ├── prometheus-rules.yaml 6
│    ├── prometheus.yaml 7
│    └── strimzi-pod-monitor.yaml 8
├── kafka-bridge-metrics.yaml 9
├── kafka-connect-metrics.yaml 10
├── kafka-cruise-control-metrics.yaml 11
├── kafka-metrics.yaml 12
└── kafka-mirror-maker-2-metrics.yaml 13

1
異なる Streams for Apache Kafka コンポーネントの 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 の再ラベル付けルールを定義するメトリクス設定。

21.3.1. Prometheus メトリクス設定の例

Streams for Apache Kafka は、Prometheus JMX Exporter を使用して、Prometheus サーバーによってスクレープできる HTTP エンドポイント経由でメトリックを公開します。

Grafana ダッシュボードは、カスタムリソース設定の Streams for Apache Kafka コンポーネントに対して定義される Prometheus JMX Exporter の再ラベル付けルールに依存します。

ラベルは名前と値のペアです。再ラベル付けは、ラベルを動的に書き込むプロセスです。たとえば、ラベルの値は Kafka サーバーおよびクライアント ID の名前から派生されます。

Streams for Apache Kafka は、再ラベル付けルールが含まれるカスタムリソース設定 YAML ファイルのサンプルを提供します。Prometheus メトリック設定をデプロイする場合、カスタムリソースのサンプルをデプロイすることや、メトリック設定を独自のカスタムリソース定義にコピーすることができます。

表21.1 メトリック設定を含むカスタムリソースの例
コンポーネントカスタムリソースサンプル YAML ファイル

Kafka および ZooKeeper

Kafka

kafka-metrics.yaml

Kafka Connect

KafkaConnect

kafka-connect-metrics.yaml

Kafka MirrorMaker 2

KafkaMirrorMaker2

kafka-mirror-maker-2-metrics.yaml

Kafka Bridge

KafkaBridge

kafka-bridge-metrics.yaml

Cruise Control

Kafka

kafka-cruise-control-metrics.yaml

21.3.2. アラート通知の Prometheus ルールの例

アラート通知の Prometheus ルールの例は、Streams for Apache Kafka によって提供される メトリック設定ファイルの例 と共に提供されます。ルールは、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.configtickTime パラメーターを使用して設定されます。たとえば、ZooKeeper で tickTime=3000 の場合、3 ティック (3 x 3000) は 9000 ミリ秒と等しくなります。
  • ZookeeperRunningOutOfSpace メトリックおよびアラートを利用できるかどうかは、使用される OpenShift 設定およびストレージ実装によります。特定のプラットフォームのストレージ実装では、メトリクスによるアラートの提供に必要な利用可能な領域について情報が提供されない場合があります。

Alertmanager は、電子メール、チャットメッセージなどの通知方法を使用するように設定できます。ルールの例に含まれるデフォルト設定は、特定のニーズに合わせて調整してください。

21.3.3. Grafana ダッシュボードのサンプル

Prometheus をデプロイしてメトリックを提供する場合は、Streams for Apache Kafka で提供される Grafana ダッシュボードのサンプルを使用して、Streams for Apache Kafka コンポーネントを監視できます。

ダッシュボードのサンプルは、examples/metrics/grafana-dashboards ディレクトリーに JSON ファイルで提供されます。

すべてのダッシュボードは、JVM メトリクスに加えてコンポーネントに固有のメトリクスを提供します。たとえば、Streams for Apache Kafka Operator の Grafana ダッシュボードは、調整の数または処理中のカスタムリソースに関する情報を提供します。

ダッシュボードのサンプルには、Kafka でサポートされるすべてのメトリックは表示されません。ダッシュボードには、監視用の代表的なメトリックのセットが表示されます。

表21.2 Grafana ダッシュボードの例
コンポーネントJSON ファイルの例:

Streams for Apache Kafka Operator

strimzi-operators.json

Kafka

strimzi-kafka.json

ZooKeeper

strimzi-zookeeper.json

Kafka Connect

strimzi-kafka-connect.json

Kafka MirrorMaker 2

strimzi-kafka-mirror-maker-2.json

Kafka Bridge

strimzi-kafka-bridge.json

Cruise Control

strimzi-cruise-control.json

Kafka Exporter

strimzi-kafka-exporter.json

注記

クラスターにまだトラフィックがないため、Kafka Exporter でメトリックを使用できない場合、Kafka Exporter の Grafana ダッシュボードでは、数値フィールドに N/A が、グラフに No data to show が表示されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.