El monitoreo de la salud de las aplicaciones es una funcionalidad avanzada de NGINX Plus que permite a los administradores de sistemas y desarrolladores asegurarse de que sus aplicaciones estén funcionando correctamente y de manera eficiente. Esta capacidad es crucial para mantener la alta disponibilidad y el rendimiento óptimo de las aplicaciones.
Conceptos Clave
-
Verificaciones de Salud Activas y Pasivas:
- Verificaciones Activas: NGINX Plus envía solicitudes periódicas a los servidores backend para verificar su estado.
- Verificaciones Pasivas: NGINX Plus monitorea las respuestas de las solicitudes reales de los clientes para determinar la salud del servidor backend.
-
Tipos de Verificaciones de Salud:
- HTTP: Verifica la respuesta HTTP del servidor backend.
- TCP: Verifica la capacidad de establecer una conexión TCP con el servidor backend.
- gRPC: Verifica la respuesta gRPC del servidor backend.
-
Configuración de Verificaciones de Salud:
- Intervalo: Tiempo entre cada verificación.
- Timeout: Tiempo de espera para una respuesta.
- Fallos y Éxitos: Número de fallos o éxitos consecutivos necesarios para marcar un servidor como inactivo o activo.
Configuración de Verificaciones de Salud
Verificaciones de Salud HTTP
Para configurar una verificación de salud HTTP, se utiliza la directiva health_check
dentro del bloque upstream
. Aquí hay un ejemplo de configuración:
upstream backend { server backend1.example.com; server backend2.example.com; # Configuración de verificación de salud health_check interval=5s fails=3 passes=2; }
En este ejemplo:
interval=5s
: NGINX Plus realiza una verificación cada 5 segundos.fails=3
: Si el servidor falla 3 verificaciones consecutivas, se marca como inactivo.passes=2
: Si el servidor pasa 2 verificaciones consecutivas, se marca como activo.
Verificaciones de Salud TCP
Para las verificaciones de salud TCP, la configuración es similar pero se especifica el protocolo TCP:
upstream backend { server backend1.example.com:12345; server backend2.example.com:12345; # Configuración de verificación de salud TCP health_check interval=10s type=tcp; }
Verificaciones de Salud gRPC
Para las verificaciones de salud gRPC, se utiliza la directiva grpc_pass
:
upstream grpc_backend { server grpc1.example.com:50051; server grpc2.example.com:50051; # Configuración de verificación de salud gRPC health_check interval=10s type=grpc; }
Monitoreo y Visualización
NGINX Plus proporciona un panel de control en tiempo real que permite a los administradores visualizar el estado de las verificaciones de salud. Este panel se puede acceder a través de la URL configurada en el bloque location
:
Accediendo a http://localhost:8080/status
, se puede ver el estado de los servidores backend y las verificaciones de salud.
Ejercicio Práctico
Ejercicio 1: Configuración de Verificación de Salud HTTP
- Objetivo: Configurar una verificación de salud HTTP para un grupo de servidores backend.
- Instrucciones:
- Configura un bloque
upstream
con dos servidores backend. - Añade una verificación de salud HTTP con un intervalo de 5 segundos, 3 fallos consecutivos para marcar como inactivo y 2 éxitos consecutivos para marcar como activo.
- Configura un bloque
- Código:
upstream backend { server backend1.example.com; server backend2.example.com; health_check interval=5s fails=3 passes=2; }
Ejercicio 2: Configuración de Verificación de Salud TCP
- Objetivo: Configurar una verificación de salud TCP para un grupo de servidores backend.
- Instrucciones:
- Configura un bloque
upstream
con dos servidores backend en el puerto 12345. - Añade una verificación de salud TCP con un intervalo de 10 segundos.
- Configura un bloque
- Código:
upstream backend { server backend1.example.com:12345; server backend2.example.com:12345; health_check interval=10s type=tcp; }
Conclusión
El monitoreo de la salud de las aplicaciones con NGINX Plus es una herramienta poderosa para asegurar la alta disponibilidad y el rendimiento de las aplicaciones. A través de verificaciones de salud activas y pasivas, los administradores pueden detectar y responder rápidamente a problemas en los servidores backend. La configuración de estas verificaciones es flexible y puede adaptarse a diferentes tipos de aplicaciones y protocolos.
En el siguiente tema, exploraremos la configuración dinámica en NGINX Plus, que permite realizar cambios en la configuración sin necesidad de reiniciar el servidor.
Curso de NGINX
Módulo 1: Introducción a NGINX
Módulo 2: NGINX como Servidor Web
- Sirviendo Contenido Estático
- Listados de Directorios
- Páginas de Error Personalizadas
- Registro y Formatos de Registro
Módulo 3: NGINX como Proxy Inverso
- Introducción al Proxy Inverso
- Configurando un Proxy Inverso
- Balanceo de Carga
- Verificaciones de Salud