Recherche de site Web

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.