Monitoring

collectd 中的 MBean 參數是什麼意思?

  • September 20, 2019

我正在使用 JMX 來監控帶有 collectd 的 GenericJMX 外掛的 Apache Kafka 集群。但是,我不確定某些 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是正確的測量值,例如gaugecounter或另一個。我已經嘗試閱讀有關 collectd的文件,但無法真正理解我應該在哪裡應用每種測量類型。

有人可以解釋一下嗎?

我終於設法讓它工作了。JMX 中幾乎所有的 Kafka 指標都有多個屬性。例如,它kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec包含以下屬性:

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

選擇 時Type,您必須選擇是希望它按原樣檢索值,還是在將收集的時間間隔配置為報告度量時其差異。因此,gauge是價值,counter是差異。

報告 Kafka 的 JMX 指標最靈活的方法是簡單地使用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”,我希望它是一個計數器——隨著消息的傳入,這個數字會不斷增加。

換句話說,如果 bean 返回某個東西的“現在”,它就是一個量規。如果它返回某事物的“到目前為止的總數”,則它是一個計數器。MessagesInPerSec 是一個“目前狀態”值,因此也是一個量規。

引用自:https://serverfault.com/questions/828511