kafka_exporter
1.8.0
普羅米修斯的卡夫卡出口商。有關 Kafka 的其他指標,請查看 JMX 匯出器。
支援 Apache Kafka 版本 0.10.1.0(及更高版本)。
二進位檔案可以從發布頁面下載。
make
make docker
docker pull danielqsj/kafka-exporter:latest
可以直接使用,無需自己建造鏡像。 (Docker 中心 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
flie
services:
kafka-exporter:
image: danielqsj/kafka-exporter
command: ["--kafka.server=kafka:9092", "[--kafka.server=another-server ...]"]
ports:
- 9308:9308
然後運行它
docker-compose up -d
此影像可以使用不同的標誌進行配置
旗幟名稱 | 預設 | 描述 |
---|---|---|
kafka伺服器 | 卡夫卡:9092 | Kafka伺服器位址(主機:連接埠) |
kafka.版本 | 2.0.0 | 卡夫卡經紀人版本 |
啟用 sasl | 錯誤的 | 使用 SASL/PLAIN 連接 |
sasl.握手 | 真的 | 僅當使用非 Kafka SASL 代理時才將其設為 false |
sasl.使用者名稱 | SASL 使用者名稱 | |
sasl.密碼 | SASL用戶密碼 | |
sasl機制 | SASL機制可以是plain、scram-sha512、scram-sha256 | |
sasl.服務名稱 | 使用 Kerberos Auth 時的服務名稱 | |
sasl.kerberos 設定路徑 | Kerberos 配置路徑 | |
sasl 領域 | Kerberos 領域 | |
sasl.keytab 路徑 | Kerberos 金鑰表檔案路徑 | |
sasl.kerberos-auth-類型 | Kerberos 驗證類型。 “keytabAuth”或“userAuth” | |
啟用 tls | 錯誤的 | 使用 TLS 連接到 Kafka |
tls.伺服器名稱 | 用於驗證傳回憑證上的主機名,除非給了 tls.insecure-skip-tls-verify 。應給出 kafka 伺服器的名稱 | |
tls.ca 文件 | 用於 Kafka TLS 用戶端身份驗證的選用憑證授權單位文件 | |
tls.cert 文件 | 用於Kafka用戶端身份驗證的可選證書文件 | |
tls.密鑰文件 | 用於Kafka用戶端身份驗證的可選金鑰文件 | |
tls.不安全-跳過-tls-驗證 | 錯誤的 | 如果為 true,則不會檢查伺服器憑證的有效性 |
伺服器.tls.啟用 | 錯誤的 | 為 Web 伺服器啟用 TLS |
server.tls.mutual-auth-enabled | 錯誤的 | 啟用 TLS 用戶端相互身份驗證 |
server.tls.ca 文件 | Web 伺服器的憑證授權單位文件 | |
server.tls.cert 文件 | Web 伺服器的憑證文件 | |
server.tls.key 文件 | Web 伺服器的金鑰文件 | |
主題.過濾器 | .* | 決定要收集哪些主題的正規表示式 |
主題.排除 | ^$ | 決定要排除哪些主題的正規表示式 |
組.過濾器 | .* | 確定要收集哪些消費者群組的正規表示式 |
組.排除 | ^$ | 確定要排除哪些消費者群組的正規表示式 |
web.監聽地址 | :9308 | 用於監聽 Web 介面和遙測的位址 |
web.遙測路徑 | /指標 | 公開指標的路徑 |
日誌啟用-sarama | 錯誤的 | 開啟 Sarama 日誌記錄 |
使用.consumelag.zookeeper | 錯誤的 | 如果你需要使用來自zookeeper的群組 |
動物園管理員伺服器 | 本地主機:2181 | Zookeeper伺服器的位址(主機) |
kafka.標籤 | 卡夫卡集群名稱 | |
重新整理元數據 | 30秒 | 元資料刷新間隔 |
偏移量.顯示全部 | 真的 | 是否顯示所有消費者群組的偏移/滯後,否則,僅顯示連接的消費者群組 |
並發啟用 | 錯誤的 | 如果為 true,則所有抓取都會觸發 kafka 操作,否則,它們將共用結果。警告:應在大型叢集上停用此功能 |
主題.workers | 100 | 主題工作者數量 |
冗長 | 0 | 詳細日誌級別 |
布林值由 Kingpin 獨特管理。每個布林標誌都有一個負補碼: --<name>
和--no-<name>
。
例如:
如果您需要停用sasl.handshake
,您可以新增標誌--no-sasl.handshake
有關公開的 Prometheus 指標的文檔。
有關底層指標的詳細信息,請參閱 Apache Kafka。
指標詳細信息
姓名 | 暴露資訊 |
---|---|
kafka_brokers | Kafka叢集中的Broker數量 |
指標輸出範例
# 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 | 該主題/分區的 Leader Broker 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。支持支付寶捐款。
程式碼根據 Apache License 2.0 授權。