Wrong measurements being reported by JMX and collectd for Apache Kafka

I'm using JMX to gather metrics from Apache Kafka and send to Librato, a visualization and monitoring service, via collectd. The problem is that some metrics seems to be reporting wrongly. For instance, without anyone using the Kafka cluster, some nodes report high number of incoming messages for minute (like 15,000), whereas the others report 0, as expected.

Here is one of the metrics configuration in collectd:

<MBean "kafka-all-messages">
  ObjectName "kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec"
  InstancePrefix "all"
  <Value>
    InstancePrefix "kafka-messages-in"
    Type "counter"
    Table false
    Attribute "MeanRate"
  </Value>
</MBean>

And here is the graph in Librato:

Messages per second visualization in Librato

Does anyone know what's going wrong? Is it my collectd configuration, such as Type or anything like this?

2
задан 24 January 2017 в 19:31
1 ответ

Небольшое уточнение по этой проблеме: это не были ни JMX, ни сборные ошибки. Я проверил, что JMX, collectd и Librato имеют согласованные значения, войдя непосредственно в каждый брокер Kafka и прочитав значения в их MBean-компонентах.

Проблема заключалась в том, что мы использовали клиентов Kafka со слишком маленьким интервалом автоматической фиксации, который генерировал огромное количество сообщений, отправляемых каждому брокеру Kafka.

1
ответ дан 3 December 2019 в 12:37

Теги

Похожие вопросы