Rhit effiziente Visualisierung Nginx-Protokollanzeigetool

Rhit effiziente Visualisierung Nginx-Protokollanzeigetool

Einführung

Rhit kann Nginx-Protokolldateien aus Standardordnern lesen (auch mit gzip komprimierte Dateien sind akzeptabel), sie analysieren und zählen und sie in einer visuellen Tabelle in der Konsole anzeigen, ohne unnötige temporäre Dateien oder Daten zu generieren.

Sie können nach Datum, Antwortwert, Anforderungsquelle usw. filtern und abgleichen und Analysen durchführen. Rhit ist sehr effizient und kann Millionen von Zeilen Protokolldaten pro Sekunde verarbeiten.

Nachfolgend sind die Ergebnisse der Suche nach den Statuscodes 1xx und 2xx in den Protokollen für Januar aufgeführt:

Die Projektadresse lautet:

https://github.com/Canop/rhit

Installieren

Laden Sie die kompilierte Binärdatei herunter und verwenden Sie sie direkt. Sie müssen jedoch sicherstellen, dass die Shell die Binärdatei rhit finden kann. Eine einfachere Möglichkeit besteht darin, sie im Verzeichnis /usr/local/bin abzulegen und ihr Ausführungsberechtigungen hinzuzufügen.

chmod +x rhit  
// Download-Adresse: https://dystroy.org/rhit/download

Installieren Sie die Software von crates.io. Verwenden Sie je nach Rust-Umgebung den folgenden Befehl zur Installation:

Fracht installieren rhit

Die Installation des Quellcodes hängt von der Rust-Umgebung ab. Nachdem Sie den GitHub-Quellcode geklont haben, gehen Sie in den Ordner rhit und führen Sie den folgenden Befehl aus:

cargo install --Pfad.  

Anzeigefelder

rhit kann die nginx-Protokolldatei automatisch im Standardverzeichnis öffnen, oder Sie können den Protokollpfad in den Befehlszeilenparametern angeben:

rhit meine/archivierten/Protokolle  

Häufige Nginx-Protokollzeilen lauten wie folgt:

178.133.125.122 - - [21/Jan/2021:05:49:52 +0000] "HEAD /broot/download/x86_64-pc-windows-gnu/broot.exe HTTP/1.1" 200 0 "-" "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1)"

Es besteht aus mehreren Feldern: Datum, Remote-IP-Adresse, Pfad, gesendete Bytes usw. rhit kann eine Liste von Feldern ausführen, um die Tabelle zu sortieren. Wenn nicht angegeben, wird es standardmäßig nach Datum, Statuscode, Quelle und Pfad angezeigt. Wenn Sie mehrere Felder angeben möchten, trennen Sie diese durch Kommas, z. B. -f date,status; um alle Felder anzuzeigen, verwenden Sie -f all.

Datumsbasiert. Verwenden Sie --field date oder kurz -f date. Standardmäßig basiert die Länge des Balkendiagramms auf der Anzahl der Treffer. Sie können den Sortierschlüssel jedoch so ändern, dass er auf der Anzahl der gesendeten Bytes basiert.

IP-basiert. Standardmäßig wird die Remote-IP nicht angezeigt. Sie können rhit -f ip verwenden, um sie anzuzeigen.

Basierend auf der Anforderungsmethode. Die HTTP-Anforderungsmethode wird standardmäßig nicht angezeigt. Sie können die Methode rhit -f verwenden, um sie anzuzeigen.

Pfadbasiert. Der Befehl lautet rhit -f path

Basierend auf Referer. Der Befehl lautet rhit -f ref

Basierend auf dem Statuscode. Der Befehl lautet rhit -f status

Filter

Rhit bietet einige Filter, um die Ergebnisliste zu filtern und einige Daten anzuzeigen, die Sie sehen möchten oder nicht sehen möchten.

