Monitorización de Nginx en tiempo real
Análisis de los access logs con la utilidad ngxtop.
Ngxtop es una potente herramienta de línea de comandos que analiza los access logs de Nginx y los muestra en una interfaz en tiempo real, similar al clásico top.
Ofrece una visión instantánea de la carga del servidor, destacando las solicitudes más frecuentes, las direcciones IP de los visitantes, los códigos de estado HTTP y otras métricas clave — sin necesidad de analizar manualmente archivos de log densos durante el troubleshooting.
Instalar ngxtop
La forma más sencilla de instalar ngxtop es mediante pip:
pip install ngxtop
Comandos básicos
ngxtop [options]
ngxtop [options] (print | top | avg | sum)
Para ver la lista completa de flags y filtros disponibles, ejecuta:
ngxtop --help
De forma predeterminada, ngxtop detecta automáticamente la ubicación de tu access log a partir del archivo de configuración de Nginx (/etc/nginx/nginx.conf). Si se encuentran varios logs, la utilidad te pedirá que selecciones el que deseas monitorizar:
Multiple access logs detected in configuration:
1. /var/log/nginx/access502.log
2. /var/log/nginx/access.api.log
3. /var/log/nginx/access.img.log
4. /var/log/nginx/access.log
5. /var/log/nginx/access404.log
Ejemplos prácticos
- Monitorizar errores 404
Aísla los errores «Not Found» para identificar enlaces rotos o intentos de escaneo:
ngxtop -i 'status == 404' print request status
Ejemplo de salida:
running for 130 seconds, 150 records processed: 1.15 req/sec
request, status:
| request | status |
|----------------------------------------------|--------|
| GET /browserconfig.xml HTTP/1.1 | 404 |
| GET /employer/my/archive/2107569/98483600/ | 404 |
| GET /jobs/1045534/ HTTP/1.1 | 404 |
- Top de direcciones IP por número de solicitudes
Identifica los visitantes más activos o las posibles fuentes de ataques DDoS:
ngxtop top remote_addr
Ejemplo de salida:
running for 8 seconds, 1759 records processed: 217.15 req/sec
top remote_addr
| remote_addr | count |
|-----------------|-------|
| 92.60.184.91 | 45 |
| 66.249.78.10 | 42 |
| 77.120.121.122 | 42 |
Conclusiones clave
- Análisis inmediato: ngxtop es ideal para comprobaciones rápidas del estado del servidor y para detectar picos de tráfico.
- Troubleshooting: úsalo para localizar rápidamente el origen de errores de la serie 500 o patrones de solicitudes sospechosos.
- Escalar el monitoreo: aunque ngxtop es excelente para la observación inmediata en terminal, considera soluciones a largo plazo como
Prometheus + GrafanaoZabbixpara datos históricos y alertas avanzadas.
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!