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 独特管理。每个布尔标志都有一个负补码: --
和--no-
。
例如:
如果您需要禁用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 获得许可。