2 Balanceo de carga y alta disponibilidad de proxy
Descripción general
Los proxy de Zabbix se pueden organizar en grupos de proxy para habilitar el balanceo de carga y la alta disponibilidad de los proxy.
El balanceo de carga y la alta disponibilidad de los proxy consisten en la redistribución automática de los hosts entre los proxy dentro de un grupo de proxy:
- Si un proxy se desconecta, sus hosts se moverán a otros proxy, manteniendo así una alta disponibilidad de los proxy.
- Si un proxy tiene un número de hosts mucho mayor o menor que los demás proxy, sus hosts se moverán a otros proxy para equilibrar la carga de los proxy.
La redistribución de hosts funciona únicamente entre los proxy de un grupo que cumplen las siguientes condiciones:
- Los proxy ejecutan Zabbix 7.0 o una versión posterior.
- La versión del proxy coincide con la versión del server de Zabbix. Si se utiliza Zabbix agent (pasivo), la versión del proxy debe coincidir con la versión del agent. Los agent activos solo requieren Zabbix 7.0 o una versión posterior.
- El grupo de proxy tiene un estado en línea.
- Los hosts están configurados para ser monitorizados por un grupo de proxy en lugar de por proxy individuales.
El estado del grupo de proxy se puede supervisar mediante comprobaciones internas desde cualquier host asignado a un grupo de proxy. Sin embargo, para supervisar el estado de un único proxy de un grupo, asigne el host a ese proxy; de lo contrario, los resultados pueden ser incoherentes.
Redistribución de equipos
El balanceo de carga y la alta disponibilidad de los proxies son gestionados por el servidor Zabbix a través del gestor de grupos de proxies, que monitoriza continuamente el estado de todos los proxies en cada grupo de proxies y su distribución de equipos.
La alta disponibilidad de los proxies dentro de un grupo se garantiza mediante la conmutación por error de proxies: cuando un proxy se desconecta, sus equipos se redistribuyen inmediatamente a otros proxies. También se produce el balanceo de carga de los proxies, ya que los equipos se reasignan a los proxies con menos equipos asignados.
Además, el balanceo de carga de los proxies se activa cuando el número de equipos de un proxy difiere de la media del grupo en al menos 10 equipos y un factor de 2 (exceso o déficit de equipos). Si el desequilibrio persiste después de un periodo de gracia (10 x retardo de conmutación por error), el grupo de proxies se pone en cola para la redistribución de equipos.
El gestor de grupos de proxies redistribuye los equipos utilizando la siguiente lógica:
- Calcular el número medio de equipos por proxy.
- Para los proxies con exceso de equipos: mover los equipos excedentes al grupo de proxies no asignados.
- Para los proxies con déficit de equipos: calcular cuántos equipos se necesitan para alcanzar el equilibrio.
- Eliminar el número necesario de equipos de los proxies con más equipos.
- Mover los equipos no asignados a los proxies con menos equipos.
Ejemplos de redistribución de equipos:
| Equipos en el proxy | Media del grupo | Reasignación de equipos |
|---|---|---|
| 100 | 50 | Sí |
| 60 | 50 | No |
| 40 | 50 | No |
| 25 | 50 | Sí |
| 15 | 5 | Sí |
| 10 | 5 | No |
Tener menos de 10 equipos monitorizados por un grupo de proxies puede provocar una distribución desigual de los equipos entre los proxies del grupo.
Configuración de un grupo de proxy
Para configurar un grupo de proxy en el frontend de Zabbix:
- Vaya a Administración > Grupos de proxy
- Haga clic en Crear grupo de proxy

