1.下载kafka,链接https://kafka.apache.org/downloads; 2.配置kafka的JMX PORT,修改bin/kafka-server-start.sh,添加一行export JMX_PORT="9999",我这里用了9999端口。 3.下载jmx_exporter,链接https://github.com/prometheus/jmx_exporter, 我将文件放在/opt/kafka/kafka_2.11-1.0.0/jmx_prometheus_javaagent-...
配合kafka启动脚本,修改 bin/kafka_server_start.sh,添加常量,只需要在一个broker实例中添加即可,我这边在集群里每一个broker实例都做了步骤一的操作,并修改了kafka启动脚本 export JMX_PORT="9999" export KAFKA_OPTS="-javaagent:$base_dir/jmx_prometheus_javaagent-0.15.0.jar=9991:$base_dir/kafka.yaml" ...
下载jmx exporter以及配置文件。Jmx exporter中包含了kafka各个组件的指标,如server metrics、producer ...
2.配置kafka的JMX PORT,修改bin/kafka-server-start.sh,添加一行export JMX_PORT="9999",我这里用了9999端口。 3.下载jmx_exporter,链接https://github.com/prometheus/jmx_exporter, 我将文件放在/opt/kafka/kafka_2.11-1.0.0/jmx_prometheus_javaagent-0.9.jar; 4.创建文件kafka-agent.yaml, 我放在/opt/kaf...
JVM 默认会通过 JMX 的方式暴露基础指标,很多中间件也会通过 JMX 的方式暴露业务指标,比如 Kafka、Zookeeper、ActiveMQ、Cassandra、Spark、Tomcat、Flink ...
通过kafka_server_replicamanager_leadercount指标进行监控。最后,离线分区kafka_controller_offlinepartitionscount指标的存在,提醒监控者注意消息丢失的风险。综上所述,通过合理配置Prometheus和jmx_exporter,结合Kafka自身的监控机制,可以实现对Kafka集群健康状况的实时监控,确保数据流的稳定与高效。
/opt/agent/jmx_prometheus_javaagent-0.16.1.jar 1. 修改kafka启动脚本: bin/kafka-server-start.sh,增加java agent配置如下: 代码解读 JMX_EXPORTER_OPTS="-javaagent:/opt/agent/jmx_prometheus_javaagent-0.16.1.jar=9095:/opt/agent/kafka_broker.yml"exportKAFKA_JMX_OPTS="$KAFKA_JMX_OPTS$JMX_EXPORTER...
1.jmx-exporter 指标收集 github:https://github.com/prometheus/jmx_exporter 配置文件:https://github.com/prometheus/jmx_exporter/blob/master/example_configs/kafka-2_0_0.yml ## kafka服务侧的配置 在kafka-server-start.sh中最后一行之前添加如下配置 ...
prometheus 提供了 jmx_exporter 来收集 kafka 指标 Github:https://github.com/prometheus/jmx_exporter 配置文件:https://github.com/prometheus/jmx_exporter/blob/master/example_configs/kafka-2_0_0.yml 配合kafka启动脚本,修改bin/kafka_server_start.sh,添加常量,只需要在一个实例中添加即可 ...
实现一个 reporter, 将数据推送给 Prometheus Pushgateway. 但实现太繁琐, 而且要顾及到 Kafka 后续 API 的升级. 读取JMX 的数据. Prometheus 官方的组件jmx_exporter把两种实现都提供了: jmx_prometheus_httpserver通过独立进程读取 JMX 的数据 jmx_prometheus_javaagent使用 Java Agent 方式, 尽量无侵入(仅需在 jav...