Einführung in die Nginx-Protokollverwaltung

Einführung in die Nginx-Protokollverwaltung

Nginx-Protokollbeschreibung

Über Zugriffsprotokolle können Sie relevante Informationen abrufen, beispielsweise die geografische Herkunft des Benutzers, die Absprungquelle, das verwendete Endgerät, die Anzahl der Besuche einer bestimmten URL usw. Über Fehlerprotokolle können Sie Leistungsengpässe eines bestimmten Dienstes oder Servers im System usw. ermitteln. Wenn Sie das Protokoll also gut nutzen, können Sie viele wertvolle Informationen erhalten.

Parameterliste:

$remote_addr Client-IP-Adresse (Proxyserver, zeigt die IP des Proxy-Dienstes an)
$remote_user Wird verwendet, um den Benutzernamen des Remote-Clients aufzuzeichnen (normalerweise "-")
$Zeit_lokal Wird verwendet, um Zugriffszeit und Zeitzone aufzuzeichnen
$Anfrage Wird verwendet, um die Anforderungs-URL und die Anforderungsmethode aufzuzeichnen
$status Antwortstatuscode, zum Beispiel: 200 Erfolg, 404 Seite nicht gefunden usw.
$body_bytes_sent Die Anzahl der Bytes des an den Client gesendeten Dateiinhalts
$http_user_agent Der vom Benutzer verwendete Proxy (normalerweise ein Browser)
$http_x_weitergeleitet für Kann die Client-IP aufzeichnen, die IP-Adresse des Clients über den Proxyserver aufzeichnen
$http_referer Sie können aufzeichnen, über welchen Link der Benutzer kam

Nginx-Protokolltrennung

Die Protokolldateien von Nginx haben keine Rotationsfunktion. Um jeden Tag ein Protokoll zu erstellen, können wir ein Nginx-Protokollschneideskript schreiben, um die Protokolldatei automatisch zu schneiden.

Der erste Schritt besteht darin, die Protokolldatei umzubenennen. Machen Sie sich keine Sorgen, dass die Protokolldatei verloren geht, da nginx die Protokolldatei nach der Umbenennung nicht finden kann. Bevor Sie die Protokolldatei mit dem ursprünglichen Namen erneut öffnen, schreibt nginx noch Protokolle in die von Ihnen umbenannte Datei. Linux sucht Dateien anhand von Dateideskriptoren und nicht anhand von Dateinamen.

Der zweite Schritt besteht darin, das USR1-Signal an den Nginx-Hauptprozess zu senden. Nach dem Empfang des Signals liest der Nginx-Hauptprozess den Protokolldateinamen aus der Konfigurationsdatei, öffnet die Protokolldatei erneut (benannt nach der Protokolldatei in der Konfigurationsdatei) und verwendet den Benutzer des Arbeitsprozesses als Eigentümer der Protokolldatei. Nach dem erneuten Öffnen der Protokolldatei schließt der Nginx-Masterprozess die Protokolldatei mit demselben Namen und benachrichtigt den Workerprozess, die neu geöffnete Protokolldatei zu verwenden. Der Arbeitsprozess öffnet sofort die neue Protokolldatei und schließt die Protokolldatei mit demselben Namen. Anschließend können Sie die alten Logdateien weiterverarbeiten. [Oder starten Sie den Nginx-Dienst neu].

Nginx-Protokollformat

Öffnen Sie die Konfigurationsdatei nginx.conf: vim /usr/local/nginx/conf/nginx.conf
Überprüfen Sie die Datei nginx.conf von Nginx und Sie können diese Meldung sehen

#access_log logs/access.log main;

Dies bedeutet, dass die Serverzugriffsprotokolldatei logs/host.access.log lautet und das verwendete Format „main“ ist.
Das Protokoll wird in der Datei logs/access.log im Stammverzeichnis von Nginx generiert. Standardmäßig wird das Protokollformat „main“ verwendet. Sie können aber auch ein benutzerdefiniertes Format verwenden.

