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
Ich teile den gesamten Prozess in vier Schritte e...
Auf Mobilgeräten ist das Flex-Layout sehr nützlic...
Inhaltsverzeichnis Vor MySQL 5.6 Nach MySQL 5.6 Z...
Vorbereiten: Downloadadresse für das MySQL 8.0 Wi...
Heutzutage ist die Anwendungsentwicklung grundsät...
In diesem Artikel wird der spezifische Code von j...
1. Commonjs Commonjs ist ein benutzerdefiniertes ...
1. Wenn Sie DOM-Elemente einfügen, aktualisieren ...
Inhaltsverzeichnis Erstellen einer global freigeg...
Vorwort Seit der offiziellen Einführung von vue3....
Aufgetroffene Fallstricke Ich habe den ganzen Nac...
Inhaltsverzeichnis Ereignisse in js Ereignistyp H...
Ich glaube, dass Leute, die Erfahrung mit React h...
Manchmal speichern wir viele doppelte Daten in de...
1. Grammatik: <meta name="Name" conte...