ngxtop - Surveiller les fichiers journaux Nginx en temps réel sous Linux
ngxtop est un outil de surveillance en temps réel open source gratuit, simple, flexible, entièrement configurable et facile à utiliser pour le serveur nginx. Il rassemble 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 à garder un œil sur votre serveur. serveur Web en temps réel. Il vous permet également d'analyser les journaux Apache à partir d'un serveur distant.
Comment installer et utiliser Ngxtop sous Linux
Pour installer ngxtop, vous devez d'abord installer PIP sous Linux, une fois pip installé sur votre système, vous pouvez installer ngxtop à l'aide de la commande suivante .
sudo pip install ngxtop
Surveiller les requêtes du serveur Nginx
Maintenant que vous avez installé ngxtop, le moyen le plus simple de l'exécuter est sans aucun argument. Cela analysera le /var/log/nginx/access.log et s'exécutera en mode suivi (surveillez 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 l'indicateur -l
comme indiqué.
sudo ngxtop -l /var/log/nginx/site1/access.log
Répertorier les principales adresses IP sources des clients
La commande suivante répertoriera 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 particulier
Pour utiliser un format de journal tel que spécifié dans la directive log_format, utilisez l'option -f
comme indiqué.
sudo ngxtop -f main -l /var/log/nginx/site1/access.log
Analyser le journal Apache du serveur distant
Pour analyser le fichier journal Apache à partir d'un serveur distant avec un format commun, utilisez une commande similaire à la suivante (spécifiez votre nom d'utilisateur et l'adresse 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, consultez le message d'aide de ngxtop à l'aide de la commande suivante.
ngxtop -h
Dépôt Github ngxtop : https://github.com/lebinh/ngxtop
C'est tout pour le moment! Dans cet article, nous avons expliqué comment installer et utiliser ngxtop sur les systèmes Linux. Si vous avez des questions ou des idées supplémentaires à ajouter à ce guide, utilisez le formulaire de commentaires ci-dessous. De plus, si vous avez rencontré des outils similaires, faites-le-nous savoir et nous vous en serons reconnaissants.