You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ProxySQL监控异常 已停止服务的Galera后端节点仍显示为ONLINE

问题根因

从你提供的监控日志可以确认ProxySQL的ping监控已经检测到10.77.250.25节点连接异常,但节点仍被标记为ONLINE,核心原因是默认的健康检查失败触发下线的阈值未调整、Galera专属健康检查规则未配置,或修改后的配置未正确加载到运行时。
你此前配置的max_replication_lag为主从复制场景的延迟判定参数,不适用于Galera集群;max_latency_ms仅在节点可连通的前提下触发下线逻辑,当前节点已无法连接,所以该参数不会生效。


排查解决步骤

  • 确认配置已加载到运行时
    你修改mysql_servers表配置后,必须执行以下命令使配置生效:
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;

修改全局变量后也需要执行对应加载操作:

LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;
  • 调整健康检查失败阈值
    默认ProxySQL需要连续3次ping检查失败才会标记节点为OFFLINE,可按需调整以下全局参数:
# 调整ping检查间隔,单位毫秒,默认1000
SET mysql-monitor_ping_interval=2000;
# 调整最大允许连续ping失败次数,超过该值则标记节点下线,默认3
SET mysql-monitor_ping_max_failures=2;
# 调整监控连接超时时间,单位毫秒,默认2000
SET mysql-monitor_connect_timeout=3000;
  • 开启Galera专属健康检查
    普通ping检查仅能验证端口连通性,针对Galera集群需要开启专属的状态检查,确保节点状态异常时及时下线:
# 开启Galera健康检查
SET mysql-monitor_galera_healthcheck_enabled='true';
# 配置Galera健康检查间隔,单位毫秒,默认1000
SET mysql-monitor_galera_healthcheck_interval=2000;
# 配置连续多少次Galera检查失败就标记节点下线,默认3
SET mysql-monitor_galera_healthcheck_max_timeout_count=2;

同时确认你的监控用户拥有PROCESS权限,可正常读取Galera节点状态变量。

  • 验证配置生效
    调整完成后停止目标节点MariaDB服务,等待mysql-monitor_ping_interval * mysql-monitor_ping_max_failures时长后,再次查询mysql_servers表确认节点状态是否变为OFFLINE。如果仍未生效,可查看monitor.mysql_server_galera_log表排查健康检查的具体报错。

内容的提问来源于stack exchange,提问作者Дмитрий Стародубцев

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:06:05