Vor kurzem wollte ich Goaccess verwenden, um Nginx-Protokolle zu analysieren, aber das Konfigurationsformat von Nginx-Protokollen entspricht nicht dem normalen Format. Es ist vollständig nach unseren eigenen Anforderungen geschrieben, sodass Goaccess es nicht analysieren kann und wir das Format selbst neu definieren müssen. Obwohl es im Internet viele Einführungen zu Goaccess gibt, konzentrieren sich die meisten davon auf die wichtigen Punkte und ignorieren die Anpassung des Formats. Daher werde ich über die Anpassung sprechen. GoAccess ist ein Open-Source-Tool zur Echtzeit-Webprotokollanalyse, das in einem Befehlszeilenterminal ausgeführt wird. Dieses Tool bietet schnelle und vielfältige HTTP-Statusstatistiken, sodass Administratoren sich nicht mehr mit dem Zählen verschiedener Datentypen herumschlagen müssen und komplizierte Befehle und viele Pipelines/reguläre Ausdrücke hinter sich lassen können. Analysieren Sie Nginx-Protokolle Die verschiedenen Anzeigemodi von GoAccess Formatierte Daten über die Befehlszeile ausgeben. Verwenden Sie access.log, um statische Visualisierungsdaten zu generieren. Generieren Sie Echtzeit-Visualisierungsdaten. Beachten Sie, dass Sie, wenn Sie kompilieren und installieren und --enable-geoip=mmdb auswählen, die Konfigurationsdatei bearbeiten und den Parameter --config-file=/usr/local/etc/goaccess/goaccess.conf hinzufügen müssen, wenn Sie den Befehl verwenden. Dies ist nicht erforderlich, wenn Sie mit einem Paketmanager installieren. Befehlszeilenausgabe GoAccess Analysieren Sie das Zugriffsprotokoll, um statisches HTML zu generieren goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED, greifen Sie dann über den Browser auf report.html zu, um den Bericht anzuzeigen, der alle Daten enthält. Echtzeit-Analyse von Zugriffsprotokollen goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=KOMBINIERT --real-time-html --config-file=/usr/local/etc/goaccess/goaccess.conf Chinesische Unterstützung hinzufügen Den Echtzeitmodus können Sie in der Demo auf der offiziellen Website https://rt.goaccess.io/?20200209201008 überprüfen. Abnormales Beenden. Wenn der Echtzeitmodus nicht normal beendet wird, kann er möglicherweise nicht wieder normal gestartet werden. GoAccess verwendet standardmäßig den WebSocket-Port 7890. Verwenden Sie daher lsof -i:7890, um die Prozessnummer anzuzeigen, die den Port belegt, und beenden Sie ihn. SSL-Unterstützung Wenn Sie Echtzeitdaten über eine verschlüsselte Verbindung ausgeben müssen, müssen Sie --ssl-cert= und --ssl-key= verwenden. Nachdem ich es eingerichtet hatte, besuchte ich report.html und stellte fest, dass die Daten immer noch statisch waren. Plötzlich fiel mir ein, dass ich Cloudflare CDN verwendet hatte und Port 7890 nicht in der Liste der von Cloudflare unterstützten Ports enthalten war. Daher verwendete ich die Parameter --ws-url=wss://Serverdomänenname (unser Browser versucht, eine Verbindung zu Port 8443 des Domänennamens herzustellen):8443 --port=8443, um den Port auf 8443 zu ändern. Unerwartet ist, dass derzeit bei Verwendung des Proxy-Links eine Verbindung zu report.html hergestellt und Echtzeitinformationen angezeigt werden können. Bei einer direkten Verbindung handelt es sich jedoch immer noch um statische Daten, wie durch TCP angezeigt wird. Gehen Sie zur offiziellen Website von Cloudflare und Sie finden den folgenden Inhalt Nur die Ports 80 und 443 sind mit den folgenden Diensten kompatibel: Für HTTP/HTTPS-Verkehr aus Rechenzentren in China mit für das China-Netzwerk aktivierten Domänennamen, Reverse-Proxy Aber es ist nicht so, dass es keine Möglichkeit zur Verbindung gibt. Schließlich dachte ich an die Reverse-Proxy-Lösung. Ändern Sie die Startparameter in --ws-url=wss://yourdomain.com/goaccess --port=7890 Ändern Sie die Nginx-Site-Konfigurationsdatei /etc/nginx/site-available/default und fügen Sie den folgenden Inhalt hinzu Standort /goaccess { Proxy_Redirect aus; Proxy-Passwort https://127.0.0.1:7890; Proxy_http_Version 1.1; Proxy_Set_Header-Upgrade $http_upgrade; proxy_set_header Verbindung "Upgrade"; Proxy_set_header Host $http_host; } Beachten Sie, dass wir diesen Pfad vom Umschreiben ausschließen müssen, wenn die URL-Umschreibung in Ihrer Site-Konfigurationsdatei aktiviert ist, um eine Beeinträchtigung von /goaccess zu vermeiden. Platzieren Sie alle Umschreiberegeln am Speicherort /Standort / { wenn (-f $request_filename/index.html){ umschreiben (.*) $1/index.html break; } wenn (-f $request_filename/index.php){ umschreiben (.*) $1/index.php; } wenn (!-f $request_filename){ umschreiben (.*) /index.php; } } Nachfolgend müssen Sie nichts tunStandort /goaccess/ { } Starten Sie danach nginx neu und greifen Sie erneut auf report.html zu. Sie werden feststellen, dass das Zahnrad auf der linken Seite endlich „Verbinden“ anzeigt. Wenn Sie es nur selbst ansehen oder es Ihnen egal ist, ob die IP-Adresse preisgegeben wird, ist es weniger problematisch, eine direkte Verbindung über die IP-Adresse herzustellen, als den Weg über das CDN zu nehmen. Dies ist das Ende dieses Artikels über die Verwendung von GoAccess zur Analyse von Nginx-Protokollen. Weitere verwandte GoAccess-Analysen von Nginx-Protokollinhalten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Neunundvierzig JavaScript-Tipps und Tricks
In Schreibstilen können wir diese Situation oft s...
Inhaltsverzeichnis 1. Die Rolle des Arrays: 2. De...
Mit der Popularität und Reife von Docker ist es a...
Verwandte Artikel: Installieren Sie Docker mit yu...
Dieser CSS-Reset basiert auf dem CSS-Reset von Eri...
Hier ist zu Ihrer Information eine Vue-Single-Sig...
weniger Dateiname Datei anzeigen kleiner Dateinam...
Das Installations- und Verwendungstutorial für My...
Inhaltsverzeichnis Anforderungsbeschreibung: Anfo...
MySQL-Escape Escape bedeutet die ursprüngliche Se...
Inhaltsverzeichnis 1. Vue-Installation Methode 1:...
Erstens: Stellen Sie zunächst sicher, dass die Ser...
Als Frontend-Entwickler komme ich an den Tücken d...
Inhaltsverzeichnis 1. Grundlegende Verwendung 2. ...
Die Konvertierung zwischen Zeit, Zeichenfolge und...