Normalmente se requiere alta disponibilidad (HA) en infraestructuras cr¨ªticas que pr¨¢cticamente no puede permitirse ning¨²n tiempo de inactividad. Entonces, para cualquier servicio que puede fallar, debe existir una opci¨®n de conmutaci¨®n por error para asumir el control en caso de que el servicio actual falle.
Áú»¢¶Ä²© ofrece una soluci¨®n nativa de alta disponibilidad que es f¨¢cil de configurar y no requiere ninguna experiencia previa en HA. El HA nativo de Áú»¢¶Ä²© puede ser ¨²til para tener una capa adicional de protecci¨®n contra fallos de software/hardware del servidor Áú»¢¶Ä²© o tener menos tiempo de inactividad debido al mantenimiento.
En el modo de alta disponibilidad de Áú»¢¶Ä²©, se ejecutan varios servidores Áú»¢¶Ä²© como nodos en un cl¨²ster. Mientras un servidor Áú»¢¶Ä²© en el cl¨²ster est¨¢ activo, otros est¨¢n en espera, listos para asumir el control si fuera necesario.
Cambiar a Áú»¢¶Ä²© HA no supone ning¨²n compromiso. Puede volver a operar de forma independiente en cualquier momento.
Ver tambi¨¦n: Detalles de implementaci¨®n
Se requieren dos ±è²¹°ù¨¢³¾±ð³Ù°ù´Çs en la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del servidor para iniciar un servidor Áú»¢¶Ä²© como nodo del cl¨²ster:
Este es un identificador de nodo ¨²nico (por ejemplo, zabbix-node-01
) del servidor al que se har¨¢ referencia en la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô del agente. y del proxy. Si no especifica HANodeName, el servidor ser¨¢ iniciado en modo independiente.
El ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç NodeAddress (direcci¨®n:puerto) ser¨¢ utilizado por la interfaz de Áú»¢¶Ä²© para conectarse al nodo del servidor activo. NodeAddress debe coincidir con la IP o el nombre FQDN del servidor Áú»¢¶Ä²© respectivo.
Reinicie todos los servidores Áú»¢¶Ä²© despu¨¦s de realizar cambios en los archivos de ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô. Ahora se iniciar¨¢n como nodos del cl¨²ster. El nuevo estado de los servidores se puede ver en Informes ¡ú Informaci¨®n del sistema y tambi¨¦n ejecutando:
zabbix_server -R ha_status
Este comando en tiempo de ejecuci¨®n registrar¨¢ el estado actual del cl¨²ster HA en el registro del servidor Áú»¢¶Ä²© (y en la salida est¨¢ndar):
Aseg¨²rese de que la direcci¨®n:puerto del servidor Áú»¢¶Ä²© no est¨¦ definida en la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô de la interfaz (que se encuentra en conf/zabbix.conf.php
del directorio de archivos de la interfaz).
La interfaz de Áú»¢¶Ä²© detectar¨¢ autom¨¢ticamente el nodo activo leyendo la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô de la tabla de nodos en la base de datos Áú»¢¶Ä²©. La direcci¨®n de nodo del nodo activo se utilizar¨¢ como la direcci¨®n del servidor Áú»¢¶Ä²©.
Los nodos (servidores) del cl¨²ster HA deben aparecer en la ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô de cualquiera de los dos Proxy Áú»¢¶Ä²© pasivo o activo.
Para un proxy pasivo, los nombres de los nodos deben aparecer en el ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç Server del proxy, separados por una coma.
Server=zabbix-node-01,zabbix-node-02
Para un proxy activo, los nombres de los nodos deben aparecer en el ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç Server del proxy, separados por un punto y coma.
Server=zabbix-node-01;zabbix-node-02
Para habilitar las conexiones a varios servidores en una ³¦´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®²Ô de alta disponibilidad, enumerar las direcciones de los nodos HA en ServerActive ±è²¹°ù¨¢³¾±ð³Ù°ù´Ç del agente, separados por un punto y coma.
Áú»¢¶Ä²© conmutar¨¢ por error a otro nodo autom¨¢ticamente si el nodo activo se detiene. Debe haber al menos un nodo en estado de espera para que se produzca la conmutaci¨®n por error.
?Qu¨¦ tan r¨¢pida ser¨¢ la conmutaci¨®n por error? Todos los nodos actualizan su ¨²ltima hora de acceso (y su estado, si se cambia) cada 5 segundos. Entonces:
Si el nodo activo se apaga y logra informar su estado como "detenido", otro nodo tomar¨¢ el control en 5 segundos.
Si el nodo activo se apaga o deja de estar disponible sin poder actualizarse su estado, los nodos en espera esperar¨¢n el retraso de conmutaci¨®n por error + 5 segundos para tomar el control
El retraso de conmutaci¨®n por error es configurable, con un rango admitido entre 10 segundos y 15 minutos (un minuto por defecto). Para cambiar el retraso de la conmutaci¨®n por error, puede ejecutar:
zabbix_server -R ha_set_failover_delay=5m
El estado actual del cl¨²ster HA se puede gestionar mediante las opciones dedicadas de control en tiempo de ejecuci¨®n:
ha_status
: registra el estado del cl¨²ster HA en el registro del servidor Áú»¢¶Ä²© (y en la salida est¨¢ndar)ha_remove_node=destino
: elimina un nodo HA identificado por su <destino> - n¨²mero del nodo en la lista (el n¨²mero puede ser obtenido de la salida de ejecutar ha_status), por ejemplo:zabbix_server -R ha_remove_node=zabbix-node-02
Tenga en cuenta que los nodos activos/en espera no se pueden eliminar.
ha_set_failover_delay=delay
- establece el retraso de conmutaci¨®n por error de HA (entre 10 segundos y 15 minutos; se admiten sufijos de tiempo, p.e. 10s, 1m)El estado del nodo se puede monitorear:
ha_status
del servidor (ver arriba).La m¨¦trica interna zabbix[cluster,discovery,nodes]
se puede utilizar para el descubrimiento de los nodos, ya que devuelve un JSON con la informaci¨®n del nodo de alta disponibilidad.
Para deshabilitar un cl¨²ster de alta disponibilidad:
Para realizar una actualizaci¨®n de versi¨®n importante para los nodos HA:
En una actualizaci¨®n de versi¨®n menor, es suficiente actualizar el primer nodo, asegurarse de que est¨¦ actualizado y en ejecuci¨®n, y luego comenzar la actualizaci¨®n en el siguiente nodo.
El cl¨²ster de alta disponibilidad (HA) es una soluci¨®n opcional y es compatible con el servidor Áú»¢¶Ä²©. La soluci¨®n HA nativa est¨¢ dise?ada para ser de uso sencillo, funcionar¨¢ en todos los sitios y no tiene requisitos espec¨ªficos para las bases de datos que Áú»¢¶Ä²© reconoce. Los usuarios son libres de utilizar la soluci¨®n HA nativa de Áú»¢¶Ä²© o una soluci¨®n HA de terceros, dependiendo de lo que mejor se adapte a los requisitos de alta disponibilidad en su entorno.
La soluci¨®n consta de m¨²ltiples instancias o nodos zabbix_server. Cada nodo:
S¨®lo un nodo puede estar activo (en funcionamiento) a la vez. Un nodo en espera ejecuta s¨®lo un proceso: el administrador de HA. Un nodo en espera no recopila datos, procesamiento u otras actividades regulares del servidor; no escuchan en los puertos; Tienen conexiones m¨ªnimas a la base de datos.
Tanto los nodos activos como los nodos en espera actualizan su ¨²ltima hora de acceso cada 5 segundos. Cada nodo en espera monitorea la ¨²ltima hora de acceso del nodo activo. Si el ¨²ltimo tiempo de acceso del nodo activo est¨¢ por encima de los segundos de 'retraso de conmutaci¨®n por error', el nodo en espera cambia a s¨ª mismo para ser el nodo activo y asigna el estado "no disponible" al nodo previamente activo.
El nodo activo monitorea su propia conectividad de base de datos, si se pierde durante m¨¢s de "retraso de conmutaci¨®n por error -5" segundos, debe detener todo el procesamiento y cambiar al modo de espera. El nodo activo tambi¨¦n monitorea el estado de los nodos en espera: si el ¨²ltimo tiempo de acceso de un nodo en espera ha terminado en 'retraso de conmutaci¨®n por error' segundos, al nodo en espera se le asigna el estado 'no disponible'.
Los nodos est¨¢n dise?ados para ser compatibles con versiones menores de Áú»¢¶Ä²©.