kafka-JVM采集器安装

Kafka采集器安装说明

① 下载安装采集器

下载采集器,并上传至服务器

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
### 配置 Prometheus 监控 Kafka 指标 #### 使用 JMX Exporter 方法 为了通过 Prometheus 收集 Kafka 的相关指标,一种常用的方法是利用 JMX Exporter。这涉及几个关键步骤。 安装并配置 JMX Exporter 是第一步。下载适合操作系统的 jmx_prometheus_javaagent 版本[^2]。接着,在 Kafka 启动脚本中加入如下 JVM 参数来加载此代理: ```bash -Djava.agent=/path/to/jmx_prometheus_javaagent.jar=port:/path/to/config.yaml ``` 其中 `port` 表示监听的端口号,而 `/path/to/config.yaml` 则指向自定义的 YAML 文件路径,该文件用于指定哪些 MBeans 将被暴露给 Prometheus 抓取。 完成上述设置之后,重启 Kafka 实例以便使更改生效。此时应该可以通过访问 http://localhost:<port>/metrics 来验证是否有预期的度量标准输出。 接下来调整 Prometheus Server 的 scrape_configs 设置,增加一个新的 job 定义以定期抓取来自 JMX Exporter 的数据点。例如: ```yaml scrape_configs: - job_name: 'kafka' static_configs: - targets: ['<host>:<port>'] ``` 最后一步是在 Grafana 中创建仪表板展示这些收集到的数据。先添加 Prometheus 数据源连接至已部署的服务实例上;随后导入预先设计好的可视化模板或是手动构建图表展现感兴趣的关键性能指示器(KPIs)。 #### 使用 Docker Compose 方便快捷地启动服务 对于希望简化环境搭建过程的情况来说,采用容器化方案不失为一个好的选择。编写 docker-compose.yml 文件描述所需组件及其依赖关系,像这样: ```yaml version: '3' services: prometheus: image: prom/prometheus:v2.30.3 ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana:latest ports: - "3000:3000" kafka-exporter: image: obsidiandynamics/kafka-exporter:main environment: KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 depends_on: - zookeeper zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" ``` 执行命令 `[root@... kafka-exporter]#docker-compose up -d` 可一键拉起整个集群,并自动处理好各部分之间的网络互通问题[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值