Hauptformat

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#Parametererklärung $remote_addr Client-IP-Adresse;
$remote_user Client-Benutzername;
$time_local Die Uhrzeit und Zeitzone des Zugriffs;
$request Der Typ der Zugriffsanforderung, POST oder GET;
$status zeichnet den Anforderungsstatus auf, 404, 304, 200 usw.;
$body_bytes_sent: die Größe des vom Client an den Server gesendeten Dateitextinhalts;
$http_referer Zugriffsquelle – von welchem ​​Link;
$http_user_agent User-Agent-Informationen, normalerweise ein Browser-Tag, manchmal auch ein Crawler-Tag.
$http_x_forwarded_for Direkter Zugriff auf die IP-Adresse des Servers, die die Client-IP oder die Proxy-Server-IP sein kann
#Wenden Sie die Hauptformatprotokollinstanz 47.97.66.214 an - - [05/May/2018:02:18:26 +0800] "GET /solr/ HTTP/1.1" 404 571 "http://44.186.245.237/solr/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, li Gecko) Chrome/59.0.3071.115 Safari/537.36"
47.97.66.214 - - [05/Mai/2018:02:18:26 +0800] "GET /wcm/ HTTP/1.1" 404 571 "http://44.186.245.237/wcm/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, li Gecko) Chrome/59.0.3071.115 Safari/537.36"
80.82.78.50 - - [05/Mai/2018:03:53:56 +0800] "GET http://www.baidu.com/ HTTP/1.1" 404 169 "-" "Mozilla"
112.193.171.197 - - [05/Mai/2018:06:52:06 +0800] "GET http://www.rfa.org/ HTTP/1.1" 200 462 "-" "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-693.11.1.el7.x86_64"

Zusätzlich zum Hauptformat können Sie andere Formate anpassen, indem Sie die oben genannten Parameter neu kombinieren.

Das Standardprotokoll von nginx wird in logs/access.log gespeichert, es ist jedoch auch möglich, für verschiedene Server unterschiedliche Protokolle zu erstellen. Fügen Sie einfach die folgende Anweisung unter dem entsprechenden Server hinzu

Zugriffsprotokolle/Zugriffsprotokolle_8080.log mein Protokoll;
#Protokoll deklarieren #Protokollspeicherverzeichnis und -name #Protokollformat (anpassbar)

Nach der Änderung von nginx.conf müssen Sie Nginx neu starten, damit die Konfiguration wirksam wird

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Nginx-Signalsatzfalls
  • Detaillierte Erläuterung der CentOS-Konfiguration der offiziellen Nginx-Yum-Quelle
  • Installieren Sie mehrere PHP-Versionen für Nginx unter Linux
  • Detailliertes Tutorial zur Installation von PHP und Nginx auf Centos7
  • Eine universelle Nginx-Schnittstelle zur Implementierung der Reverse-Proxy-Konfiguration
  • Lösen Sie das Problem der leeren Aktualisierung beim Bereitstellen des Vue-Projekts nginx in einem Nicht-Root-Verzeichnis
  • So installieren Sie Nginx und konfigurieren mehrere Domänennamen
  • Wenn Nginx eingeschaltet ist, ist der Port belegt und es erscheint die Meldung: Adresse bereits in Verwendung
  • Lösung für das Problem, dass Docker Nginx nach dem Ausführen nicht mehr aufgerufen werden kann
  • So leiten Sie über den Nginx-Lastausgleich zu https um
  • Nginx-Signalsteuerung

<<:  Detaillierte Erläuterung der Transaktionsisolierungsebenen der MySQL-Datenbank

>>:  Lösen Sie das Problem, dass das Vue-Projekt beim lokalen Start keine Cookies übertragen kann

Artikel empfehlen

So verschieben Sie den Datenspeicherort von mysql5.7.19 in Centos7

Szenario: Mit zunehmender Datenmenge ist die Fest...

Die Grundprinzipien und die detaillierte Verwendung des Ansichtsfensters

1. Übersicht über das Ansichtsfenster Mobile Brow...

So implementieren Sie das Beobachtermuster in JavaScript

Inhaltsverzeichnis Überblick Anwendungsszenarien ...

JavaScript implementiert einfache Rechnerfunktion

In diesem Artikel wird der spezifische JavaScript...

Mysql | Detaillierte Erklärung der Fuzzy-Abfrage mit Platzhaltern (wie, %, _)

Wildcard-Kategorien: %Prozent-Platzhalter: Gibt a...

So erstellen Sie schnell zig Millionen Testdaten in MySQL

Bemerkung: Die Datenmenge in diesem Artikel beträ...

JavaScript, um den Effekt des Klickens auf das Untermenü zu erzielen

In diesem Artikel wird der spezifische JavaScript...

Beispiel einer JSON-Ausgabe im HTML-Format (Testschnittstelle)

Um die JSON-Daten in einem schönen eingerückten F...

So ändern Sie die IP-Einschränkungsbedingungen des MySQL-Kontos

Vorwort Kürzlich stieß ich bei der Arbeit auf ein...

Analyse des Implementierungsprozesses der drei Modi des VMWare-Netzwerkadapters

Drei Modi Bridged (Bridge-Modus), NAT (Network Ad...

IE8 Beta 1 hat zwei Bereiche, die Ihre Aufmerksamkeit erfordern

<br />Verwandte Artikel: Web-Kenntnisse: Lös...