Prometheus の Kafka エクスポータ。 Kafka の他のメトリクスについては、JMX エクスポーターを参照してください。
Apache Kafka バージョン 0.10.1.0 (以降) をサポートします。
バイナリはリリースページからダウンロードできます。
make
make docker
docker pull danielqsj/kafka-exporter:latest
自分でイメージを構築する代わりに、直接使用できます。 (Docker Hub danielqsj/kafka-exporter)
kafka_exporter --kafka.server=kafka:9092 [--kafka.server = another-server ...]
docker run -ti --rm -p 9308:9308 danielqsj/kafka-exporter --kafka.server=kafka:9092 [--kafka.server=another-server ...]
docker-compose.yml
飛行させる
services:
kafka-exporter:
image: danielqsj/kafka-exporter
command: ["--kafka.server=kafka:9092", "[--kafka.server=another-server ...]"]
ports:
- 9308:9308
それからそれを実行します
docker-compose up -d
このイメージはさまざまなフラグを使用して構成できます
フラグ名 | デフォルト | 説明 |
---|---|---|
カフカサーバー | カフカ:9092 | Kafkaサーバーのアドレス(ホスト:ポート) |
kafka.バージョン | 2.0.0 | Kafka ブローカーのバージョン |
sasl.enabled | 間違い | SASL/PLAIN を使用して接続する |
sasl.ハンドシェイク | 真実 | 非 Kafka SASL プロキシを使用する場合にのみ、これを false に設定します。 |
sasl.ユーザー名 | SASLユーザー名 | |
sasl.パスワード | SASLユーザーパスワード | |
sasl.メカニズム | SASL メカニズムはプレーン、scram-sha512、scram-sha256 にすることができます。 | |
sasl.サービス名 | Kerberos認証を使用する場合のサービス名 | |
sasl.kerberos-config-path | Kerberos 構成パス | |
sasl.レルム | ケルベロスレルム | |
sasl.keytab-パス | Kerberos キータブ ファイルのパス | |
sasl.kerberos-auth-type | Kerberos 認証タイプ。 「keytabAuth」または「userAuth」のいずれか | |
tls.有効 | 間違い | TLS を使用して Kafka に接続する |
tls.サーバー名 | tls.insecure-skip-tls-verify が指定されていない限り、返された証明書のホスト名を検証するために使用されます。 Kafkaサーバーの名前を指定する必要があります | |
tls.ca ファイル | Kafka TLS クライアント認証用のオプションの認証局ファイル | |
tls.cert-ファイル | Kafka クライアント認証用のオプションの証明書ファイル | |
tls.キーファイル | Kafka クライアント認証用のオプションのキー ファイル | |
tls.insecure-skip-tls-verify | 間違い | true の場合、サーバーの証明書の有効性はチェックされません。 |
サーバー.tls.有効 | 間違い | WebサーバーのTLSを有効にする |
server.tls.mutual-auth-enabled | 間違い | TLS クライアント相互認証を有効にする |
サーバー.tls.caファイル | Webサーバーの認証局ファイル | |
サーバー.tls.certファイル | Webサーバーの証明書ファイル | |
サーバー.tls.キーファイル | Webサーバーのキーファイル | |
トピック.フィルター | .* | どのトピックを収集するかを決定する正規表現 |
トピック.除外 | ^$ | どのトピックを除外するかを決定する正規表現 |
グループ.フィルター | .* | どのコンシューマ グループを収集するかを決定する正規表現 |
グループ.除外 | ^$ | どのコンシューマ グループを除外するかを決定する正規表現 |
web.リッスンアドレス | :9308 | Web インターフェイスとテレメトリをリッスンするアドレス |
web.telemetry-path | /メトリクス | メトリクスを公開するパス |
log.enable-サラマ | 間違い | Sarama ログをオンにする |
use.consumelag.zookeeper | 間違い | Zookeeper のグループを使用する必要がある場合 |
動物園の飼育員.サーバー | ローカルホスト:2181 | Zookeeper サーバーのアドレス (ホスト) |
kafka.labels | Kafka クラスター名 | |
メタデータを更新する | 30代 | メタデータの更新間隔 |
オフセット.すべて表示 | 真実 | すべてのコンシューマ グループのオフセット/ラグを表示するかどうか。それ以外の場合は、接続されているコンシューマ グループのみを表示します。 |
同時実行可能 | 間違い | true の場合、すべてのスクレイピングが Kafka 操作をトリガーします。それ以外の場合、結果は共有されます。警告: 大規模なクラスターではこれを無効にする必要があります。 |
トピック.ワーカー | 100 | トピックワーカーの数 |
冗長性 | 0 | 詳細ログレベル |
ブール値は Kingpin によって独自に管理されます。各ブール フラグには、負の補数 ( --
および--no-
があります。
例えば:
sasl.handshake
無効にする必要がある場合は、フラグ--no-sasl.handshake
を追加できます。
公開された Prometheus メトリクスに関するドキュメント。
基礎となるメトリクスの詳細については、「Apache Kafka」を参照してください。
メトリクスの詳細
名前 | 暴露情報 |
---|---|
kafka_brokers | Kafka クラスター内のブローカーの数 |
メトリクスの出力例
# HELP kafka_brokers Number of Brokers in the Kafka Cluster.
# TYPE kafka_brokers gauge
kafka_brokers 3
メトリクスの詳細
名前 | 暴露情報 |
---|---|
kafka_topic_partitions | このトピックのパーティションの数 |
kafka_topic_partition_current_offset | トピック/パーティションでのブローカーの現在のオフセット |
kafka_topic_partition_oldest_offset | トピック/パーティションにおけるブローカーの最も古いオフセット |
kafka_topic_partition_in_sync_replica | このトピック/パーティションの同期レプリカの数 |
kafka_topic_partition_leader | このトピック/パーティションのリーダー ブローカー ID |
kafka_topic_partition_leader_is_preferred | トピック/パーティションが優先ブローカーを使用している場合は 1 |
kafka_topic_partition_replicas | このトピック/パーティションのレプリカの数 |
kafka_topic_partition_under_replicated_partition | トピック/パーティションがレプリケートされている場合は 1 |
メトリクスの出力例
# HELP kafka_topic_partitions Number of partitions for this Topic
# TYPE kafka_topic_partitions gauge
kafka_topic_partitions{topic="__consumer_offsets"} 50
# HELP kafka_topic_partition_current_offset Current Offset of a Broker at Topic/Partition
# TYPE kafka_topic_partition_current_offset gauge
kafka_topic_partition_current_offset{partition="0",topic="__consumer_offsets"} 0
# HELP kafka_topic_partition_oldest_offset Oldest Offset of a Broker at Topic/Partition
# TYPE kafka_topic_partition_oldest_offset gauge
kafka_topic_partition_oldest_offset{partition="0",topic="__consumer_offsets"} 0
# HELP kafka_topic_partition_in_sync_replica Number of In-Sync Replicas for this Topic/Partition
# TYPE kafka_topic_partition_in_sync_replica gauge
kafka_topic_partition_in_sync_replica{partition="0",topic="__consumer_offsets"} 3
# HELP kafka_topic_partition_leader Leader Broker ID of this Topic/Partition
# TYPE kafka_topic_partition_leader gauge
kafka_topic_partition_leader{partition="0",topic="__consumer_offsets"} 0
# HELP kafka_topic_partition_leader_is_preferred 1 if Topic/Partition is using the Preferred Broker
# TYPE kafka_topic_partition_leader_is_preferred gauge
kafka_topic_partition_leader_is_preferred{partition="0",topic="__consumer_offsets"} 1
# HELP kafka_topic_partition_replicas Number of Replicas for this Topic/Partition
# TYPE kafka_topic_partition_replicas gauge
kafka_topic_partition_replicas{partition="0",topic="__consumer_offsets"} 3
# HELP kafka_topic_partition_under_replicated_partition 1 if Topic/Partition is under Replicated
# TYPE kafka_topic_partition_under_replicated_partition gauge
kafka_topic_partition_under_replicated_partition{partition="0",topic="__consumer_offsets"} 0
メトリクスの詳細
名前 | 暴露情報 |
---|---|
kafka_consumergroup_current_offset | トピック/パーティションでの ConsumerGroup の現在のオフセット |
kafka_consumergroup_lag | トピック/パーティションにおける ConsumerGroup の現在のおおよそのラグ |
kafka_consumergroupzookeeper_lag_zookeeper | トピック/パーティションにおける ConsumerGroup の現在のおおよそのラグ (zookeeper) |
メトリックkafka_consumergroupzookeeper_lag_zookeeper
を収集できるようにするには、次のフラグを設定する必要があります。
use.consumelag.zookeeper
: Zookeeper からの消費ラグの収集を有効にしますzookeeper.server
: Zookeeper への接続用のアドレスメトリクスの出力例
# HELP kafka_consumergroup_current_offset Current Offset of a ConsumerGroup at Topic/Partition
# TYPE kafka_consumergroup_current_offset gauge
kafka_consumergroup_current_offset{consumergroup="KMOffsetCache-kafka-manager-3806276532-ml44w",partition="0",topic="__consumer_offsets"} -1
# HELP kafka_consumergroup_lag Current Approximate Lag of a ConsumerGroup at Topic/Partition
# TYPE kafka_consumergroup_lag gauge
kafka_consumergroup_lag{consumergroup="KMOffsetCache-kafka-manager-3806276532-ml44w",partition="0",topic="__consumer_offsets"} 1
Grafana ダッシュボード ID: 7589、名前: Kafka Exporter 概要。
ダッシュボードの詳細については、「Kafka Exporter の概要」を参照してください。
Kafka Exporter が気に入っていただけましたら、スターをお願いします。これにより、より多くの人が Kafka Exporter を知ることができます。
お気軽にプルリクエストを送ってください。
これらの素晴らしい人々に感謝します。
あなたの寄付は、Kafka Exporter の改善を続ける励みになります。 Alipayの寄付をサポートしてください。
コードは、Apache License 2.0 に基づいてライセンスされています。