Kafkaクラスターは、公開するJMXメトリックを介して詳細に監視できます。通常、外部GUIまたはjconsole
などのアプリケーションは、ブローカーの公開JMX_PORT
に順番に接続する必要があります。これらのメトリックを表示します。
STDOUT
を介して、SSHセッションでブローカーのJMXメトリックを表示する方法はありますか?これらのメトリックを表示するために実行できるネイティブKafkaコマンドはありますか?
ここにある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
ヘルプはその後あなたが必要なものをあなたに与えるでしょう:)
この瓶を便利な場所に保存してください。私はほぼ毎日使用しています。
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
と同等です