Medições erradas sendo relatadas pelo JMX e coletadas pelo Apache Kafka

2

Estou usando o JMX para reunir 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 reportando erroneamente. Por exemplo, sem ninguém usar 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 em 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 no Librato:

Alguém sabe o que está errado? É minha configuração collectd, como Type ou algo assim?

    
por Matheus Portela 24.01.2017 / 18:31

1 resposta

1

Apenas um pequeno acompanhamento nesta questão: não foi nem JMX nem erros collectd. Eu verifiquei que JMX, collectd e Librato estavam com valores consistentes fazendo login diretamente em cada broker Kafka e lendo os valores em seus MBeans.

O problema era que estávamos usando clientes Kafka com um intervalo de auto-confirmação muito pequeno, o que gerava grandes números de mensagens sendo enviadas para cada corretor Kafka.

    
por 01.02.2017 / 18:32