LNAV - Anschauen und analysieren Sie Apache -Protokolle von einem Linux -Terminal aus

LNAV - Anschauen und analysieren Sie Apache -Protokolle von einem Linux -Terminal aus

Vor weniger als zwei Wochen hat der Wannacry -Ransomware -Angriff Tausende von Computern gefährdet und große Unternehmen und Einzelpersonen gleichermaßen erhebliche Verluste verursacht. Zusammen mit anderen weit verbreiteten Schwachstellen, die in den letzten Jahren (wie der Shellshock-Fehler) gefunden wurden.

Obwohl Schwachstellen häufig auf ein spezifisches Betriebssystem oder eine spezifische Softwarekomponente abzielen.

Vorgeschlagene Lesen: 4 gute Open -Source -Protokoll -Überwachungs- und -management -Tools für Linux

Wie Sie sicher bereits wissen, sind Systemprotokolle der erste Ort, an dem wir nach diesen Informationen suchen sollten. Um diese Aufgabe zu erleichtern, erläutern wir in diesem Artikel, wie sie installieren und verwenden können lnav, Ein erweiterter Protokolldatei -Viewer. Mit LNAV können Sie gleichzeitig verschiedene Arten von Protokoll. Also lesen Sie weiter!

Installieren und Starten von LNAV unter Linux

Installieren lnav, Verwenden Sie das Paketverwaltungssystem Ihrer Verteilung.

# APTitude Install LNAV [Debian und Derivate] # Yum Installieren Sie EPEL-Release LNAV [Centos 7 und ähnlich] 

Starten Sie nach Abschluss der Installation lnav gefolgt von dem absoluten Pfad zum Verzeichnis, in dem sich die zu untersuchenden Protokolle befinden. Da dies normalerweise sein wird /var/log, Lass es uns tun:

# lnav/var/log/httpd 

Um die Protokolle des Apache -Webservers in a zu inspizieren Centos 7:

Überwachen Sie Apache -Protokolle in CentOS 7

Lassen Sie uns kurz die im vorherigen Bild gezeigte Ausgabe untersuchen:

  • Die obere rechte Ecke zeigt die derzeit inspizierten Dateien (Access_log-20170519 Und Access_log). Wenn Sie nach unten oder nach unten scrollen, werden Sie feststellen, dass sich die Dateinamen ändern können, wenn Sie von einem zum anderen gehen.
  • 40x Http Antworten (zum Beispiel, Nicht gefunden oder Verboten) werden fett angezeigt, während 20x Antworten werden im regulären Text angezeigt.
  • IP -Adressen erscheinen fett grün.

Das sieht sicher gut aus, nicht wahr?? Aber lassen Sie uns jetzt etwas tiefer graben, und wir werden sehen, dass Lnav viel mehr als eine ziemlich farbige Ausgabe bietet.

Wenn Sie neugierig sind, warum Fehlerprotokolle nicht angezeigt werden, finden Sie die Antwort später in diesem Artikel. Also lesen Sie weiter!

Ändern Sie die Ausgabe mit Optionen und Hotkeys

Bevor wir weiter fortfahren, listen wir ein paar Hotkeys auf, mit denen wir die Ausgabe von LNAV und die verfügbaren Ansichten einfacher bewegen können:

  • e oder E So springen Sie zur nächsten / vorherigen Fehlermeldung.
  • w oder W Um zur nächsten / vorherigen Warnmeldung zu springen.
  • B oder Rücktaste Um zur vorherigen Seite zu wechseln.
  • Platz für die nächste Seite.
  • G oder G Um nach oben / unten in der aktuellen Ansicht zu bewegen.

Wenn Protokolle gedreht werden. Starten Sie LNAV wie folgt, um komprimierte Dateien in die Ausgabe aufzunehmen:

# lnav -r/var/log/httpd 

Wenn Sie sich genauer ansehen möchten, wie Lnav funktioniert, können Sie das Programm mit dem starten -D Option, gefolgt von einem Dateinamen, bei dem die Debug -Informationen wie SO geschrieben werden:

# lnav/var/log/httpd -d lnav.txt 

In diesem Beispiel werden die Debug -Informationen, die bei Start von LNAV generiert werden, in eine Datei mit dem Namen geschrieben lnav.txt im aktuellen Arbeitsverzeichnis.

Die ersten Zeilen dieser Datei sind im folgenden Bild angezeigt:

