Website-Suche

ngxtop – Überwachen Sie Nginx-Protokolldateien in Echtzeit unter Linux


ngxtop ist ein kostenloses Open-Source-, einfaches, flexibles, vollständig konfigurierbares und benutzerfreundliches Echtzeit-Top-ähnliches Überwachungstool für Nginx-Server. Es sammelt Daten, indem es das Nginx-Zugriffsprotokoll analysiert (der Standardspeicherort ist immer /var/log/nginx/access.log) und zeigt nützliche Metriken Ihres Nginx-Servers an, sodass Sie Ihren Nginx-Server im Auge behalten können Webserver in Echtzeit. Es ermöglicht Ihnen auch, Apache-Protokolle von einem Remote-Server zu analysieren.

So installieren und verwenden Sie Ngxtop unter Linux

Um ngxtop zu installieren, müssen Sie zunächst PIP unter Linux installieren. Sobald Sie pip auf Ihrem System installiert haben, können Sie ngxtop mit dem folgenden Befehl installieren .

sudo pip install ngxtop

Überwachen Sie Nginx-Serveranforderungen

Nachdem Sie ngxtop installiert haben, können Sie es am einfachsten ohne Argumente ausführen. Dadurch wird das /var/log/nginx/access.log analysiert und standardmäßig im Folgemodus ausgeführt (achten Sie auf neue Zeilen, wenn diese in das Zugriffsprotokoll geschrieben werden).

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

Zum Beenden drücken Sie [Strg + C].

Analysieren Sie verschiedene Zugriffsprotokolle

Sie können ein anderes Zugriffsprotokoll analysieren, beispielsweise für eine bestimmte Website oder Web-App, indem Sie wie gezeigt das Flag -l verwenden.

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

Listen Sie die Top-Quell-IPs der Clients auf

Der folgende Befehl listet alle Top-Quell-IPs der Clients auf, die auf die Site zugreifen.

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

Verwenden Sie ein bestimmtes Protokollformat

Um ein Protokollformat wie in der log_format-Direktive angegeben zu verwenden, verwenden Sie die Option -f wie gezeigt.

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

Analysieren Sie das Apache-Protokoll vom Remote-Server

Um die Apache-Protokolldatei von einem Remote-Server mit allgemeinem Format zu analysieren, verwenden Sie einen Befehl ähnlich dem folgenden (geben Sie Ihren Benutzernamen und die IP des Remote-Servers an).

ssh user@remote_server tail -f /var/log/apache2/access.log | ngxtop -f common
Beispielausgabe
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 |

Weitere Verwendungsoptionen finden Sie in der ngxtop-Hilfemeldung mit dem folgenden Befehl.

ngxtop -h  

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

Das war es fürs Erste! In diesem Artikel haben wir erklärt, wie man ngxtop auf Linux-Systemen installiert und verwendet. Wenn Sie Fragen oder zusätzliche Gedanken haben, die Sie diesem Leitfaden hinzufügen möchten, verwenden Sie das Kommentarformular unten. Wenn Sie außerdem auf ähnliche Tools gestoßen sind, teilen Sie uns dies ebenfalls mit. Wir werden Ihnen dankbar sein.