Supervisar servicios en un clúster mediante la supervisión de rutas
En una configuración de clúster, la propiedad de los servicios de monitoreo se distribuye entre los nodos. Por lo tanto, diferentes nodos supervisan diferentes servicios. El nodo que monitorea un servicio se denomina propietario del servicio. Solo el propietario del servicio examina el servidor para supervisar el estado de los servicios que se le han asignado. Además, comunica el estado de los servicios a todos los demás nodos del clúster. El inconveniente de la monitorización distribuida es que la conectividad de la red y el estado del enlace entre todos los nodos y el servidor no están determinados. Para superar este inconveniente, puede utilizar la monitorización de rutas.
Nota
No puede seleccionar un nodo para supervisar un servicio. La selección de nodos para monitorizar un servicio se realiza a través de un mecanismo interno. Puede ver el nodo propietario para supervisar los servicios mediante el comando
show serviceGroup <service group name>
show service <service name>
and.
La supervisión de rutas comprueba la conectividad de la red y el estado del enlace entre un nodo y el servicio proporcionado por el servidor. Un nodo envía pings de ICMP para verificar si se puede acceder al servidor o no.
Cómo funciona la monitorización de rutas
Considere un ejemplo de un clúster de NetScaler que consta de tres nodos N1, N2 y N3. N2 es el propietario del servicio que supervisa el estado de los servicios HTTP (S1). Anuncia el estado del servicio a otros nodos del clúster. La supervisión de rutas está habilitada en todos los nodos del clúster, para todos los servicios. Cada nodo envía solo un ping ICMP al servidor. El propietario del servicio envía la solicitud de servicio HTTP y un ping de ICMP. Cada nodo informa al propietario del servicio sobre su estado de monitorización de rutas.
Los dos parámetros siguientes determinan el estado de servicio de un nodo:
- S = estado del servicio anunciado por el propietario del servicio
- P = estado de monitorización de rutas de cada nodo
El hecho de que un nodo pueda llegar a un servidor o no, determina el estado de supervisión de la ruta de ese nodo.
La siguiente tabla muestra el estado del servicio establecido en función del estado de supervisión de la ruta, cuando el parámetro PathMonitorIndv está activado o inhabilitado.
Parámetro | Estado de monitorización de rutas | Estado del servicio |
---|---|---|
PathMonitorIndv = NO; Es la configuración por defecto. | P1 = ABAJO | S1 = ABAJO |
P2 = ARRIBA | S1 = ABAJO | |
P3 = ARRIBA | S1 = ABAJO | |
PathMonitorIndv = SÍ | P1 = ABAJO | S1 = ABAJO |
P2 = ARRIBA | S1 = ARRIBA | |
P3 = ARRIBA | S1 = ARRIBA |
En este ejemplo, el propietario del servicio decide el estado del servicio de todos los nodos basándose en el nodo cuyo estado de monitorización de rutas está establecido en INACTIVO. Si el estado de monitorización de rutas de alguno de los nodos es INACTIVO, el propietario del servicio establece el estado del servicio para todos los nodos como INACTIVO. El estado del servicio para todos los nodos se establece en UP solo si el estado de monitoreo de rutas para cada uno de los nodos es ACTIVO.
Puede utilizar la supervisión de rutas para nodos individuales habilitando el parámetro PathMonitorInDV. Este parámetro permite al propietario del servicio establecer el estado del servicio para cada nodo en función del estado de monitorización de rutas de ese nodo respectivo.
Nota
Si se establece el parámetro PathMonitorInDV, es posible que algunas funciones, como la persistencia, se rompan.
Configuración de la monitorización de rutas
La monitorización de rutas es aplicable a todos los servicios y grupos de servicios. El parámetro de monitorización de rutas está desactivado de forma predeterminada.
Para habilitar la supervisión de rutas para servicios/grupos de servicios mediante la CLI
En la línea de comandos, escriba:
add service <service name> <IP address> <service type> <port> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
add servicegroup <servicegroup name> <service type> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
<!--NeedCopy-->
Ejemplo:
add service s1 1.1.1.1 HTTP 80 -pathMonitor YES
add servicegroup sg_1 HTTP -pathMonitor YES
add service s1 1.1.1.1 HTTP 80 -pathMonitor YES -pathMonitorIndv YES
add servicegroup sg_1 HTTP -pathMonitor YES -pathMonitorIndv YES
<!--NeedCopy-->
También puede configurar el parámetro de monitorización de rutas desde el comando set, de la siguiente manera:
set service <service name> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
set servicegroup <servicegroup name> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
<!--NeedCopy-->
Ejemplo:
set service s1 -pathMonitor YES
set servicegroup sg_1 -pathMonitor YES
set service s1 -pathMonitorIndv YES
set servicegroup sg_1 -pathMonitorIndv NO
<!--NeedCopy-->
Para habilitar la supervisión de rutas para servicios/grupos de servicios mediante la interfaz gráfica de usuario
-
Vaya a Administración del tráfico > Equilibrio de carga > Servicios.
Para los grupos de servicios, vaya a Administración del tráfico > Equilibrio de carga > Grupos de servicios.
- En el panel Servicios/grupos de servicios, seleccione un servicio o grupo de servicios de la lista y, a continuación, haga doble clic para abrirlo.
- En la ficha Configuración del servicio, haga clic en Editar.
- Seleccione Monitorización de rutas.
- Seleccione Supervisión de rutas individualessi desea aplicarla y, a continuación, haga clic en Aceptar.
Nota
Puede habilitar la supervisión de rutas individuales solo si habilita la supervisión de rutas.