全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-24 10 分钟 ✍️ juanwangdev

ZooKeeper监控命令与指标

监控是保障集群稳定的关键手段。

四字命令监控

常用命令

命令功能
stat服务器状态、角色、连接数
mntr详细监控指标
ruok健康检查(返回imok)
cons客户端连接详情
dump临时节点与会话
srvr服务器详细信息
wchsWatcher统计

使用方式

Bash
# 使用nc命令发送
echo stat | nc localhost 2181

# 使用telnet
telnet localhost 2181
stat

stat输出示例

properties
Mode: follower          <- 节点角色
Zxid: 0x100000005       <- 最新事务ID
Connections: 10         <- 连接数
Outstanding: 0          <- 待处理请求
Znode count: 100        <- 节点总数

mntr输出示例

Bash
zk_version  3.8.0
zk_server_state  follower
zk_avg_latency  5
zk_max_latency  100
zk_min_latency  1
zk_packets_received  10000
zk_packets_sent  10000
zk_num_alive_connections  10
zk_znode_count  100

cons连接详情

YAML
/192.168.1.100:12345[0]
queued=0,recved=10,sent=5

命令白名单配置

text
# zoo.cfg
4lw.commands.whitelist=stat,ruok,cons,mntr,srvr

提示:mntr输出适合监控系统解析使用。

JMX监控指标

关键指标

指标说明
PacketsReceived收到的包数量
PacketsSent发送的包数量
AvgRequestLatency平均请求延迟
MaxRequestLatency最大请求延迟
NumAliveConnections活跃连接数
WatchCountWatcher数量
ZnodeCountZNode数量
OutstandingRequests待处理请求

JMX配置

text
# 启动参数添加
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

监控方式

工具说明
JConsoleJDK自带JMX客户端
VisualVMJDK监控工具
Prometheus JMX ExporterPrometheus集成

JMX Exporter配置

text
# prometheus配置
startDelaySeconds: 0
hostPort: localhost:9999
rules:
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id.*><>(.*)"
  name: "zk_$1"

告警规则示例

text
Leader切换 > 3次/小时 → 告警
平均延迟 > 100ms → 告警
连接数 > maxClientCnxns×0.8 → 告警

注意:生产环境建议使用Prometheus集成监控。

要点总结

  • stat查看角色、ZXID、连接数
  • mntr输出详细监控指标
  • ruok快速健康检查
  • JMX提供详细性能指标
  • AvgRequestLatency、NumAliveConnections是关键指标
  • Prometheus JMX Exporter集成监控系统
  • 配置告警规则及时发现异常

📝 发现内容有误?点击此处直接编辑

← 上一篇 ZooKeeper日志分析与健康检查
下一篇 → ZooKeeper Curator框架实战
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库