Proxy 负载平衡允许通过Proxy组监控主机,并自动分配主机到不同的Proxy,以确保Proxy的高可用性。
如果Proxy组中的某个Proxy下线,其管理的主机将立即分配给其他具有最少已分配主机的Proxy。或者,如果某个Proxy的主机数量远高于或远低于组内平均值,系统将触发重新平衡,以均匀分配主机。
主机重新分配仅在在线Proxy组中进行。Proxy组被视为“在线”,如果配置的最小Proxy数目处于在线状态(不是离线或未知状态)。
在线proxies的最小数量应该少于Proxy组中的总Proxy数。在一个拥有 10 个Proxy的组中,将最小在线proxies数设置为 10 会导致,如果一个Proxy失败,整个组将全部下线的情况发生。设置为需要 6 个在线Proxy更为合适。这样可以支持 4 个不健康的Proxy。
proxy 状态支持:
Proxy负载平衡和高可用性由 proxy group manager 进程管理。Proxy 组管理器始终知道哪些其他proxy是健康的或不健康的。
版本兼容性
Zabbix server 检查主机分配给Proxy的平衡情况。如果出现以下情况,则认为组处于“不平衡”状态:
如果某Proxy的主机数相对于组平均值的偏差超过10个,并且是2的因数,那么服务器会标记该组在宽限期(10 x 故障切换延迟)后进行主机重新分配,如果平衡没有恢复的话。
以下表格使用示例数字说明了何时会触发主机重新分配:
Proxy上的主机数量 | 组平均值 | 主机是否重新分配 |
---|---|---|
>100 | 50 | Yes |
60 | 50 | No |
40 | 50 | No |
<25 | 50 | Yes |
>15 | 5 | Yes |
10 | 5 | No |
Proxy组管理器将按以下方式重新分配Proxy组中的主机:
要为监视主机配置Proxy负载平衡,请执行以下操作: 1.创建一个Proxy组(请参阅下面的“配置Proxy组”)。 对于被动检查,必须在Proxy的“Server”参数中列出组的所有agents。 将组的所有Proxy添加到受监控主机的ServerActive agent参数(用分号分隔)是有益的,但不是强制性的。主动模式Proxy可以在ServerActive字段中有一个Proxy,Proxy负载平衡将起作用。当Proxy服务启动时,Proxy将收到所有Zabbix Proxy的所有IP地址的完整列表,加载并保存到内存中。主动检查(以及Zabbix发件人数据请求)将根据当前Proxy主机分配重定向到主机的正确在线Proxy。
如果在特定Proxy脱机时启动/重新启动Proxy,则ServerActive字段中只有一个Proxy可能会导致监控数据丢失。
确认 proxy 组是在线的状态。
配置主机由Proxy组(而不是单个Proxy)监控。您可以使用host mass update 将主机从Proxy移动到Proxy组。
由单个Proxy监控的主机(即使该Proxy是Proxy组的一部分)根本不涉及负载平衡/高可用性。
当根据属于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。 |