| Parámetro | Descripción |
|---|---|
| Nombre | Nombre del grupo de proxy. |
| Período de conmutación por error | Período en segundos durante el cual un proxy del grupo de proxy debe comunicarse con el server de Zabbix para considerarse en línea (valor predeterminado: 1m; rango: 10s-15m). Si el proxy no se comunica durante este período, su estado cambia a Fuera de línea y sus hosts se redistribuyen inmediatamente entre otros proxies. El equilibrio de carga de los proxies comienza después de 10 veces este período. Admite sufijos de tiempo (por ejemplo, 30s, 1m) y macros de usuario. |
| Número mínimo de proxies | Número mínimo de proxies en línea necesarios para mantener el grupo de proxy en línea (valor predeterminado: 1; rango: 1-1000). Admite macros de usuario. Este valor debe ser inferior al 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 fuera de línea si algún proxy falla. Tenga en cuenta que los proxies en línea de un grupo fuera de línea continúan funcionando con normalidad, pero no se llevará a cabo el equilibrio de carga ni la alta disponibilidad. |
| Descripción | 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 para los proxies) al editar un grupo que contiene proxies. |
Configuración del balanceo de carga de los proxy
Para utilizar el balanceo de carga de los proxy, debe configurar un grupo de proxy en el frontend de Zabbix (consulte arriba) y asegurarse de que los hosts estén supervisados por un grupo de proxy, no por proxy individuales (puede utilizar la actualización masiva de hosts para mover los hosts de los proxy al grupo de proxy).
Si utiliza Zabbix agent, configúrelo también de la siguiente manera:
- Para las comprobaciones pasivas, indique todos los proxy del grupo de proxy en el parámetro Server.
- Para las comprobaciones activas, se recomienda indicar todos los proxy del grupo de proxy o el server de Zabbix 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 el server de Zabbix), el agent podrá conectarse igualmente al proxy correcto.
Cuando se inicia el servicio del agent y se conecta al proxy especificado, el agent recibe y almacena en caché la lista completa de las IP de los proxy y su carga actual dentro del grupo.
A continuación, las comprobaciones activas se redirigen al proxy en línea correcto para el host, según la asignación actual de proxy-host dentro del grupo de proxy.
Especificar un único proxy en el parámetro ServerActive de Zabbix agent puede provocar la pérdida de datos de monitorización si el agent se inicia o reinicia mientras el proxy especificado está fuera de línea.
Al utilizar 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 de proxy-host dentro del grupo de proxy.
Sin embargo, si envía valores de varios hosts desde un archivo de entrada, utilice la -g option para evitar enviar datos al proxy incorrecto.
Zabbix agent también debe poder conectarse a todos los proxy del grupo de proxy a través del firewall. De lo contrario, las comprobaciones activas pueden quedar bloqueadas o fallar durante la redirección o la conmutación por error. Por ejemplo:
- Durante las comprobaciones activas, un proxy puede redirigir el agent a otro proxy. Si ese proxy está bloqueado por un firewall, la comunicación quedará bloqueada mientras espera una respuesta.
- En configuraciones estables de alta disponibilidad sin un rebalanceo reciente, es posible que los agent nunca se pongan en contacto con los proxy de respaldo. Si las reglas del firewall han cambiado y no se han probado, la conmutación por error puede fallar.
Prueba del balanceo de carga del proxy
Para probar el balanceo de carga del proxy:
- Configure un grupo de proxies.
- Asegúrese de que el grupo de proxies tenga un estado en línea.
- Asegúrese de que los hosts estén supervisados por un grupo de proxies, no por proxies individuales (puede utilizar la actualización masiva de hosts para mover los hosts de los proxies al grupo de proxies).
- Espere unos segundos a que se actualicen la configuración y la distribución de los hosts entre los proxies del grupo de proxies.
Observe el cambio actualizando la lista de hosts en Administración > Proxies.
Notas importantes
- Las trampas SNMP no son compatibles con los proxy de un grupo de proxy.
- Las comprobaciones que dependen de una configuración externa (por ejemplo, los scripts para las comprobaciones externas o la configuración de ODBC para las comprobaciones de base de datos) deben tener la misma configuración en todos los proxy del grupo de proxy.
- Las comprobaciones de base de datos requieren permisos ampliados sobre el objeto o server de la base de datos.
- Los hosts de VMware supervisados por un grupo de proxy se distribuirán aleatoriamente entre los proxy del grupo. Esto hace que cada proxy almacene en caché todos los datos de VMware, lo que genera una carga adicional en vCenter.
- Los hosts creados a partir de datos de registro automático de un proxy en un grupo de proxy se configuran para ser supervisados 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 supervisados por ese proxy.