Что означают параметры 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 - это значение "текущего состояния", а также индикатор.