Что означают параметры MBean в collectd?

Я использую JMX для мониторинга кластера Apache Kafka с плагином Collectd GenericJMX. Однако я не уверен, что означают некоторые параметры MBean.

В частности, у меня есть одна метрика называется kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, показывая количество сообщений в секунду, полученных на одной машине. Это мой файл конфигурации для этого 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>

Я не знаю какой Type является правильным для этого измерения, например, gauge, counter или другой. Я пытался прочитать эту документацию на коллекцию, не мог понять, где я должен применять каждый тип измерения.

Может ли кто-нибудь объяснить мне это?

2 ответа

Решение

Мне наконец удалось заставить это работать. Практически все метрики Kafka в JMX имеют несколько атрибутов. Например, это kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec содержит следующие атрибуты:

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

При выборе Typeнужно выбрать, хочет ли она получить значение как есть, или его изменение в течение интервала сбора данных настроено для отчета о показателях. Следовательно, gauge это значение и counter это его вариация.

Самый гибкий способ сообщить о JMX-показателях Kafka - это просто использовать Count атрибут, монотонно увеличивающийся счетчик, который увеличивается каждый раз, когда приходит новое сообщение, и сообщает об этом как counter, Если collectd настроен для отправки отчетов каждые 60 секунд, это будет количество сообщений, приходящих за минуту. Если он сообщает каждые 10 минут, значением будет количество сообщений за 10 минут.

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

Это похоже на калибровку, поскольку является значением "Per" - Kafka уже нормализует это в конкретный период времени. Если бы это было просто "MessagesIn", я бы ожидал, что это будет счетчик - число, которое постоянно увеличивается по мере поступления сообщений.

Другими словами, если бин возвращает "прямо сейчас" чего-то, это является мерой. Если он возвращает "итоговое значение" чего-либо, это счетчик. MessagesInPerSec - это значение "текущего состояния", а также индикатор.

Другие вопросы по тегам