Guía paso a paso: Cómo habilitar la página de estado de Nginx
09:02, 07.05.2025
El servidor web Nginx es famoso por su rendimiento y escalabilidad, lo que lo convierte en una opción habitual para los administradores de sistemas. Una de sus potentes características es la capacidad de habilitar una página de estado que proporciona métricas en tiempo real sobre la salud y el rendimiento de su servidor. En esta guía, le guiaremos a través del proceso de habilitación de la página de estado de Nginx, la configuración del acceso y su integración con soluciones de monitorización.
Pero antes de empezar, asegúrese de que ha instalado y configurado NGINX.
Activación del módulo ngx_http_stub_status_module para NGINX
Antes de ver la página de estado de Nginx, debe asegurarse de que ngx_http_stub_status_module está activado. La mayoría de las distribuciones de Nginx suelen tenerlo, pero si ves que no está, debes instalar una versión diferente de Nginx que tenga el módulo.
Para comprobar si el módulo está incluido, ejecuta el siguiente comando:
nginx -V 2>&1 | grep -o with-http_stub_status_module
Si la salida muestra http_stub_status_module, significa que el módulo está incluido. Si no lo hace, considere instalar la versión de Nginx que tiene el módulo mencionado. La mayoría de los gestores de paquetes ofrecen el paquete nginx-full, que contiene http_stub_status_module. Además, puede ejecutar el siguiente comando para instalarlo:
apt-get install nginx-full
Configuración del panel de estado de NGINX
Ahora que nos hemos asegurado de que tenemos el módulo, vamos a configurar la página de estado. Para ello, abra el archivo de configuración de Nginx (ubicado en /etc/nginx/nginx.conf o /etc/nginx/conf.d/default.conf).
Cómo establecer la configuración predeterminada del servidor
Busca en el archivo un bloque default_server. Si no encuentra ninguno, tendrá que crearlo insertando lo siguiente en el bloque de configuración HTTP:
server {
listen 80;
listen [::]:80;
server_name _; # catch-all domain
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Inserte la Directiva stub_status
Ahora, tenemos que definir un bloque de ubicación para el módulo stub_status. El bloque location nos ayudará a determinar una ruta HTTP para la página de estado.
Añade el siguiente bloque de ubicación en el bloque del servidor por defecto:
location /nginx/status {
stub_status;
}
Implementación de controles de acceso para la página de estado de NGINX
La página de estado requiere controles de acceso, ya que contiene datos sensibles que podrían utilizarse con fines maliciosos. Es necesario limitar las direcciones IP que pueden ver la página de estado añadiendo directivas allow/deny al bloque de ubicación. Puede hacerlo ejecutando los siguientes comandos:
location /nginx/status {
stub_status;
allow 127.0.0.1;
deny all;
}
Le recomendamos que permita a las redes internas acceder a la página añadiendo la línea: allow 10.0.0.0/8.
Aplicación de los cambios y verificación de la configuración
A continuación, vamos a aplicar los cambios y comprobar la configuración. Primero, guarde el archivo de configuración de Nginx. A continuación, pruebe la configuración ejecutando el siguiente comando:
nginx -t
Una vez comprobada la configuración, reinicie el servidor Nginx para aplicar los cambios:
nginx -s reload
Visualización del panel de estado de NGINX
Hay varias maneras de ver el tablero de estado de Nginx: a través de un navegador web o una herramienta de línea de comandos.
Si desea utilizar un navegador, abra la ventana 127.0.0.1/nginx/status.
Si desea utilizar una herramienta de línea de comandos como curl, ejecute el siguiente comando:
curl http://127.0.0.1:80/nginx/status
Análisis de las métricas de estado de NGINX
La página de estado de NGINX proporciona varias métricas, entre las que se incluyen:
- Conexiones activas: El número de conexiones activas actualmente.
- Conexiones aceptadas: El número total de conexiones aceptadas.
- Conexiones procesadas: El número total de conexiones procesadas.
- Peticiones: El número total de peticiones atendidas.
- Peticiones en lectura: El número de peticiones que se están leyendo actualmente.
- Escritura de respuestas: El número de respuestas que se están escribiendo actualmente.
- Esperando conexión: Número de conexiones en espera de respuesta.
- Leyendo de un fichero: El número de peticiones de lectura de un fichero.
Conexión de los datos de estado de NGINX a sistemas de supervisión
Es importante conectar los datos de estado de Nginx a los sistemas de monitorización, y la forma de hacerlo dependerá del sistema.
Uso de DataDog para la supervisión de NGINX
Para empezar a utilizar DataDog para la monitorización de Nginx, edita el archivo nginx.d/conf.yaml y establece el parámetro nginx_status_url en http://127.0.0.1:80/nginx/status.
Todo lo que queda por hacer es reiniciar DataDog.
Solución general de supervisión del tiempo de actividad
También puede utilizar otras soluciones de monitorización como Prometheus, Grafana o cualquier servicio de monitorización del tiempo de actividad que permita comprobaciones HTTP. Solo tiene que dirigir estas herramientas a la URL de su página de estado de Nginx.
Conclusión
La habilitación de la página de estado de Nginx es un proceso sencillo que proporciona información valiosa sobre el rendimiento de su servidor. Siguiendo los pasos descritos en esta guía, puede supervisar eficazmente su servidor Nginx, asegurando un rendimiento óptimo y una respuesta rápida a cualquier problema potencial. La integración de estos datos con soluciones de monitorización como DataDog mejora su capacidad para gestionar y mantener un entorno de servidor saludable.