jmx_prometheus_httpserver 监控 Kafka 应用

通过在 Kafka 应用中埋点来暴露应用的数据,使用 Prometheus 监控抓取数据,并借助 Grafana 大盘来展示数据,即可实现通过  Prometheus 监控 Kafka 应用的目的。

 

步骤一:启动 JMX 服务

首先需要在 Kafka 应用中启用 JMX 服务以获取资源信息。

  1. 修改 /opt/kafka/kafka_2.11-0.8.2.1/bin/kafka-server-start.sh,在第一行添加 export JMX_PORT="9999"
  2. 重启 Kafka。

步骤二:启动 jmx_exporter

其次需要启动 jmx_exporter,让 JMX 信息可以直接通过 HTTP 方式访问,以便 ARMS Prometheus 监控抓取。

  1. 下载 kafka.yml 到 /opt/exporter_kafka/ 目录下。
  2. 修改下载的 /opt/exporter_kafka/kafka-0.8.2.yml 文件,在第一行添加 hostPort: localhost:9999,将 JMX 服务运行的端口暴露给 jmx_exporter。
  3. 下载 jmx_exporter 的可执行文件到 /opt/exporter_kafka/ 目录下。
  4. 启动 jmx_exporter。
    java -Dcom.sun.management.jmxremote.ssl=false -
    Dcom.sun.management.jmxremote.authenticate=false -
    Dcom.sun.management.jmxremote.port=9998 -cp 
    /opt/exporter_kafka/jmx_prometheus_httpserver-0.12.0-jar-with-dependencies.jar 
    io.prometheus.jmx.WebServer 9997 /opt/exporter_kafka/kafka-0-8-2.yml &
    至此应用部分配置完成。可通过运行以下命令验证 jmx_exporter 是否可以正常工作。
    curl http://:9997/metrics

    Kafka 各指标的含义请参见 Monitoring Kafka。

 

你可能感兴趣的:(java)