En aquest tema, explorarem com NGINX Plus pot ajudar a monitoritzar la salut de les aplicacions que gestiona. La monitorització de la salut és crucial per assegurar que les aplicacions funcionin correctament i per detectar problemes abans que afectin els usuaris finals.

Conceptes Clau

  1. Comprovacions de salut (Health Checks): Són sol·licituds periòdiques que NGINX Plus envia als servidors backend per assegurar-se que estan funcionant correctament.
  2. Tipus de comprovacions de salut: NGINX Plus suporta diversos tipus de comprovacions de salut, incloent HTTP, HTTPS, TCP i UDP.
  3. Paràmetres de configuració: Inclouen la freqüència de les comprovacions, els temps d'espera, i les condicions per considerar un servidor com a saludable o no saludable.

Configuració de les Comprovacions de Salut

Exemple de Configuració

A continuació, es mostra un exemple de configuració per a les comprovacions de salut en un entorn HTTP:

http {
    upstream backend {
        zone backend 64k;
        server backend1.example.com;
        server backend2.example.com;

        # Configuració de les comprovacions de salut
        health_check interval=5s fails=3 passes=2 uri=/health_check;
    }

    server {
        listen 80;
        location / {
            proxy_pass http://backend;
        }
    }
}

Explicació del Codi

  • upstream backend: Defineix un grup de servidors backend.
  • zone backend 64k: Defineix una zona compartida per a emmagatzemar l'estat dels servidors.
  • server backend1.example.com i server backend2.example.com: Defineixen els servidors backend.
  • health_check interval=5s fails=3 passes=2 uri=/health_check: Configura les comprovacions de salut:
    • interval=5s: Envia una comprovació de salut cada 5 segons.
    • fails=3: Marca un servidor com a no saludable després de 3 comprovacions fallides.
    • passes=2: Marca un servidor com a saludable després de 2 comprovacions exitoses.
    • uri=/health_check: URI que NGINX Plus utilitza per a les comprovacions de salut.

Tipus de Comprovacions de Salut

HTTP/HTTPS

Les comprovacions de salut HTTP/HTTPS són les més comunes i impliquen enviar una sol·licitud HTTP/HTTPS a un servidor backend i esperar una resposta.

health_check interval=5s fails=3 passes=2 uri=/health_check match=status_2xx;
  • match=status_2xx: Defineix una condició de coincidència que considera la resposta com a saludable si el codi d'estat és 2xx.

TCP

Les comprovacions de salut TCP impliquen establir una connexió TCP amb el servidor backend.

stream {
    upstream backend {
        server backend1.example.com:12345;
        server backend2.example.com:12345;

        health_check interval=5s fails=3 passes=2;
    }

    server {
        listen 12345;
        proxy_pass backend;
    }
}

UDP

Les comprovacions de salut UDP impliquen enviar un paquet UDP al servidor backend i esperar una resposta.

stream {
    upstream backend {
        server backend1.example.com:12345;
        server backend2.example.com:12345;

        health_check interval=5s fails=3 passes=2;
    }

    server {
        listen 12345 udp;
        proxy_pass backend;
    }
}

Monitorització i Visualització

NGINX Plus proporciona un tauler de control en temps real que permet visualitzar l'estat dels servidors backend i les comprovacions de salut.

Accés al Tauler de Control

Per accedir al tauler de control, afegeix la següent configuració al teu fitxer de configuració de NGINX:

server {
    listen 8080;

    location /status {
        api;
        allow 127.0.0.1;
        deny all;
    }
}
  • api: Habilita l'API de NGINX Plus.
  • allow 127.0.0.1: Permet l'accés només des de localhost.
  • deny all: Denega l'accés a tots els altres.

Visualització del Tauler de Control

Accedeix al tauler de control mitjançant el navegador web a http://localhost:8080/status.

Exercici Pràctic

Exercici

Configura les comprovacions de salut per a un grup de servidors backend HTTP. Utilitza els següents paràmetres:

  • Interval: 10 segons
  • Fails: 2
  • Passes: 1
  • URI: /status

Solució

http {
    upstream backend {
        zone backend 64k;
        server backend1.example.com;
        server backend2.example.com;

        health_check interval=10s fails=2 passes=1 uri=/status;
    }

    server {
        listen 80;
        location / {
            proxy_pass http://backend;
        }
    }
}

Resum

En aquest tema, hem après com configurar i utilitzar les comprovacions de salut en NGINX Plus per monitoritzar la salut de les aplicacions. Hem vist diferents tipus de comprovacions de salut (HTTP, TCP, UDP) i com visualitzar l'estat dels servidors backend mitjançant el tauler de control de NGINX Plus. Aquestes eines són essencials per mantenir les aplicacions funcionant de manera òptima i detectar problemes de manera proactiva.

© Copyright 2024. Tots els drets reservats