在CentOS上监控Zookeeper数据同步可通过以下方式:
- 四字命令监控
使用echo mntr | nc <节点IP> 2181命令获取集群状态,重点关注zk_server_state(节点角色)、zk_synced_followers(已同步的Follower数)、zk_pending_syncs(待同步操作数)等指标,判断数据同步是否正常。 - Prometheus+Grafana
- 部署
zookeeper_exporter采集指标,配置Prometheus抓取数据,通过Grafana可视化展示zookeeper_sync_latency(同步延迟)、zookeeper_leader_changes(Leader切换次数)等关键指标。
- 部署
- 日志分析
监控Zookeeper日志文件(默认路径/var/log/zookeeper/或dataDir下),通过tail -f或日志工具(如ELK)分析SyncRequestProcessor相关日志,排查同步延迟或异常。 - JMX监控
启用Zookeeper JMX(修改zoo.cfg或启动脚本),通过JMX客户端(如jConsole)查看ZooKeeperServerMBean中的SyncCount、LastProposed等指标,监控数据同步状态。
关键指标说明:
zk_synced_followers:表示已同步的Follower节点数,若小于集群总数,可能存在同步延迟或节点故障。zk_pending_syncs:若该值持续较高,说明有大量数据待同步,需检查网络或节点性能。- 同步延迟:通过
mntr命令获取的zk_avg_latency和zk_max_latency判断,正常应低于100ms。