web-dev-qa-db-ja.com

コマンドラインでKafkaブローカーのJMXメトリックを監視する方法は?

Kafkaクラスターは、公開するJMXメトリックを介して詳細に監視できます。通常、外部GUIまたはjconsoleなどのアプリケーションは、ブローカーの公開JMX_PORTに順番に接続する必要があります。これらのメトリックを表示します。

STDOUTを介して、SSHセッションでブローカーのJMXメトリックを表示する方法はありますか?これらのメトリックを表示するために実行できるネイティブKafkaコマンドはありますか?

8
Cole Bittel

ここにあるjarをダウンロードします。

https://sourceforge.net/projects/cyclops-group/files/jmxterm/1.0-alpha-4/

マシン上で、次を実行します。

wget https://sourceforge.net/projects/cyclops-group/files/jmxterm/1.0-alpha-4/ -o jmx.jar

Java -jar jmx.jar

>open localhost:$jmx_port

ヘルプはその後あなたが必要なものをあなたに与えるでしょう:)

この瓶を便利な場所に保存してください。私はほぼ毎日使用しています。

4
Marc Murray

kafka.tools.JmxToolを使用します。

デフォルトのポート9999に ブローカーで有効なJMX があるとすると、このコマンド例を実行するだけで、STDOUTを介してBrokerTopicsのjmxメトリックを出力できます。

$ ./bin/kafka-run-class.sh kafka.tools.JmxTool \
  --object-name kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
Trying to connect to JMX url: service:jmx:rmi:///jndi/rmi://:9999/jmxrmi.
"time","kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec:Count","kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec:EventType","kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec:FifteenMinuteRate","kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec:FiveMinuteRate","kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec:MeanRate","kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec:OneMinuteRate","kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec:RateUnit"
1567587563143,0,messages,0.0,0.0,0.0,0.0,SECONDS
1567587565148,0,messages,0.0,0.0,0.0,0.0,SECONDS
1567587567150,0,messages,0.0,0.0,0.0,0.0,SECONDS
...

JmxToolは、--reporting-intervalオプションごとにJMXメトリックを出力します。

-reporting-interval <整数:ms>

Jmx統計をポーリングする間隔(ミリ単位)

デフォルト:2000(2秒)

-1の値は--one-time trueと同等です

13
Liz Bennett

このツールを使用できるようです。

https://cwiki.Apache.org/confluence/display/KAFKA/jmxterm+quickstart

0
Kevin