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
- 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.
- Tipus de comprovacions de salut: NGINX Plus suporta diversos tipus de comprovacions de salut, incloent HTTP, HTTPS, TCP i UDP.
- 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
iserver 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.
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:
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.
Curs de NGINX
Mòdul 1: Introducció a NGINX
Mòdul 2: NGINX com a servidor web
- Servint contingut estàtic
- Llistats de directoris
- Pàgines d'error personalitzades
- Registre i formats de registre