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 equilibrio de carga y la alta disponibilidad de los proxy.

El equilibrio 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 monitoreados por un grupo de proxy en lugar de por proxy individuales.

El estado del grupo de proxy se puede monitorear con comprobaciones internas mediante cualquier host asignado a un grupo de proxy. Sin embargo, para monitorear 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:

  1. Calcular el número medio de equipos por proxy.
  2. Para los proxies con exceso de equipos: mover los equipos excedentes al grupo de proxies no asignados.
  3. Para los proxies con déficit de equipos: calcular cuántos equipos se necesitan para alcanzar el equilibrio.
  4. Eliminar el número necesario de equipos de los proxies con más equipos.
  5. 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 proxies

Para configurar un grupo de proxies en el frontend de Zabbix:

  1. Vaya a Administración > Grupos de proxies
  2. Haga clic en Crear grupo de proxies

Parámetro Descripción
Nombre Nombre del grupo de proxies.
Período de conmutación por error Período en segundos durante el cual un proxy del grupo de proxies 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 proxies 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 normalmente, pero no se llevará a cabo el equilibrio de carga ni la alta disponibilidad.
Descripción Descripción del grupo de proxies.
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 que contiene proxies.

Configuración del balanceo de carga del proxy

Para utilizar el balanceo de carga del proxy, debe configurar un grupo de proxies en el frontend de Zabbix (consulte arriba) y asegurarse 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).

Si utiliza Zabbix agent, configúrelo también de la siguiente manera:

  • Para las comprobaciones pasivas, indique todos los proxies del grupo de proxies en el parámetro Server.
  • Para las comprobaciones activas, se recomienda indicar todos los proxies del grupo de proxies 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 proxies en su modo activo.

Si el parámetro ServerActive incluye solo un proxy de un grupo de proxies (o el server de Zabbix), el agent podrá conectarse igualmente al proxy correcto. Cuando el servicio del agent se inicia y se conecta al proxy especificado, el agent recibirá y almacenará en caché la lista completa de direcciones IP de los proxies y su carga actual dentro del grupo. A continuación, las comprobaciones activas se redirigirán al proxy en línea correcto para el host, según la asignación actual de proxy-host dentro del grupo de proxies.

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 se 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 proxies. Sin embargo, si envía valores de varios hosts desde un archivo de entrada, utilice 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 proxies 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 agents nunca contacten con los proxies 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:

  1. Configure un grupo de proxies.
  2. Asegúrese de que el grupo de proxies tenga un estado en línea.
  3. 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).
  4. Espere unos segundos para que se actualicen la configuración y la distribución de 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 en el objeto/servidor 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.