Monitoring
JMX 報告錯誤的測量值並為 Apache Kafka 收集
我正在使用 JMX 從 Apache Kafka 收集指標並通過 collectd 發送到視覺化和監控服務 Librato。問題是某些指標似乎報告錯誤。例如,在沒有任何人使用 Kafka 集群的情況下,一些節點報告每分鐘有大量傳入消息(如 15,000 條),而其他節點報告為 0,正如預期的那樣。
這是 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>
這是 Librato 中的圖表:
有誰知道出了什麼問題?是我收集的配置,例如
Type
或類似的東西嗎?
只是對這個問題的一個小跟進:它既不是 JMX 也不是 collectd 錯誤。我通過直接登錄到每個 Kafka 代理並讀取其 MBean 中的值來驗證 JMX、collectd 和 Librato 具有一致的值。
問題是我們使用的 Kafka 客戶端的自動送出間隔太小,這會產生大量消息發送到每個 Kafka 代理。