1

我正在运行 ZooKeeper 和单个 Kafka 代理,我想使用 MetricBeat 获取指标,使用 ElasticSearch 对其进行索引并使用 Kibana 进行显示。

但是,MetricBeat 只能从metricset 中获取数据,partition而没有任何来自consumergroupmetricset 的数据。

由于kafka模块被定义为定期metricbeat.yml,它应该自己发送一些数据,而不仅仅是等待用户交互(f.exam。-写入主题)?为了确保自己,我尝试创建消费者组,从主题中写入和消费,但consumergroupmetricset仍然没有收集到数据。

consumergroupmetricbeat.template.json在和中都有定义metricbeat.template-es2x.json

虽然metricbeat.full.yml被完全注释掉,但这是我的metricbeat.ymlkafka 模块定义:

- module: kafka
  metricsets: ["partition", "consumergroup"]
  enabled: true
  period: 10s

  hosts: ["localhost:9092"]

  client_id: metricbeat1
  retries: 3
  backoff: 250ms

  topics: []

/logsMetricBeat 的目录中,会出现这样的行:

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. 看起来没有事件被触发。

partitionmntr数据在 Kibana 中正确可见,而consumergroup丢失。

存储在 ElasticSearch 中的数据是肉眼无法读取的,有一些用于目录名称的内部字符串,并且日志不包含任何有用的信息。

任何人都可以帮助我了解发生了什么并修复它(可能是 MetricBeat)以将数据发送到 ElasticSearch 吗?谢谢 :)

4

1 回答 1

1

您需要有一个活跃的消费者消费主题,才能为consumergroup度量集生成事件。

于 2018-03-09T15:56:54.960 回答