O que significam os parâmetros MBean em collectd?

2

Estou usando o JMX para monitorar um cluster do Apache Kafka com o plug-in GenericJMX do collectd. No entanto, não tenho certeza do que alguns dos parâmetros do MBean significam.

Particularmente, tenho uma métrica chamada kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec , que mostra o número de mensagens por segundo recebidas por uma máquina. Este é o meu arquivo de configuração para este MBean:

<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>

Eu não sei qual Type é a correta para essa medida, como gauge , counter ou outra. Eu tentei ler esta documentação em collectd por não poder realmente entender onde eu deveria aplicar cada tipo de medição. / p>

Alguém poderia me explicar isso?

    
por Matheus Portela 25.01.2017 / 12:37

2 respostas

1

Eu finalmente consegui fazê-lo funcionar. Praticamente todas as métricas de Kafka no JMX possuem múltiplos atributos. Por exemplo, esse kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec contém os seguintes atributos:

  • Count
  • EventType
  • FifteenMinuteRate
  • FiveMinuteRate
  • MeanRate
  • OneMinuteRate
  • RateUnit

Ao selecionar o Type , deve-se escolher se ela deseja recuperar o valor como está ou sua variação durante o intervalo. O collectd está configurado para relatar métricas. Portanto, gauge é o valor e counter é sua variação.

A maneira mais flexível de relatar as métricas JMX do Kafka é simplesmente usar o atributo Count , um contador crescente monotonicamente que é incrementado sempre que uma nova mensagem chega e é relatado como counter . Se o collectd estiver configurado para relatar a cada 60 segundos, esse será o número de mensagens recebidas por minuto. Se estiver reportando a cada 10 minutos, o valor será o número de mensagens por 10 minutos.

<MBean "kafka-all-messages">
  ObjectName "kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec"
  InstancePrefix "all"
  <Value>
    InstancePrefix "kafka-messages-in"
    Type "counter"
    Table false
    Attribute "Count"
  </Value>
</MBean>
    
por 02.02.2017 / 11:52
2

Isso parece um medidor, em virtude de ser um valor 'Per' - o Kafka já está normalizando isso em um determinado período de tempo. Se o nome fosse apenas 'MessagesIn', eu esperaria que fosse um contador - um número que aumenta continuamente à medida que as mensagens chegam.

Em outras palavras, se o bean retorna o 'agora' de alguma coisa, é um medidor. Se retorna o "total até agora" de alguma coisa, é um contador. MessagesInPerSec é um valor de 'estado atual', portanto, é um medidor.

    
por 25.01.2017 / 18:42