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

  1. 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.
  2. 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.
  3. 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:

server {
    listen 8080;

    location /status {
        api;
        allow 127.0.0.1;
        deny all;
    }
}

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

  1. Objetivo: Configurar una verificación de salud HTTP para un grupo de servidores backend.
  2. 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.
  3. 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

  1. Objetivo: Configurar una verificación de salud TCP para un grupo de servidores backend.
  2. 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.
  3. 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.

© Copyright 2024. Todos los derechos reservados