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

  1. 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    |
  1. 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 + Grafana o Zabbix para 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!

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos