我正在运行 ZooKeeper 和单个 Kafka 代理,我想使用 MetricBeat 获取指标,使用 ElasticSearch 对其进行索引并使用 Kibana 进行显示。
但是,MetricBeat 只能从metricset 中获取数据,partition
而没有任何来自consumergroup
metricset 的数据。
由于kafka
模块被定义为定期metricbeat.yml
,它应该自己发送一些数据,而不仅仅是等待用户交互(f.exam。-写入主题)?为了确保自己,我尝试创建消费者组,从主题中写入和消费,但consumergroup
metricset仍然没有收集到数据。
consumergroup
metricbeat.template.json
在和中都有定义metricbeat.template-es2x.json
。
虽然metricbeat.full.yml
被完全注释掉,但这是我的metricbeat.yml
kafka 模块定义:
- module: kafka
metricsets: ["partition", "consumergroup"]
enabled: true
period: 10s
hosts: ["localhost:9092"]
client_id: metricbeat1
retries: 3
backoff: 250ms
topics: []
在/logs
MetricBeat 的目录中,会出现这样的行:
INFO Non-zero metrics in the last 30s:
libbeat.es.published_and_acked_events=109
libbeat.es.publish.write_bytes=88050
libbeat.publisher.messages_in_worker_queues=109
libbeat.es.call_count.PublishEvents=5
fetches.kafka-partition.events=106
fetches.kafka-consumergroup.success=2
libbeat.publisher.published_events=109
libbeat.es.publish.read_bytes=2701
fetches.kafka-partition.success=2
fetches.zookeeper-mntr.events=3
fetches.zookeeper-mntr.success=3
使用 ZooKeepermntr
和 Kafka 的partition
,我可以看到events=
和success=
重视,但consumergroup
只有success
. 看起来没有事件被触发。
partition
和mntr
数据在 Kibana 中正确可见,而consumergroup
丢失。
存储在 ElasticSearch 中的数据是肉眼无法读取的,有一些用于目录名称的内部字符串,并且日志不包含任何有用的信息。
任何人都可以帮助我了解发生了什么并修复它(可能是 MetricBeat)以将数据发送到 ElasticSearch 吗?谢谢 :)