问题
A Kafka cluster can be monitored in granular detail via the JMX metrics it exposes. Usually an external GUI or application like jconsole
needs to be hooked up to a broker's exposed JMX_PORT
in order to view these metrics.
Is there a way that I can view a broker's JMX metrics in an SSH session, via STDOUT
?
Is there a native Kafka command that I can run to view these metrics?
回答1:
Download the jar located here:
https://sourceforge.net/projects/cyclops-group/files/jmxterm/1.0-alpha-4/
On the machine, then run:
wget https://sourceforge.net/projects/cyclops-group/files/jmxterm/1.0-alpha-4/ -o jmx.jar
java -jar jmx.jar
>open localhost:$jmx_port
Help will give you what you need after that :)
Save this jar somewhere useful, I use it nearly every day.
回答2:
Use kafka.tools.JmxTool
.
Assuming you have enabled JMX on your broker on the default port of 9999, you can simply run this example command to print out jmx metrics for BrokerTopics via STDOUT
$ ./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
prints out JMX metrics every --reporting-interval
option.
--reporting-interval <Integer: ms>
Interval (in millis) with which to poll jmx stats
Default:
2000
(2 seconds)Value of
-1
is equivalent to--one-time true
回答3:
It looks like you can use this tool:
https://cwiki.apache.org/confluence/display/KAFKA/jmxterm+quickstart
来源:https://stackoverflow.com/questions/41752581/how-to-monitor-jmx-metrics-of-kafka-broker-on-command-line