Proxy 负载均衡 允许通过 proxy 组 监控主机,具有自动在 proxies 和高 proxy 可用性之间分配主机的功能。
如果 proxy 组 中的一个 proxy 离线,其主机将立即重新分配给组中分配的主机最少的其他 proxies。或者,如果一个 proxy 的主机数量相比组平均值过多或过少,将通过均匀分配主机来触发组的重新平衡。
主机重新分配仅在在线 proxy 组 中发生。一个 proxy 组 被视为“在线”,如果其配置的最少数量的 proxies 在线(不是离线或未知)。
在线 proxies 的最小数量应该少于组中的 proxy 总数。在一个由 10 个 proxies 组成的组中,将在线 proxy 的数量设置为 10 会创建一个情况,即如果只有一个 proxy 失败,整个组将离线。最好要求有 6 个在线的 proxies。这将支持 4 个不健康的 proxies。
proxy 的状态为:
您可以使用 zabbix[proxy 组,<name>,state] 和 zabbix[proxy 组,discovery] 内部 监控项 监控 proxy 组 的状态。
Proxy 负载均衡 和高可用性由 proxy group manager 进程管理。proxy 组 管理器始终了解哪些其他 proxies 是健康的或不健康的。
版本兼容性
Zabbix server 检查主机分配给proxy的平衡情况。如果存在以下情况,组被认为“不平衡”:
如果分配给proxy的主机数量高于/低于组平均值至少10且是平均值的2倍,组则被认为“不平衡”。在这种情况下,如果平衡没有恢复,服务器会在宽限期(10倍故障转移延迟)后标记该组进行主机重新分配。
下表通过示例数字说明了何时触发(或不触发)主机重新分配:
proxy上的主机数量 | 组平均值 | 主机重新分配 |
---|---|---|
100 | 50 | 是 |
60 | 50 | 否 |
40 | 50 | 否 |
25 | 50 | 是 |
15 | 5 | 是 |
10 | 5 | 否 |
proxy组管理器将以以下方式重新分配proxy组中的主机:
使用Zabbix sender与proxy组
在输入文件中发送来自不同主机的值到proxy组中的proxy时,使用-g选项,以避免某些值被错误地发送到错误的proxy。
要配置Proxy 负载均衡以监控主机:
对于被动检查,组中的所有proxies必须列在agents的Server参数中。
将组中的所有proxies添加到受监控主机的ServerActive agent参数中(使用分号分隔)是有益的,但不是强制性的。一个主动agent可以在ServerActive字段中只有一个proxy,Proxy 负载均衡仍然可以工作。当agent服务启动时,agent将接收所有Zabbix proxies的完整IP地址列表,加载并保留在内存中。基于当前的proxy-主机分配,主动检查(和Zabbix发送数据请求)将被重定向到正确的在线proxy。
如果在特定的proxy离线时启动/重启agent,在ServerActive字段中只有一个proxy可能会导致监控数据丢失。
确保proxy 组在线。
配置主机由proxy 组监控(而不是单个proxies)。您可以使用主机mass update将主机从proxy移动到proxy 组。
由单个proxy监控的主机(即使它属于proxy 组)不参与负载均衡/高可用性。 此外,分配给proxy 组的主机少于10个可能会导致组中proxies之间的主机分布不均。
当根据属于proxy 组的proxy的自动注册/网络发现数据创建主机时,此主机将设置为由该proxy 组监控。
Agents 必须始终在防火墙级别允许访问所有Proxy。考虑以下几种情况:
在 Zabbix agent 的主动检查中,在Proxy启动时,第一个Proxy响应并重定向到另一个Proxy。由于防火墙问题,另一个Proxy无法访问,通信停止在等待另一个Proxy响应的状态。这种情况的根本原因是第一个Proxy确信另一个Proxy是健康的。如果第一个Proxy失败,则它将尝试连接“ServerActive”参数中配置的不同地址,这不会成为问题。
HA 设置已经稳定运行了多个月。主机重新平衡从未发生过;也不需要。Proxy不需要验证到任何其他Proxy的“备用”通道。在故障转移场景中,可能因为半年前防火墙被修改而导致失败。
去配置一个Proxy组在Zabbix前端:
参数 | 描述 |
---|---|
Name | 输入Proxy组名称。 |
Failover period | 输入故障切换执行前的时间段(默认为 1 分钟;允许范围为 10 秒至 15 分钟)。 支持时间后缀(例如,30s,1m)。 支持用户宏。 |
Minimum number of proxies | 输入使该组在线所需的最小在线Proxy数量(默认为 1;允许范围为 1 到 1000)。 支持用户宏。 |
Description | 输入Proxy组描述。 |
Proxies | Proxy组中的Proxy列表。最多显示五个Proxy(作为链接或普通文本显示,取决于对Proxy的权限)。 编辑现有代理组时显示此列表,如果组中至少有一个Proxy。 |