Я использую JMX для сбора метрик из Apache Kafka и отправки в Librato, службу визуализации и мониторинга, через collectd. Проблема в том, что некоторые показатели, похоже, сообщают неверно. Например, без использования кластера Kafka некоторые узлы сообщают о большом количестве входящих сообщений за минуту (например, 15 000), тогда как другие, как и ожидалось, сообщают 0.
Вот одна из конфигураций метрик в 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>
А вот график в Librato:
Кто-нибудь знает, что не так? Это моя конфигурация collectd, например Type
или что-нибудь подобное?
Небольшое уточнение по этой проблеме: это не было ни JMX, ни сборными ошибками. Я проверил, что JMX, collectd и Librato имеют согласованные значения, войдя непосредственно в каждый брокер Kafka и прочитав значения в их MBean-компонентах.
Проблема заключалась в том, что мы использовали клиентов Kafka со слишком маленьким интервалом автоматической фиксации, который генерировал огромный количество сообщений, отправляемых каждому брокеру Kafka.