Surveillance Nginx en temps réel

Analyser les journaux d'accès avec l'utilitaire ngxtop.

Ngxtop est un outil en ligne de commande puissant qui analyse vos access logs Nginx et les affiche dans une interface en temps réel, à la manière du classique top.

Il offre une vue instantanée de la charge de votre serveur en mettant en avant les requêtes les plus fréquentes, les adresses IP des visiteurs, les codes de statut HTTP et d'autres métriques essentielles — sans avoir à parcourir manuellement des fichiers de logs denses lors du dépannage.

Installer ngxtop

La façon la plus simple d'installer ngxtop est via pip :

pip install ngxtop

Commandes de base

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

Pour afficher la liste complète des options et filtres disponibles, exécutez :

ngxtop --help

Par défaut, ngxtop détecte automatiquement l'emplacement de votre access log à partir du fichier de configuration Nginx (/etc/nginx/nginx.conf). Si plusieurs logs sont trouvés, l'utilitaire vous invite à sélectionner celui que vous souhaitez surveiller :

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

Exemples pratiques

  1. Surveiller les erreurs 404
    Isolez les erreurs « Not Found » pour identifier les liens brisés ou les tentatives de scan :
ngxtop -i 'status == 404' print request status

Exemple de sortie :

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 des adresses IP par nombre de requêtes
    Identifiez les visiteurs les plus actifs ou les sources potentielles d'attaques DDoS :
ngxtop top remote_addr

Exemple de sortie :

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    |

Points clés à retenir

  • Analyse immédiate : ngxtop est idéal pour des vérifications rapides de l'état du serveur et la détection de pics de trafic.
  • Dépannage : utilisez-le pour identifier rapidement la source des erreurs 500 ou des schémas de requêtes suspects.
  • Passer à l'échelle : si ngxtop est excellent pour l'observation immédiate en terminal, privilégiez des solutions à long terme comme Prometheus + Grafana ou Zabbix pour les données historiques et les alertes avancées.

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter