ngxtop - Overvåg Nginx-logfiler i realtid i Linux


ngxtop er en gratis open source, enkel, fleksibel, fuldt konfigurerbar og brugervenlig realtids toplignende overvågningsværktøj til nginx-server. Det samler data ved at parsere nginx-adgangsloggen (standardplacering er altid /var/log/nginx/access.log) og viser nyttige metrics på din nginx-server, hvilket hjælper dig med at holde øje med din webserver i realtid. Det giver dig også mulighed for at analysere Apache-logfiler fra en ekstern server.

Sådan installeres og bruges Ngxtop i Linux

For at installere ngxtop skal du først installere PIP i Linux, når du først har pip installeret på dit system, kan du installere ngxtop ved hjælp af følgende kommando.

$ sudo pip install ngxtop

Nu hvor du har installeret ngxtop, er den nemmeste måde at køre den på uden argumenter. Dette parser /var/log/nginx/access.log og kører i følgetilstand (se efter nye linjer, da de skrives til adgangsloggen) som standard.

$ sudo ngxtop
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 |

For at afslutte skal du trykke på [Ctrl + C].

Du kan analysere en anden adgangslog, for eksempel for et bestemt websted eller en webapp ved hjælp af -l -flagget som vist.

$ sudo ngxtop -l /var/log/nginx/site1/access.log

Den følgende kommando viser alle topkildens IP-adresser for klienter, der får adgang til webstedet.

$ sudo ngxtop remote_addr -l  /var/log/nginx/site1/access.log
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 |

For at bruge et logformat som angivet i log_format-direktivet skal du bruge indstillingen -f som vist.

$ sudo ngxtop -f main -l /var/log/nginx/site1/access.log

For at parse Apache-logfilen fra en ekstern server med almindeligt format skal du bruge en kommando svarende til følgende (angiv dit brugernavn og IP-adresse til ekstern server).

$ ssh [email _server tail -f /var/log/apache2/access.log | ngxtop -f common
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 |

For flere brugsmuligheder, se ngxtop-hjælpemeddelelsen ved hjælp af følgende kommando.

$ ngxtop -h  

ngxtop Github-lager: https://github.com/lebinh/ngxtop

Det er det for nu! I denne artikel har vi forklaret, hvordan du installerer og bruger ngxtop i Linux-systemer. Hvis du har spørgsmål eller ekstra tanker at tilføje til denne vejledning, skal du bruge kommentarformularen nedenfor. Derudover, hvis du er stødt på lignende værktøjer, så lad os det vide, og vi vil være taknemmelige.