5月30日 19:58
Zookeeper 运维监控要看哪些指标和告警?
Zookeeper 运维的重点不是“进程活着就行”,而是确认多数派健康、写入延迟可控、客户端连接没有失控。日常先看四类指标:集群角色和节点存活、请求延迟、连接与 Watcher 数量、磁盘和 JVM 状态。stat 能看 leader/follower,mntr 适合接 Prometheus exporter,cons 能排查连接来源,wchs 可以判断 Watcher 是否异常膨胀。
追问
线上最应该优先盯哪个指标?
优先看 zk_avg_latency、zk_max_latency 和 zk_outstanding_requests。节点存活重要,但很多事故在节点没挂前,延迟和排队已经先报警了。
Watcher 数量突然升高说明什么?
通常说明客户端重复注册、服务实例目录过大,或某个配置监听没有去重。短期定位来源连接,长期要改客户端代码。
Zookeeper 磁盘满了会怎样?
常见表现是写入失败、延迟飙升、Leader 不稳定,严重时节点无法启动。要开启 autopurge,并监控 dataDir 和 dataLogDir。
滚动重启为什么不能一口气重启多台?
Zookeeper 需要多数派可用,5 节点同时停 3 台就失去法定人数。稳妥做法是一台一台重启并确认状态。
写段命令
bashecho stat | nc zk1 2181 echo mntr | nc zk1 2181 | egrep 'latency|outstanding|watch_count' echo cons | nc zk1 2181 | wc -l