Estou usando o JMX para coletar métricas do Apache Kafka e enviar para o Librato, um serviço de visualização e monitoramento, via collectd. O problema é que algumas métricas parecem estar relatando incorretamente. Por exemplo, sem ninguém usando o cluster Kafka, alguns nós relatam um alto número de mensagens recebidas por minuto (como 15.000), enquanto os outros relatam 0, como esperado.
Aqui está uma das configurações de métricas no 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>
E aqui está o gráfico em Librato:
Alguém sabe o que está acontecendo de errado? É minha configuração collectd, como Type
ou algo assim?
Apenas um pequeno acompanhamento sobre este problema: não foi nem JMX nem erros coletados. Verifiquei que JMX, collectd e Librato estavam com valores consistentes efetuando login diretamente em cada corretor Kafka e lendo os valores em seus MBeans.
O problema era que estávamos usando clientes Kafka com intervalo de confirmação automática muito pequeno, o que gerava um grande número de mensagens enviadas para cada agente Kafka.