这里只是对prometheus监控Zookeeper的配置过程做个记录,方便以后查阅。
使用jvm_exporter监控,jvm_exporter是一个可以配置抓取和暴露JMX目标的mBeans的收集器。
github地址:https://github.com/prometheus/jmx_exporter使用zookeeper_exporter监控
1、使用 jvm_exporter 监控
1.1 下载jmx_exporter
新建一个目录,用于存放jmx_exporter和config配置
1 | [admin@haifly-bj-kafka1 ~]$ mkdir jmx_exporter |
1.2 添加名为zookeeper.yml的配置文件
github地址:https://github.com/prometheus/jmx_exporter/blob/master/example_configs/zookeeper.yaml
1 | [admin@haifly-bj-kafka1 jmx_exporter]$ vim zookeeper.yml |
1.3 修改bin/zkServer.sh启动配置
1 | if [ "x$SERVER_JVMFLAGS" != "x" ] |
1.4 重启zookeeper服务
1 | /work/admin/logstash_exporter/bin/logstash_exporter --web.listen-address :9198 --logstash.endpoint http://localhost:9600 |
1.5 prometheus配置
1 | - job_name: 'kafka' |
重启prometheus
如果开启了api管理功能,可以如下方式热加载配置
1 | curl -X POST http://127.0.0.1:9090/-/reload |
1.6 grafana出图
10607
效果如下
上图面板经过一定的修改可能略有不同,仅供参考
2、使用 zookeeper_exporter 监控
2.1 下载 zookeeper_exporter
1 | [admin@haifly-bj-kafka1 ~]$ mkdir zookeeper_exporter |
ZooKeeper 提供了四字命令(The Four Letter Words),用来获取 ZooKeeper 服务的当前状态及相关信息。
有哪些命令可以使用?
1 | ZooKeeper四字命令 功能描述 |
zookeeper_exporter 指标及含义
使用 echo mntr | nc zookeeper_ip 2181 查看
指标 | 含义 |
---|---|
zk_version | 版本 |
zk_avg_latency | 平均响应延迟 |
zk_max_latency | 最大响应延迟 |
zk_min_latency | 最小 响应延迟 |
zk_packets_received | 收包数 |
zk_packets_sent | 发包数 |
zk_num_alive_connections | 活跃连接数 |
zk_outstanding_requests | 堆积请求数 |
zk_server_state | 主从状态 |
zk_znode_count | znode 数 |
zk_watch_count | watch 数 |
zk_ephemerals_count | 临时节点数 |
zk_approximate_data_size | 近似数据总和大小 |
zk_open_file_descriptor_count | 打开文件描述符数 |
zk_max_file_descriptor_count | 最大文件描述符数 |
leader | 主节点 |
zk_followers | Follower数 |
zk_synced_followers | 已同步的Follower数 |
zk_pending_syncs | 阻塞中的sync操作 |
2.2 配置并启动 zookeeper_exporter
–help 查看有哪些可用命令
1 | [admin@haifly-bj-kafka1 zookeeper_exporter]$ ./zookeeper_exporter --help |
配置 zookeeper_exporter
1 | [program:zookeeper_exporter] |
启动 zookeeper_exporter
我用的supervisor来管理服务进程,使用supervisorctl工具进入管理控制台update就行
1 | [admin@haifly-bj-kafka1 ~]$ supervisorctl |
2.3 prometheus 配置
1 | - job_name: 'kafka' |
重启prometheus
1 | curl -X POST http://127.0.0.1:9090/-/reload |
2.4 grafana 出图
推荐使用9236