我通过添加在 Kafka 代理上启用了 JMX
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=<server_IP>
-Djava.net.preferIPv4Stack=true"
但是,当我使用
kafka.tools.JmxTool
时要获取 JMX 指标,它仅输出 Unix 时间戳。为什么?
./bin/kafka-run-class.sh kafka.tools.JmxTool \
--object-name 'kafka.server:type=BrokerTopicMetrics,name=AllTopicsMessagesInPerSec' \
--jmx-url "service:jmx:rmi:///jndi/rmi://<server_IP>:9111/jmxrmi"
我怎样才能让它打印出指标?
请您参考如下方法:
编辑 bin/kafka-run-class.sh 并设置 KAFKA_JMX_OPTS 变量
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=your.kafka.broker.hostname -Djava.net.preferIPv4Stack=true"
更新 bin/kafka-server-start.sh 添加以下行
export JMX_PORT=PORT