ngxtop est un outil de surveillance en temps réel, gratuit et open source, simple, flexible, entièrement configurable et facile à utiliser pour le serveur nginx. Il collecte des données en analysant le journal d’accès nginx (l’emplacement par défaut est toujours /var/log/nginx/access.log) et affiche des métriques utiles de votre serveur nginx, vous aidant ainsi à surveiller votre serveur web en temps réel. Il vous permet également d’analyser les journaux Apache depuis un serveur distant.
Comment installer et utiliser Ngxtop sous Linux
Pour installer ngxtop, vous devez d’abord installer PIP sous Linux. Une fois que vous avez pip installé sur votre système, vous pouvez installer ngxtop en utilisant la commande suivante.
$ sudo pip install ngxtop
Surveiller les requêtes du serveur Nginx
Maintenant que vous avez installé ngxtop, la manière la plus simple de l’exécuter est sans aucun argument. Cela analysera le /var/log/nginx/access.log et fonctionnera en mode suivi (surveiller les nouvelles lignes au fur et à mesure qu’elles sont écrites dans le journal d’accès) par défaut.
$ sudo ngxtop
Exemple de sortie
running for 411 seconds, 64332 records processed: 156.60 req/sec Summary: | count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx | |---------+------------------+-------+-------+-------+-------| | 64332 | 2775.251 | 61262 | 2994 | 71 | 5 | Detailed: | request_path | count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx | |------------------------------------------+---------+------------------+-------+-------+-------+-------| | /abc/xyz/xxxx | 20946 | 434.693 | 20935 | 0 | 11 | 0 | | /xxxxx.json | 5633 | 1483.723 | 5633 | 0 | 0 | 0 | | /xxxxx/xxx/xxxxxxxxxxxxx | 3629 | 6835.499 | 3626 | 0 | 3 | 0 | | /xxxxx/xxx/xxxxxxxx | 3627 | 15971.885 | 3623 | 0 | 4 | 0 | | /xxxxx/xxx/xxxxxxx | 3624 | 7830.236 | 3621 | 0 | 3 | 0 | | /static/js/minified/utils.min.js | 3031 | 1781.155 | 2104 | 927 | 0 | 0 | | /static/js/minified/xxxxxxx.min.v1.js | 2889 | 2210.235 | 2068 | 821 | 0 | 0 | | /static/tracking/js/xxxxxxxx.js | 2594 | 1325.681 | 1927 | 667 | 0 | 0 | | /xxxxx/xxx.html | 2521 | 573.597 | 2520 | 0 | 1 | 0 | | /xxxxx/xxxx.json | 1840 | 800.542 | 1839 | 0 | 1 | 0 |
Pour quitter, appuyez sur [Ctrl + C].
Analyser différents journaux d’accès
Vous pouvez analyser un journal d’accès différent, par exemple pour un site web ou une application web particulière en utilisant le drapeau -l
comme indiqué.
$ sudo ngxtop -l /var/log/nginx/site1/access.log
Lister les principales adresses IP sources des clients
La commande suivante listera toutes les principales adresses IP sources des clients accédant au site.
$ sudo ngxtop remote_addr -l /var/log/nginx/site1/access.log
Exemple de sortie
running for 20 seconds, 3215 records processed: 159.62 req/sec top remote_addr | remote_addr | count | |-----------------+---------| | 118.173.177.161 | 20 | | 110.78.145.3 | 16 | | 171.7.153.7 | 16 | | 180.183.67.155 | 16 | | 183.89.65.9 | 16 | | 202.28.182.5 | 16 | | 1.47.170.12 | 15 | | 119.46.184.2 | 15 | | 125.26.135.219 | 15 | | 125.26.213.203 | 15 |
Utiliser un Format de Journal Spécifique
Pour utiliser un format de journal tel que spécifié dans la directive log_format, utilisez l’option -f
comme illustré.
$ sudo ngxtop -f main -l /var/log/nginx/site1/access.log
Analyser les Journaux Apache Depuis un Serveur distant
Pour analyser le fichier journal Apache d’un serveur distant avec un format commun, utilisez une commande similaire à celle suivante (spécifiez votre nom d’utilisateur et l’IP du serveur distant).
$ ssh user@remote_server tail -f /var/log/apache2/access.log | ngxtop -f common
Exemple de sortie
running for 20 seconds, 1068 records processed: 53.01 req/sec Summary: | count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx | |---------+------------------+-------+-------+-------+-------| | 1068 | 28026.763 | 1029 | 20 | 19 | 0 | Detailed: | request_path | count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx | |------------------------------------------+---------+------------------+-------+-------+-------+-------| | /xxxxxxxxxx | 199 | 55150.402 | 199 | 0 | 0 | 0 | | /xxxxxxxx/xxxxx | 167 | 47591.826 | 167 | 0 | 0 | 0 | | /xxxxxxxxxxxxx/xxxxxx | 25 | 7432.200 | 25 | 0 | 0 | 0 | | /xxxx/xxxxx/x/xxxxxxxxxxxxx/xxxxxxx | 22 | 698.727 | 22 | 0 | 0 | 0 | | /xxxx/xxxxx/x/xxxxxxxxxxxxx/xxxxxx | 19 | 7431.632 | 19 | 0 | 0 | 0 | | /xxxxx/xxxxx/ | 18 | 7840.889 | 18 | 0 | 0 | 0 | | /xxxxxxxx/xxxxxxxxxxxxxxxxx | 15 | 7356.000 | 15 | 0 | 0 | 0 | | /xxxxxxxxxxx/xxxxxxxx | 15 | 9978.800 | 15 | 0 | 0 | 0 | | /xxxxx/ | 14 | 0.000 | 0 | 14 | 0 | 0 | | /xxxxxxxxxx/xxxxxxxx/xxxxx | 13 | 20530.154 | 13 | 0 | 0 | 0 |
Pour plus d’options d’utilisation, affichez le message d’aide de ngxtop en utilisant la commande suivante.
$ ngxtop -h
Dépôt GitHub de ngxtop : https://github.com/lebinh/ngxtop
C’est tout pour l’instant ! Dans cet article, nous avons expliqué comment installer et utiliser ngxtop sur des systèmes Linux. Si vous avez des questions ou des idées supplémentaires à ajouter à ce guide, utilisez le formulaire de commentaire ci-dessous. De plus, si vous avez rencontré d’autres outils similaires, faites-nous également savoir et nous serons reconnaissants.
Source:
https://www.tecmint.com/ngxtop-monitor-nginx-log-files-in-real-time-in-linux/