web-dev-qa-db-ja.com

JMXによって報告され、Apache用に収集された誤った測定値Kafka

JMXを使用してApache Kafkaからメトリックを収集し、collectdを介して視覚化および監視サービスであるLibratoに送信しています。問題は、一部のメトリックが誤ってレポートしているように見えることです。 Kafkaクラスターを使用している人は誰でも、1分間に多数の着信メッセージ(15,000など)を報告するノードもあれば、予想どおり0を報告するノードもあります。

Collectdのメトリック構成の1つは次のとおりです。

<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のグラフです。

Messages per second visualization in Librato

誰かが何が悪いのか知っていますか? Typeなどの私の収集した構成ですか?

2
Matheus Portela

この問題についてのほんの少しのフォローアップ:それはJMXでも収集された間違いでもありませんでした。各Kafkaブローカーに直接ログインし、MBeanの値を読み取ることで、JMX、collectd、およびLibratoの値が一貫していることを確認しました。

問題は、自動コミット間隔が小さすぎるKafkaクライアントを使用していたため、各Kafkaブローカーに送信されるメッセージの数がhugeであったことです。

1
Matheus Portela