Apache -Debug -Informationen

Der hervorgehobene Text zeigt an, dass LNAV die Standardformate -Datei und insbesondere die geladen hat Access_log Format, um das Apache -Zugriffsprotokoll zu analysieren. Zusätzlich ermöglicht LNAV, jede Ausgangsleitung so analysieren, damit die Ausgabe einfacher zu visualisieren und zu verstehen ist.

Vorgeschlagene Lesen: GoAccess (Echtzeit Apache und Nginx) Webserver-Protokollanalysator

Starten Sie das Programm, um diese Funktion zu verwenden, und wählen Sie die Linie, die Sie analysieren möchten. Die ausgewählte Linie ist immer die oben im Fenster. Dann drücken P und Sie sollten das folgende Ergebnis sehen:

Apache -Anforderungsstatusinformationen

Drücken Sie zum Rückkehr zum normalen Modus P nochmal.

Wenn Sie nun eine Zusammenfassung der Protokolle nach Datum und Uhrzeit sehen möchten, drücken Sie ich. Der hervorgehobene Text zeigt beispielsweise, dass am Montag, den 10. April zwischen 22 und 23 Uhr, 37 HTTP -Anfragen mit 14 Fehlern führte, die zu Fehlern führten.

Apache protokolliert Tag und Zeit

Sobald Sie ein potenzielles Problem basierend auf dem Histogramm identifiziert haben, wie oben gezeigt, können Sie drücken ich Um die Ansicht zu verlassen, um sie ausführlicher mit dem Parser zu untersuchen, wie bereits erläutert. Oder Sie können auch die integrierten SQL-Funktionen verwenden, indem Sie ein Semikolon eingeben und eine Standardabfrage schreiben. Zum Beispiel tun Sie:

;.Schema 

Um die verfügbaren Tabellen im Datenbankschema anzuzeigen. Nachdem die richtige Tabelle identifiziert wurde (Access_log in unserem Fall) drücken wir Q und dann verwenden Sie die folgende Anfrage, um alle verfügbaren Informationen zu Anfragen von 195 zurückzugeben.154.230.31:

; Wählen Sie * aus Access_log wobei c_ip = "195.154.230.31 " 
Apache -Protokollinformationen im Tabellenformat

Beachten Sie, dass wir die Ergebnisse auch filtern können Protokollzeit. Der Punkt ist, ein wenig SQL zu werfen und der Himmel ist die Grenze, was Sie mit LNAV machen können.

Apache -Standardprotokollformate

Viele Protokollformate werden standardmäßig mit geladen lnav und werden somit ohne unsere Intervention analysiert. Sie können die Liste im Abschnitt "Protokollformate" in der offiziellen Dokumentation anzeigen.

Standardformate sind in angegeben ~/.LNAV/Formate/Standard/Standard-Formats.JSON.Probe, und andere können hinzugefügt werden ~/.LNAV/Formate Verwendung der .JSON Verlängerung.

Die Bearbeitung dieser Dateien erfordert jedoch ein gewisses Maß an Vertrautheit mit JSON (JavaScript-Objektnotation) und der PCRE-Bibliothek (perl-kompatible reguläre Ausdrücke).

Warum zeigte LNAV die Apache -Fehlerprotokolldateien nicht an? Der Grund dafür ist, dass diese Protokolle in den vorhandenen Formatdateien nicht reguläre Ausdrücke übereinstimmen und somit als reguläre Textdateien behandelt werden (Bedeutung von Dateien ohne bestimmtes Protokollformat).

Vorgeschlagene Lesen: Überwachung von Apache -Webserverlade- und Seitenstatistiken

Wie bereits erwähnt, können Sie Ihre eigenen Formate erstellen, sobald Sie mit JSON und PCRE zumindest etwas vertraut sind. Dies kann beispielsweise nützlich sein, wenn Sie benutzerdefinierte Apache -Protokolle definiert haben.

Zusammenfassung

Obwohl wir das Apache Access -Protokoll verwendet haben, um zu demonstrieren, wie LNAV verwendet wird. Wenn das Tool kein bestimmtes Protokoll erkennt, können Sie zusätzliche Formate erstellen und nach den hier angegebenen Indikationen installieren.

Haben Sie Fragen oder Kommentare zu diesem Artikel? Wie immer können Sie uns gerne mit dem folgenden Formular informieren. Wir freuen uns von Ihnen zu hören!