相关文章:
jmx_exporter 插件用于以代理的形式来收集目标应用的性能指标,这里我们使用 Prometheus+Grafana 来搭建 Kafka 监控
一、安装 jmx_exporter
-
上 jmx_exporter 官网下载最新的 jmx_prometheus_javaagent
-
mkdir /usr/local/prometheus/jmx_exporter
-
cd /usr/local/prometheus/jmx_exporter
-
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar
-
-
添加配置文件 (config.yaml)
-
cd /usr/local/prometheus/jmx_exporter
-
vim config.yaml
hostPort: 127.0.0.1:9999 lowercaseOutputName: false lowercaseOutputLabelNames: false whitelistObjectNames: ["org.apache.cassandra.metrics:*"] blacklistObjectNames: ["org.apache.cassandra.metrics:type=ColumnFamily,*"]
-
hostPort
- 指定远程 JMX 端口,这里指定为 9999
-
lowercaseOutputName
- 使用小写字母输出指标名称,适用于默认的格式和名称,默认为 false
-
lowercaseOutputLabelNames
- 使用小写字母输出指标的标签名称,适用于默认格式和标签,默认为 false
-
whitelistObjectNames
- 查询列表 (白名单),默认查询所有的指标/font>
-
blacklistObjectNames
- 不查询列表 (黑名单),优先级高于 whitelistObjectNames,默认为没有
-
-
:wq
-
二、配置 Kafka
-
修改 Kafka 启动脚本 kafka-server-start.sh (需提前安装好 Kafka)
-
cd /usr/local/kafka/kafka_2.12-2.1.0/bin
-
vim kafka-server-start.sh
export JMX_PORT=9999 export KAFKA_OPTS="-javaagent:/usr/local/prometheus/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=9990:/usr/local/prometheus/jmx_exporter/config.yaml"
-
9999
-
JMX 端口,这里设置为:9999
-
即暴露 JMX 9999 端口,供远程连接
-
-
9990
-
指标数据访问端口,这里设置为:9990
-
需和 prometheus.yml 中的配置保持一致,即到时候通过 http://IP:9990/metrics 就可以访问到 Kafka 相关的性能指标数据
-
-
-
:wq
-
-
启动 Kafka (需提前安装并启动好 Zookeeper)
- ./kafka-server-start.sh -daemon …/config/server.properties
-
查看 jmx_exporter 服务 (端口为:9990)
三、添加 jmx_exporter
-
安装好 jmx_exporter 后,我们需要在 Prometheus 中对其进行集成
-
修改 Prometheus 的配置文件 (prometheus.yml),添加 jmx 服务 (在 scrape_configs 属性下添加)
-
cd /usr/local/prometheus/prometheus-2.13.0.linux-amd64
-
vim prometheus.yml
scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090'] - job_name: 'kafka' static_configs: - targets: ['localhost:9990']
-
:wq
-
-
重启 prometheus 服务
- systemctl restart prometheus
四、添加 Dashboard
-
这里我使用的 Dashboard 是 Grafana 官网 Dashboard 库中的 Kafka Overview
-
然后在 Grafana.com Dashboard 中输入 Kafka Overview 对应的 Dashboard ID (721),点击 Load 导入即可
五、查看图表
-
至此,我们就大功告成了