web-dev-qa-db-ja.com

collectdでMBeanパラメーターはどういう意味ですか?

JMXを使用してApache KafkaクラスターとcollectdのGenericJMXプラグインを監視しています。ただし、一部のMBeanパラメーターの意味がわかりません。

特に、kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSecという1つのメトリックがあり、1台のマシンが受信した1秒あたりのメッセージ数を示しています。これは、この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>

Typegaugeなど、この測定に適したcounterがわかりません。私は読んでみました collectdに関するこのドキュメント によって、各測定タイプをどこに適用すべきかを本当に理解できませんでした。

誰かが私にそれを説明できますか?

2
Matheus Portela

私はついにそれを機能させることができました。ほとんどすべてのKafka JMXのメトリックには複数の属性があります。たとえば、このkafka.server:type=BrokerTopicMetrics,name=MessagesInPerSecには次の属性が含まれています。

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

Typeを選択するときは、値をそのまま取得するか、収集された間隔の差がメトリックをレポートするように構成されているかを選択する必要があります。したがって、gaugeは値であり、counterは差です。

KafkaのJMXメトリックをレポートする最も柔軟な方法は、新しいメッセージが到着するたびにインクリメントされる単調に増加するカウンターであるCount属性を使用し、それをcounterとしてレポートすることです。 collectdが60秒ごとにレポートするように構成されている場合、これは1分あたりに着信するメッセージの数になります。 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>
1
Matheus Portela

これは、「Per」値であるため、ゲージのように見えます-Kafkaは、これを特定の時間枠にすでに正規化しています。名前が「MessagesIn」の場合は、それを期待します。カウンターになる-メッセージが届くにつれて継続的に増加する数。

言い換えれば、Beanが何かの「今」を返す場合、それはゲージです。何かの「これまでの合計」を返す場合、それはカウンターです。 MessagesInPerSecは「現在の状態」の値であるため、ゲージも同様です。

2
Jason Martin