– Protokolle sind sehr nützlich, um Aktivitäten jeder Anwendung zu überwachen, abgesehen davon, dass Sie wertvolle Informationen erhalten, während Sie eine Fehlerbehebung durchführen.
Wie jede andere Anwendung zeichnet NGINX auch Ereignisse wie Besucher Ihrer Website, aufgetretene Probleme und mehr auf, um Dateien zu protokollieren. Mit diesen Informationen können Sie vorbeugende Maßnahmen ergreifen, falls Sie schwerwiegende Abweichungen in den Protokollereignissen feststellen.,
Dieser Artikel führt Sie ausführlich zur Konfiguration der NGINX-Protokollierung, damit Sie einen besseren Einblick in ihre Aktivitäten erhalten.
- Sie haben NGINX bereits installiert, indem Sie unserem Tutorial von hier aus folgen.
Logs in NGINX
Standardmäßig schreibt NGINX seine Ereignisse in zwei Arten von Protokollen – das Fehlerprotokoll und das Zugriffsprotokoll., In den meisten gängigen Linux-Distributionen wie Ubuntu, CentOS oder Debian finden Sie sowohl das Zugriffs-als auch das Fehlerprotokoll in /var/log/nginx
, vorausgesetzt, Sie haben die Zugriffs-und Fehlerprotokolle bereits aktiviert in der Kern-NGINX-Konfigurationsdatei.
Lassen Sie uns mehr über NGINX Access Log, Fehlerprotokoll und wie Sie sie aktivieren, wenn Sie es nicht früher getan haben.
Was ist NGINX access log?
Der NGINX protokolliert die Aktivitäten aller Besucher Ihrer Website in den Zugriffsprotokollen., Hier finden Sie, auf welche Dateien zugegriffen wird, wie NGINX auf eine Anfrage reagiert hat, welchen Browser ein Client verwendet, die IP-Adresse der Clients und vieles mehr. Es ist möglich, die Informationen aus dem Zugriffsprotokoll zu verwenden, um den Datenverkehr zu analysieren, um Websites im Laufe der Zeit zu finden. Wenn Sie die Zugriffsprotokolle ordnungsgemäß überwachen, können Sie außerdem herausfinden, ob ein Benutzer eine ungewöhnliche Anfrage sendet, um Fehler in der bereitgestellten Webanwendung zu finden.
Was ist NGINX Fehlerprotokoll?
Wenn NGINX dagegen auf Störungen stößt, wird das Ereignis im Fehlerprotokoll aufgezeichnet., Dies kann passieren, wenn in der Konfigurationsdatei ein Fehler auftritt. Wenn NGINX nicht gestartet oder abrupt beendet werden kann, sollten Sie daher die Fehlerprotokolle überprüfen, um weitere Details zu finden. Sie können auch einige Warnungen im Fehlerprotokoll finden, aber es zeigt nicht an, dass ein Problem aufgetreten ist, aber das Ereignis kann ein ernstes Problem in naher Zukunft darstellen.
Wie aktiviere ich NGINX Access Log?
Im Allgemeinen kann das Zugriffsprotokoll mit der access_log
Direktive entweder in http oder im Serverabschnitt aktiviert werden., Das erste Argument log_file ist obligatorisch, während das zweite Argument log_format optional ist. Wenn Sie kein Format angeben, werden Protokolle im kombinierten Standardformat geschrieben.
access_log log_file log_format;
Das Zugriffsprotokoll ist standardmäßig im http-Kontext der NGINX-Konfigurationsdatei aktiviert. Das bedeutet, dass das Zugriffsprotokoll aller virtuellen Hosts in derselben Datei aufgezeichnet wird.
http { ... ... access_log /var/log/nginx/access.log; ... ...}
Es ist immer besser, die Zugriffsprotokolle aller virtuellen Hosts zu trennen, indem sie in einer separaten Datei aufgezeichnet werden., Dazu müssen Sie die access_log
– Direktive, die im http-Abschnitt definiert ist, mit einer anderen access_log
– Direktive im Serverkontext überschreiben.
Laden Sie NGINX neu, um die neuen Einstellungen anzuwenden. So zeigen Sie die Zugriffsprotokolle für die Domäne an domain1.com verwenden Sie in der Datei /var/log/nginx/domain1.access.log
den folgenden Befehl tail im Terminal.
# tail -f /var/log/nginx/domain1.access.log
Benutzerdefiniertes Format im Zugriffsprotokoll anwenden
Das Standardprotokollformat zum Aufzeichnen eines Ereignisses im Zugriffsprotokoll ist das kombinierte Protokollformat., Sie können das Standardverhalten überschreiben, indem Sie ein eigenes benutzerdefiniertes Protokollformat erstellen und dann den Namen des benutzerdefinierten Formats in der Direktive access_log angeben.
Im folgenden Beispiel wird ein benutzerdefiniertes Protokollformat definiert, indem das vordefinierte kombinierte Format um den Wert gzip compression ratio der Antwort erweitert wird. Das Format wird dann angewendet, indem das Protokollformat mit der Direktive access_log
angegeben wird.
Wenn Sie das obige Protokollformat in Ihrer Umgebung angewendet haben, laden Sie NGINX neu. Verwenden Sie nun das Zugriffsprotokoll, um das gzip-Verhältnis am Ende des Protokollereignisses zu finden.,
Wie aktiviere ich das NGINX-Fehlerprotokoll?
Dieerror_log
– Direktive richtet die Fehlerprotokollierung in file oder stderr oder syslog ein, indem Sie den minimalen Schweregrad der zu protokollierenden Fehlermeldungen angibt. Die Syntax der error_log-Direktive lautet:
error_log log_file log_level;
Das erste Argument log_file definiert den Pfad der Protokolldatei und das zweite Argument log_level definiert den Schweregrad des aufzuzeichnenden Protokollereignisses. Wenn Sie den log_level nicht angeben, werden standardmäßig nur Protokollereignisse mit einem Schweregrad des Fehlers aufgezeichnet.,
Im folgenden Beispiel wird beispielsweise der Schweregrad von Fehlermeldungen festgelegt, der in crit
protokolliert werden soll. Ferner impliziert die Anweisung error_log im http-Kontext, dass das Fehlerprotokoll für den gesamten virtuellen Host in einer einzigen Datei verfügbar ist.
http { ... error_log /var/log/nginx/error_log crit; ...}
Es ist auch möglich, Fehlerprotokolle für alle virtuellen Hosts separat aufzuzeichnen, indem die error_log-Direktive im Serverkontext überschrieben wird. Das folgende Beispiel tut genau das, indem error_log Direktive im Server-Kontext überschreiben.,
Alle oben beschriebenen Beispiele zeichnen die Protokollereignisse in einer Datei auf. Sie können auch die Anweisung error_log konfigurieren, um die Protokollereignisse an einen Syslog-Server zu senden. Die folgende error_log-Direktive sendet die Fehlerprotokolle an den Syslog-Server mit einer IP-Adresse von 192.168.10.11 im Debug-Format.
error_log syslog:server=192.168.10.11 debug;
In einigen Situationen möchten Sie möglicherweise das Fehlerprotokoll deaktivieren. Setzen Sie dazu den Namen der Protokolldatei auf /dev/null
.,
Nginx Error Log Severity Levels
Es gibt viele Arten von Protokollebenen, die einem Protokollereignis und einer anderen Priorität zugeordnet sind. Alle Protokollebenen sind unten aufgeführt. In den folgenden Protokollebenen hat debug oberste Priorität und umfasst auch den Rest der Ebenen. Wenn Sie beispielsweise Fehler als Protokollebene angeben, werden auch Protokollereignisse erfasst, die als crit, alert und emergency gekennzeichnet sind.
- emerg: Notfallmeldungen, wenn Ihr System instabil sein kann.
- alert: Alarmmeldungen von ernsten Problemen.,
- crit: Kritische Probleme, die sofort behoben werden müssen.
- Fehler: Es ist ein Fehler aufgetreten. Bei der Verarbeitung einer Seite ist etwas schief gelaufen.
- warn: Eine Warnmeldung, die Sie untersuchen sollten.
- Hinweis: Ein einfacher Protokollhinweis, den Sie ignorieren können.
- info: Nur eine Information Nachrichten, die Sie vielleicht wissen wollen.
- debug: Debugging-Informationen verwendet, um den Ort des Fehlers zu lokalisieren.,
Zusammenfassung
Die Zugriffs-und Fehlerprotokolle in NGINX behalten nicht nur eine Registerkarte für Benutzeraktivitäten bei, sondern sparen auch Zeit und Mühe beim Debuggen. Darüber hinaus können Sie das Zugriffsprotokoll auch anpassen, wenn Sie weitere Informationen benötigen. Es ist immer besser, Zugriffs-und Fehlerprotokolle zu aktivieren, da diese beiden Dateien alle Hinweise für eine bessere Wartung des NGINX-Servers enthalten.