Monitoraggio Nginx in tempo reale

Analisi degli access log con l'utility ngxtop.

Ngxtop è un potente strumento a riga di comando che analizza gli access log di Nginx e li visualizza in un'interfaccia in tempo reale, simile al classico top.

Fornisce una panoramica immediata del carico del server, evidenziando le richieste più frequenti, gli indirizzi IP dei visitatori, i codici di stato HTTP e altre metriche fondamentali — eliminando la necessità di analizzare manualmente file di log densi durante il troubleshooting.

Installare ngxtop

Il modo più semplice per installare ngxtop è tramite pip:

pip install ngxtop

Comandi di base

ngxtop [options]
ngxtop [options] (print | top | avg | sum)

Per visualizzare l'elenco completo dei flag e dei filtri disponibili, esegui:

ngxtop --help

Per impostazione predefinita, ngxtop rileva automaticamente la posizione dell'access log dal file di configurazione di Nginx (/etc/nginx/nginx.conf). Se vengono trovati più log, l'utility ti chiederà di selezionare quello da monitorare:

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

Esempi pratici

  1. Monitorare gli errori 404
    Isola gli errori «Not Found» per individuare link non funzionanti o tentativi di scansione:
ngxtop -i 'status == 404' print request status

Esempio di output:

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 indirizzi IP per numero di richieste
    Identifica i visitatori più attivi o le potenziali fonti di attacchi DDoS:
ngxtop top remote_addr

Esempio di output:

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    |

Considerazioni finali

  • Analisi immediata: ngxtop è perfetto per i controlli rapidi sullo stato del server e per individuare picchi di traffico.
  • Troubleshooting: usalo per risalire rapidamente alla fonte degli errori della serie 500 o di pattern di richieste sospetti.
  • Scalare il monitoraggio: ngxtop è eccellente per l'osservazione immediata da terminale, ma per i dati storici e gli alert avanzati valuta soluzioni a lungo termine come Prometheus + Grafana o Zabbix.

Aiuto

Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci