Balanceo de carga y alta disponibilidad de proxy
Descripción general
Los proxies de Zabbix se pueden organizar en grupos de proxy para habilitar el balanceo de carga de proxy y la alta disponibilidad.
El balanceo de carga de proxy y la alta disponibilidad consisten en la redistribución automática de hosts entre proxies dentro de un grupo de proxy:
- Si un proxy se desconecta, sus hosts se moverán a otros proxies, manteniendo así una alta disponibilidad de proxy.
- Si un proxy tiene un número de hosts mucho mayor o menor que otros proxies, sus hosts se moverán a otros proxies para equilibrar la carga de proxy.
La redistribución de hosts solo funciona entre proxies de un grupo que cumplan las siguientes condiciones:
- Los proxies ejecutan Zabbix 7.0 o posterior.
- La versión del proxy coincide con la versión del server de Zabbix. Si se usa Zabbix agent (pasivo), la versión del proxy debe coincidir con la versión del agent. Los agentes activos solo requieren Zabbix 7.0 o posterior.
- El grupo de proxy tiene un estado en línea.
- Los hosts están configurados para ser monitoreados por un grupo de proxy en lugar de por proxies individuales.
El estado de salud del grupo de proxy puede supervisarse con internal checks por cualquier host asignado a un grupo de proxy. Sin embargo, para supervisar el estado de salud de un único proxy en un grupo, asigne el host a ese proxy; de lo contrario, los resultados pueden ser inconsistentes.
Redistribución de hosts
El balanceo de carga y la alta disponibilidad de los proxy es gestionado por Zabbix server a través del administrador de grupos de proxy, que supervisa continuamente el estado de todos los proxy en cada grupo de proxy y su distribución de hosts.
La alta disponibilidad de los proxy dentro de un grupo se garantiza mediante el failover de proxy: cuando un proxy se desconecta, sus hosts se redistribuyen inmediatamente a otros proxy. También se produce balanceo de carga de proxy, ya que los hosts se reasignan a los proxy con la menor cantidad de hosts asignados.
Además, el balanceo de carga de proxy se activa cuando el número de hosts de un proxy difiere del promedio del grupo en al menos 10 hosts y en un factor de 2 (exceso de hosts o déficit de hosts). Si el desequilibrio persiste después de un período de gracia (10 x failover delay), el grupo de proxy se pone en cola para la redistribución de hosts.
El administrador de grupos de proxy redistribuye los hosts usando la siguiente lógica:
- Calcular el número promedio de hosts por proxy.
- Para los proxy con exceso de hosts, mover los hosts excedentes al grupo de proxy no asignados.
- Para los proxy con déficit de hosts, calcular cuántos hosts se necesitan para alcanzar el equilibrio.
- Eliminar el número requerido de hosts de los proxy con más hosts.
- Mover los hosts no asignados a los proxy con menos hosts.
Ejemplos de redistribución de hosts:
| Hosts on proxy | Group average | Host reassignment |
|---|---|---|
| 100 | 50 | Yes |
| 60 | 50 | No |
| 40 | 50 | No |
| 25 | 50 | Yes |
| 15 | 5 | Yes |
| 10 | 5 | No |
Tener menos de 10 hosts monitored by un grupo de proxy puede provocar una distribución desigual de hosts entre los proxy del grupo.
Configuración de un grupo de proxy
Para configurar un grupo de proxy en el frontend de Zabbix:
- Vaya a Administration > Proxy groups
- Haga clic en Create proxy group

| Parameter | Description |
|---|---|
| Name | Nombre del grupo de proxy. |
| Failover period | Período en segundos durante el cual un proxy del grupo de proxy debe comunicarse con Zabbix server para considerarse en línea (valor predeterminado: 1m; rango: 10s-15m). Si el proxy no se comunica dentro de este período, el estado del proxy cambia a Offline y sus hosts se redistribuyen inmediatamente a otros proxies. El balanceo de carga de los proxies comienza después de 10 x este período. Admite sufijos de tiempo (por ejemplo, 30s, 1m) y macros de usuario. |
| Minimum number of proxies | Número mínimo de online proxies necesario para mantener el proxy group online (valor predeterminado: 1; rango: 1-1000). Admite macros de usuario. Este valor debe ser menor que el número total de proxies del grupo. Por ejemplo, en un grupo de 10 proxies, establecer el mínimo en 10 hará que el grupo pase a estar offline si falla cualquier proxy. Tenga en cuenta que los proxies en línea de un grupo offline siguen funcionando normalmente, pero no se realizará el balanceo de carga ni la alta disponibilidad. |
| Description | Descripción del grupo de proxy. |
| Proxies | Muestra una lista de hasta cinco proxies (como enlaces o en texto sin formato, según los permisos del usuario sobre los proxies) al editar un grupo con proxies. |
Configuración del balanceo de carga de proxy
Para usar el balanceo de carga de proxy, debe configurar un grupo de proxy en Zabbix frontend (vea arriba) y asegurarse de que los hosts sean monitorizados por un grupo de proxy, no por proxies individuales (puede usar la actualización masiva de hosts para mover hosts desde proxies al grupo de proxy).
Si usa Zabbix agent, configúrelo también de la siguiente manera:
- Para comprobaciones pasivas, enumere todos los proxies del grupo de proxy en el parámetro Server.
- Para comprobaciones activas, se recomienda enumerar todos los proxies del grupo de proxy o el Zabbix server en el parámetro ServerActive. Tenga en cuenta que solo Zabbix agent 7.0 (o posterior) funcionará con grupos de proxy en su modo activo.
Si el parámetro ServerActive incluye solo un proxy de un grupo de proxy (o Zabbix server), el agent seguirá pudiendo conectarse al proxy correcto.
Cuando el servicio del agent se inicie y se conecte al proxy especificado, el agent recibirá y almacenará en caché la lista completa de IP de los proxy y su carga actual dentro del grupo.
Después, las comprobaciones activas se redirigirán al proxy en línea correcto para el host, según la asignación actual proxy-host dentro del grupo de proxy.
Tener solo un proxy especificado en el parámetro ServerActive de Zabbix agent puede provocar la pérdida de datos de monitorización si el agent se inicia o se reinicia mientras el proxy especificado está fuera de línea.
Al usar Zabbix sender, las solicitudes de datos también se redirigen al proxy en línea correcto para el host, según la asignación actual proxy-host dentro del grupo de proxy.
Sin embargo, si envía valores de varios hosts desde un archivo de entrada, use la opción -g para evitar enviar datos al proxy incorrecto.
Zabbix agent también debe poder conectarse a todos los proxies del grupo de proxy a través del firewall. De lo contrario, las comprobaciones activas pueden quedarse bloqueadas o fallar durante la redirección o el failover. Por ejemplo:
- Durante las comprobaciones activas, un proxy puede redirigir al agent a otro proxy. Si ese proxy está bloqueado por un firewall, la comunicación se quedará bloqueada mientras espera una respuesta.
- En configuraciones estables de alta disponibilidad sin reequilibrado reciente, es posible que los agents nunca contacten con proxies de respaldo. Si las reglas del firewall cambiaron y no se probaron, el failover puede fallar.
Prueba del equilibrio de carga de proxy
Para probar el equilibrio de carga de proxy:
- Configure un grupo de proxy.
- Asegúrese de que el grupo de proxy tenga un estado en línea.
- Asegúrese de que los hosts estén monitorizados por un grupo de proxy, no por proxies individuales (puede usar la actualización masiva de hosts para mover hosts de proxies al grupo de proxy).
- Espere unos segundos a que se actualice la configuración y se distribuya el host entre los proxies del grupo de proxy. Observe el cambio al actualizar la lista de hosts en Administration > Proxies.
Notas importantes
- Las trampas SNMP no son compatibles con los proxies en un grupo de proxy.
- Las comprobaciones que dependen de una configuración externa (por ejemplo, scripts para comprobaciones externas o la configuración ODBC para comprobaciones de base de datos) deben tener la misma configuración en todos los proxies del grupo de proxy.
- Las comprobaciones de base de datos requieren permisos ampliados sobre el objeto/base de datos o servidor.
- Los hosts VMware monitoreados por un grupo de proxy se distribuirán aleatoriamente entre los proxies del grupo. Esto hace que cada proxy almacene en caché todos los datos de VMware, lo que provoca una carga adicional en vCenter.
- Los hosts creados a partir de datos de autorregistro de un proxy en un grupo de proxy se configuran para ser monitoreados por ese grupo de proxy. Sin embargo, los hosts creados a partir de datos de descubrimiento de red de un proxy en un grupo de proxy se configuran para ser monitoreados por ese proxy.