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.