运行

二进制方式

kafka_exporter --kafka.server=kafka:9092

[–kafka.server=another-server …]

配置

此表格可使用不同的标志进行配置

配置

描述

默认

kafka.server

kafka:9092

Kafka服务器的地址(主机:端口)

kafka.version

2.0.0

Kafka代理的版本

sasl.enabled

false

使用SASL/PLAIN进行连接

sasl.handshake

true

如果使用非Kafka SASL代理,请将此项设置为false

sasl.username

SASL用户名

sasl.password

SASL用户密码

sasl.mechanism

SASL机制可以是plain、scram-sha512或scram-sha256

sasl.service-name

使用Kerberos身份验证时的服务名称

sasl.kerberos-config-path

Kerberos配置路径

sasl.realm

Kerberos领域

sasl.keytab-path

Kerberos keytab文件路径

sasl.kerberos-auth-type

Kerberos身份验证类型。可以是’keytabAuth’或’userAuth’

tls.enabled

false

使用TLS连接到Kafka

tls.server-name

用于验证返回的证书上的主机名,除非提供了tls.insecure-skip-tls-verify。应提供Kafka服务器的名称

tls.ca-file

Kafka TLS客户端身份验证的可选证书颁发机构文件

tls.cert-file

Kafka客户端身份验证的可选证书文件

tls.key-file

Kafka客户端身份验证的可选密钥文件

tls.insecure-skip-tls-verify

false

如果为true,则不会检查服务器证书的有效性

server.tls.enabled

false

启用Web服务器的TLS

server.tls.mutual-auth-enabled

false

启用TLS客户端相互身份验证

server.tls.ca-file

Web服务器的证书颁发机构文件

server.tls.cert-file

Web服务器的证书文件

server.tls.key-file

Web服务器的密钥文件

topic.filter

.*

确定要收集的主题的正则表达式

topic.exclude

^$

确定要排除的主题的正则表达式

group.filter

.*

确定要收集的消费者组的正则表达式

group.exclude

^$

确定要排除的消费者组的正则表达式

web.listen-address

:9308

Web界面和遥测的监听地址

web.telemetry-path

/metrics

公开指标的路径

log.enable-sarama

false

启用Sarama日志记录

use.consumelag.zookeeper

false

如果需要从ZooKeeper使用组,请设置为true

zookeeper.server

localhost:2181

ZooKeeper服务器的地址(主机)

kafka.labels

Kafka集群名称

refresh.metadata

30s

元数据刷新间隔

offset.show-all

true

是否显示所有消费者组的偏移/延迟,否则仅显示已连接的消费者组

concurrent.enable

false

如果为true,则所有抓取将触发Kafka操作,否则它们将共享结果。警告:在大型集群上应禁用此选项

topic.workers

100

主题工作线程数

verbosity

0

详细程度日志级别

布尔配置

每个以布尔值作为配置的都有一个附加参数:–和–no-.

例如:

如果您需要禁用sasl.handshake,您可以添加配置–no-sasl.handshake

指标

Brokers

指标详细信息

前缀名称

暴露的指标

kafka_brokers

Kafka集群中的brokers数量

指标输出示例

# Kafka _ Brokers Kafka集群中的brokers数量。

# kafka_brokers指标

例如: kafka_brokers 3

Topics

Metrics****详细信息

指标名称

暴露的信息

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

是否主题/分区使用首选代理

kafka_topic_partition_replicas

该主题/分区的副本数量

kafka_topic_partition_under_replicated_partition

如果主题/分区复制不足

指标输出示例

# 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

Consumer Groups

指标详细信息

指标名称

暴露的信息

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"}

验证

http://ip:9308/metrics

on

# TYPE kafka_consumergroup_lag gauge

kafka_consumergroup_lag{consumergroup=“KMOffsetCache-kafka-manager-3806276532-ml44w”,partition=“0”,topic="__consumer_offsets"}

验证

http://ip:9308/metrics