① 下载安装采集器
下载采集器,并上传至服务器
https://github.com/prometheus/jmx_exporter
kafka_jmx_exporter.tar.gz
② 解压采集器
tar -zxvf kafka_jmx_exporter.tar.gz
cd kafka_jmx_httpserver-0.17.2
③ 修改采集器配置
前提条件
通过jmx方式监控Kafka,需要Kafka开启jmx远程访问,具体方式可以参考附录。
修改jmx_agent_conf.yaml配置文件
hostPort: 127.0.0.1:1099
参数说明:
hostPort参数,修改为Kafka服务器ip地址和jmx连接端口,根据实际情况填写 host和 port
④ 启动采集器
在安装部署时,先通过前台方式启动,确认能正常采集指标数据后,可以修改为后台方式启动。
如果启动失败,出现报错日志信息,查看日志,检查Kafka是否正常开启jmx监控,jmx端口是否正常启动。
下面启动命令中9112是指采集器服务所占用的端口。
# 前台启动
java -jar activemq_jmx_httpserver-0.17.2.jar 9112 jmx_agent_conf.yaml
# 后台启动:
nohup java -jar activemq_jmx_httpserver-0.17.2.jar 9112 jmx_agent_conf.yaml &
⑤ 验证
验证采集器是否安装成功
访问:http://kafka_exporter_ip:9112/metrics 页面显示如下,如果可以正常查询kafka_server_socket_server_metrics_connection_creation_total指标,则说明采集器启动成功。
# HELP jmx_exporter_build_info A metric with a constant '1' value labeled with the version of the JMX exporter.
# TYPE jmx_exporter_build_info gauge
jmx_exporter_build_info{version="unknown",name="unknown",} 1.0
# HELP kafka_server_socket_server_metrics_connection_creation_total The total number of new connections established kafka.server:name=null,type=socket-server-metrics,attribute=connection-creation-total
# TYPE kafka_server_socket_server_metrics_connection_creation_total untyped
kafka_server_socket_server_metrics_connection_creation_total{listener="PLAINTEXT",networkProcessor="1",} 0.0
kafka_server_socket_server_metrics_connection_creation_total{listener="PLAINTEXT",networkProcessor="2",} 0.0
kafka_server_socket_server_metrics_connection_creation_total{listener="PLAINTEXT",networkProcessor="0",} 0.0
# HELP kafka_controller_ControllerStats_99thPercentile Attribute exposed for management kafka.controller:name=ControlledShutdownRateAndTimeMs,type=ControllerStats,attribute=99thPercentile
# TYPE kafka_controller_ControllerStats_99thPercentile untyped
kafka_controller_ControllerStats_99thPercentile{name="ControlledShutdownRateAndTimeMs",} 0.0
kafka_controller_ControllerStats_99thPercentile{name="PartitionReassignmentRateAndTimeMs",} 0.0
kafka_controller_ControllerStats_99thPercentile{name="ManualLeaderBalanceRateAndTimeMs",} 0.76606
附录
Kafka开启jmx监控说明
Kafka开启jmx监控
kafka自身提供的监控指标都可以通过JMX(Java Manager Extension)来进行获取。在使用JMX之前首先要开启JMX的功能。
JMX_PORT=9999 ./kafka-server-start.sh ../config/server.properties