- 首页 >
- 问答 >
-
智能运维 >
- Zookeeper在CentOS上的监控方法有哪些
Zookeeper在CentOS上的监控方法有哪些
小樊
39
2025-12-23 17:23:26
Zookeeper在CentOS上的监控方法
一 内置与命令行检查
- 使用 zkServer.sh status 查看节点角色与运行状态(Leader/Follower)及简要连接信息:/path/to/zookeeper/bin/zkServer.sh status。
- 使用 zkCli.sh 连接集群并执行 stat 查看会话与节点概况:/path/to/zookeeper/bin/zkCli.sh -server :2181,连接后输入 stat。
- 使用四字命令 mntr 获取延迟、连接数、收发包等运行时指标:echo mntr | nc localhost 2181。
- 若以 systemd 管理,可直接用 systemctl status zookeeper 观察服务存活与最近日志。
二 系统层面资源监控
- 进程级资源:
- top/htop:实时查看 CPU、内存 占用,例如 top -p $(cat /var/run/zookeeper.pid)。
- ps:查看内存与CPU百分比,例如 ps -p $(cat /var/run/zookeeper.pid) -o %mem,%cpu,cmd。
- 系统整体:
- vmstat 1:观察 内存与CPU 压力。
- sar(需安装 sysstat):例如 sar -u 1 5 查看CPU;也可结合其他项评估内存与I/O。
- iostat -x 1(需安装 sysstat):定位 磁盘I/O 瓶颈。
- netstat -antp | grep zookeeper:查看 连接数 与端口监听情况。
三 指标采集与可视化
- Prometheus + Grafana:
- 方式A(推荐):在 zoo.cfg 启用 Prometheus Metrics Provider(配置 metricsProvider.classname 与 metricsProvider.httpport),Prometheus 抓取 :/metrics,Grafana 做可视化。
- 方式B:通过 JMX Exporter 暴露 JMX 指标,Prometheus 抓取并可视化。
- Telegraf:启用 inputs.zookeeper 插件,定时采集并写入时序库(如 Prometheus/InfluxDB)。
- Zabbix:部署 Zabbix Agent,通过 UserParameter 调用 zkServer.sh 或四字命令,创建监控项与触发器实现告警。
四 Java与可视化工具
- JConsole / jvisualvm:连接 Zookeeper 的 JMX 端口,查看堆内存、线程、类加载、GC 等运行时指标与可视化图表。
- 辅助工具:ZooInspector(可视化浏览数据/会话)、ZooKeeper Assistant(图形化管理与监控)。
五 脚本化巡检与告警
- 编写 Shell/Python 脚本调用四字命令或 zkServer.sh,解析 mode、latency、connections 等关键字段,异常时通过 邮件/企业微信/钉钉 推送告警。
- 将脚本加入 crontab 定时执行,例如:* * * * * /path/to/check_zk.sh;并结合系统日志(journalctl -u zookeeper)与 ZK 日志进行根因分析。