MySQL集群监控需确认节点在线(MEMBER_STATE=ONLINE)、角色正常(PRIMARY/SECONDARY)、同步无延迟(Seconds_Behind_Master≈0)、资源无瓶颈(连接数、缓冲池命中率等),并借助Zabbix、Prometheus或云平台实现自动化告警。
MySQL集群的运行状态监控,核心在于确认节点存活、数据同步正常、组内角色稳定以及资源无瓶颈。不能只看单个实例是否“在跑”,而要关注整个集群的协作健康度。
对于使用MySQL Group Replication(MGR)或InnoDB Cluster的环境,首先要验证各节点是否已加入集群且处于活跃状态:
MEMBER_STATE 是否为 ONLINE,MEMBER_ROLE 是否符合预期(如 PRIMARY 或 SECONDARY)RECOVERING 或 
OFFLINE,说明同步异常或未成功加入;ERROR 状态需立即查错误日志systemctl status mysqld 或 ps aux | grep mysqld,确保 MySQL 进程本身未崩溃即使所有节点都在线,数据不同步也会导致服务不可靠:
Replica_IO_Running 和 Replica_SQL_Running 均为 Yes
Seconds_Behind_Master 应接近 0;持续大于 30 秒需排查网络、大事务或从库负载CHANNEL_NAME 为 group_replication_applier 且 SERVICE_STATE 是 ON
集群稳定性不仅依赖复制逻辑,还受内存、磁盘、连接数等资源制约:
max_connections 配置判断是否接近上限;Threads_running 持续 > 50 可能存在阻塞Buffer pool hit rate(建议 >99%)和 pending log writes(过高说明 I/O 压力大)Aborted_clients、Aborted_connects 是否突增,反映连接异常或认证失败人工巡检无法满足高可用要求,推荐以下轻量到企业级方案:
mysql -e "SELECT MEMBER_STATE FROM..." 判断集群状态,设置阈值告警mysql_group_replication_member_state、mysql_slave_status_seconds_behind_master 等指标,配合 Grafana 可视化