Nach Datum filtern. Auf den Tag genau, das Datumsformat ist Jahr/Monat/Tag. Sie können beispielsweise Daten vom 15.02.2021 bis zum 20.02.2021 filtern. Sie können auch Daten filtern, die größer als eine bestimmte Zeit sind, kleiner als eine bestimmte Zeit sind oder eine bestimmte Zeit nicht enthalten (mit den Symbolen „>“, „<“, „!“):

Filtern nach Remote-IP. Der Parameter ist -i, der eine bestimmte IP filtert oder eine bestimmte IP ausschließt (mit dem Symbol „!“).

Filtern nach Anforderungsmethode. Der Parameter ist -m, der bestimmte Methoden filtert oder bestimmte Methoden ausschließt.

Um nach Anforderungspfad zu filtern, verwenden Sie den Parameter -p, der eine exakte Übereinstimmung oder ein regulärer Ausdruck sein kann (beispielsweise beginnen alle Pfade mit „download“ und enden mit „exe“:, der Parameter ist -p 'download.*exe$'):

Nach Referrer filtern. Der Parameter ist -r, was der Syntax zum Filtern nach Pfad entspricht:

Nach Statuscode filtern. Der Parameter ist -s, der bestimmte Statuscodes filtert oder bestimmte Statuscodes ausschließt.

Kombiniertes Screening. Die oben genannten Methoden können beliebig kombiniert werden.

Sortierschlüssel

Standardmäßig werden alle Tabellen nach Treffern sortiert, was der Sortierschlüssel ist, und alle Werte des Sortierschlüssels werden in Pink angezeigt, einschließlich des Histogramms. Wenn Sie eher an der Anzahl der gesendeten Bytes interessiert sind, können Sie den Sortierschlüssel mit -kb in Bytes ändern:

Dies ist das Ende dieses Artikels über Rhit, das effiziente visuelle Nginx-Protokollanzeigetool. Weitere Inhalte zum Rhit-Nginx-Protokollanzeigetool finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Schritte zum Aktivieren der Echtzeitanzeige von Zugriffsprotokollen in Nginx

<<:  Zwei spezielle Werte in CSS werden verwendet, um die Vererbungs- und Initialisierungsmethoden der Kaskade zu steuern

>>:  So fügen Sie Links zu FLASH in HTML ein und machen es mit allen gängigen Browsern kompatibel

Artikel empfehlen

MySQL-Datenbank muss SQL-Anweisungen kennen (erweiterte Version)

Dies ist eine erweiterte Version. Die Fragen und ...

So implementieren Sie adaptive Container mit gleichem Seitenverhältnis mit CSS

Als ich kürzlich eine mobile Seite entwickelte, s...

Detaillierte Verwendung der MySQL-Funktionen row_number() und over()

Syntaxformat: row_number() über (Partition durch ...

Tabelle Tag (Tabelle) Im Detail

<br />Tabelle ist ein Tag, das schon seit la...

So installieren und konfigurieren Sie MySQL 5.7.19 unter CentOS 6.5

Die detaillierten Schritte zur Installation von m...

MySQL-Paket für Abfrage ist zu groß – Problem und Lösung

Problembeschreibung: Fehlermeldung: Ursache: com....

MySQL-Abfragedaten für heute, diese Woche, diesen Monat und letzten Monat

Heute Wählen Sie * aus Tabellenname, wobei to_day...

Detaillierte Erläuterung der Nginx-Anti-Hotlink- und Anti-Crawler-Konfiguration

Erstellen Sie eine neue Konfigurationsdatei (gehe...

So verwenden Sie die Lotteriekomponente des WeChat Mini-Programms

Es wird in Form von WeChat-Komponenten bereitgest...

Mehrere Methoden zum Ändern des MySQL-Root-Passworts (empfohlen)

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Detaillierte Erklärung des Prinzips des js-Proxys

Inhaltsverzeichnis Was ist der Proxy-Modus? Einfü...