1. Nginx-Statusüberwachung Nginx bietet eine integrierte Überwachungsseite für Statusinformationen, mit der der allgemeine Zugriffsstatus von Nginx überwacht werden kann. Diese Funktion wird vom Modul ngx_http_stub_status_module implementiert. Verwenden Sie den Befehl nginx -V 2>&1 | grep -o with-http_stub_status_module, um zu überprüfen, ob das aktuelle Nginx über die Statusfunktion verfügt. Wenn die Ausgabe ngx_http_stub_status_module lautet, bedeutet dies, dass es über die Statusfunktion verfügt. Wenn nicht, können Sie dieses Modul während der Kompilierung hinzufügen. Standardmäßig ist der Status deaktiviert. Wir müssen ihn aktivieren und die URI angeben, um auf die Daten zuzugreifen. Server { hören Sie 80; Servername Standardserver; Standort /Status { stub_status ein; erlauben Sie 114.247.125.227; } } Die Allow-Konfiguration erlaubt nur der angegebenen IP den Zugriff auf die Nginx-Statusfunktion. Wird sie entfernt, gibt es keine Einschränkung. Besuchen Sie nach dem Neustart von Nginx http://{IP}/status in Ihrem Browser, um Informationen zur Statusüberwachung anzuzeigen.
Nachdem Sie Nginx-Daten gesammelt haben, können Sie diese mithilfe von Überwachungstools überwachen. 2. Protokollanalyse Die Standardkonfiguration des Nginx-Protokollformats finden Sie in /etc/nginx/nginx.conf log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' „$http_user_agent“ „$http_x_forwarded_for“ $Anforderungszeit $Upstream_Antwortzeit“; Beispiel für ein gedrucktes Protokoll
Allgemeine Analysebefehle 1. UV basierend auf der Zugriffs-IP zählen awk '{print $1}' paycenteraccess.log | sort -n | uniq | wc -l 2. Abfrage der am häufigsten besuchten IPs (Top 10) awk '{print $1}' /var/log/nginx/access.log | sort -n | uniq -c | sort -rn | head -n 10 3. Überprüfen Sie das IP-Zugriffsvolumen in einem bestimmten Zeitraum (1-8 Uhr). awk '$4 >="[25/Mar/2020:01:00:00" && $4 <="[25/Mar/2020:08:00:00"' /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr |wc -l 4. Zeigen Sie IP-Adressen an, die mehr als 100 Mal besucht wurden awk '{print $1}' /var/log/nginx/access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn 5. Zeigen Sie die URLs und die Anzahl der Besuche an, die von der angegebenen IP besucht wurden grep "39.105.67.140" /var/log/nginx/access.log|awk '{print $7}' |sort |uniq -c |sort -n -k 1 -r 6. PV basierend auf besuchten URLs zählen cat /var/log/nginx/access.log |awk '{print $7}' |wc -l 7. Abfrage der am häufigsten besuchten URLs (Top 10) awk '{print $7}' /var/log/nginx/access.log | sortieren | uniq -c | sortieren -rn | head -n 10 8. Zeigen Sie die am häufigsten besuchten URLs an ([außer /api/appid]) (Top 10) grep -v '/api/appid' /var/log/nginx/access.log|awk '{print $7}' | sort |uniq -c | sort -rn | head -n 10 9. Seiten mit mehr als 100 Seitenaufrufen anzeigen cat /var/log/nginx/access.log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | weniger 10. Zeigen Sie die letzten 1.000 Datensätze und die am häufigsten besuchten Seiten an tail -1000 /var/log/nginx/access.log |awk '{print $7}'|sort|uniq -c|sort -nr|weniger 11. Zählen Sie die Anzahl der Anfragen pro Stunde und die Zeitpunkte der Top 10 (stundengenau) awk '{print $4}' /var/log/nginx/access.log |cut -c 14-15|sort|uniq -c|sort -nr|head -n 10 12. Zählen Sie die Anzahl der Anfragen pro Minute und die Zeitpunkte der Top 10 (minutengenau) awk '{print $4}' /var/log/nginx/access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 10 13. Zählen Sie die Anzahl der Anfragen pro Sekunde und die Zeitpunkte der Top 10 (sekundengenau) awk '{print $4}' /var/log/nginx/access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 10 14. Suchen Sie nach Protokollen für einen bestimmten Zeitraum awk '$4 >="[25/Mar/2020:01:00:00" && $4 <="[25/Mar/2020:08:00:00"' /var/log/nginx/access.log 15. Listet die URLs auf, deren Übertragungszeit 0,6 Sekunden überschreitet, und zeigt die ersten 10 cat /var/log/nginx/access.log |awk '(substr($NF,2,5) > 0,6){print $4,$7,substr($NF,2,5)}' | awk -F '"' '{print $1,$2,$3}' |sort -k3 -rn | head -10 16. Listen Sie die Zeitpunkte auf, an denen die Anforderungszeit für /api/appid 0,6 Sekunden überschreitet cat /var/log/nginx/access.log |awk '(substr($NF,2,5) > 0.6 && $7~/\/api\/appid/){print $4,$7,substr($NF,2,5)}' | awk -F '"' '{print $1,$2,$3}' |sort -k3 -rn | head -10 17. Holen Sie sich die 10 zeitaufwändigsten Anfragezeiten, URLs und Dauern cat /var/log/nginx/access.log |awk '{print $4,$7,substr($NF,2,5)}' | awk -F '"' '{print $1,$2,$3}' | sort -k3 -rn | head -10 Zusammenfassen Dies ist das Ende dieses Artikels über die Nginx-Statusüberwachung und Protokollanalyse. Weitere relevante Inhalte zur Nginx-Statusüberwachung und Protokollanalyse finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Lassen Sie sich das Funktionsprinzip von JavaScript erklären
Die MySQL-Verbindung muss zuerst über Init-Connec...
Oft möchten wir in Linux eine Datei finden, wisse...
Grundlegende Syntax der MySQL-Datenbank DDL-Opera...
1. Verwenden Sie Daten aus Tabelle A, um den Inha...
Problembeschreibung Nach der Installation von Qt5...
Wenn wir in einem Terminal oder einer Konsole arb...
transform:scale() lässt sich ein proportionales V...
1. Die Entstehung des Problems Habe eine flache L...
Da der Datenbindungsmechanismus von Vue und ander...
Inhaltsverzeichnis Manuelle Bereitstellung 1. Ers...
Probieren wir hier den Reverse-Proxy von Nginx au...
Bevor Sie diesen Artikel lesen, hoffe ich, dass S...
Inhaltsverzeichnis Docker-Container exportieren D...
Die Implementierungsmethode gliedert sich in drei...
Die Standardanordnung von Text in HTML ist horizo...