Was sind Linux-Protokolldateien?
Protokolldateien sind einfache Textdateien, die Datensätze, Ereignisse oder Meldungen zu Servern, Anwendungen und Diensten enthalten, die auf Ihrem Linux-Betriebssystem ausgeführt werden. Sie werden von Systemadministratoren zur Fehlerbehebung verwendet, wenn ein Problem auftritt.
Unter Linux werden die Protokolldateien im Allgemeinen wie folgt kategorisiert.
- Anwendungsprotokolle
- Ereignisprotokolle
- Dienstprotokolle
- Systemprotokolle
Es gibt viele Protokolldateien in Linux und sie befinden sich im Verzeichnis /var/log/. Die Überwachung aller von ihnen ist eine mühsame Aufgabe. Die folgenden kritischen Dateien müssen jedoch überwacht werden.
- /var/log/syslog
- /var/log/messages
- /var/log/auth.log
- /var/log/secure
- /var/log/boot.log
- /var/log/dmesg
- /var/log/kern.log
- /var/log/faillog
- /var/log/cron
- /var/log/mail.log
- /var/log/apache2/error.log
- /var/log/mysql.log
In diesem Artikel werden wir verschiedene Methoden untersuchen, mit denen Protokolldateien in Echtzeit angezeigt oder überwacht werden können. Wir haben alle Befehle auf Debian 10 ausgeführt.
Voraussetzungen
Für dieses Tutorial benötigen Sie Folgendes:
- Ein Benutzerkonto mit Root-Rechten
Protokolldateien anzeigen
Verwendung des tail-Befehls
Der Schwanz ist einer der am häufigsten verwendeten Befehle zum Anzeigen eines Protokolls. Es gibt die letzten paar Zeilen der Protokolldatei auf einer Konsole aus, standardmäßig 10 Zeilen.
Die allgemeine Syntax des Befehls lautet wie folgt.
tail
Zum Beispiel
tail /var/log/syslog
Unten ist die Beispielausgabe, die die letzten 10 Zeilen einer Syslog-Datei zeigt.
Wenn Sie jedoch bestimmte Zeilen am Ende der Protokolldatei anzeigen möchten, sagen wir 5 Zeilen, können Sie die Option -n wie folgt verwenden.
tail -n 5 /var/log/syslog
Unten ist die Beispielausgabe.
Wenn Sie einer Protokolldatei folgen und die neuen Nachrichten ausdrucken möchten, während sie in Echtzeit protokolliert werden, können Sie die Option -f zusammen mit den obigen Beispielbefehlen verwenden.
tail -f -n 5 /var/log/syslog
Sobald der Protokolldatei eine neue Zeile hinzugefügt wird, wird sie zusammen mit den 4 obigen Zeilen gedruckt.
Wenn Sie das Terminal schließen möchten, drücken Sie Strg + C auf der Tastatur.
Multitail-Befehl verwenden
Mit Hilfe des Multitail-Befehls können Sie den Inhalt mehrerer Protokolldateien in Echtzeit auf einer Konsole in einem einzigen Fenster überwachen und anzeigen. Der Multitail-Befehl ist in Debian 10 nicht integriert. Öffnen Sie daher das Terminal und geben Sie den folgenden Befehl mit Root-Rechten ein, um ihn zu installieren.
apt-get install multitail
Unten ist die Beispielausgabe.
Die allgemeine Syntax des Multitail-Befehls lautet wie folgt:
Multitail-Dateiname 1 Dateiname 2
Angenommen, Sie haben zwei Protokolldateien /var/log/syslog und /var/log/kern.log und Sie möchten deren Inhalt auf der Konsole mit Multitail anzeigen, sollte der vollständige Befehl wie folgt aussehen.
multitail /var/log/syslog /var/log/kern.log
Unten ist die Beispielausgabe.
Mithilfe dieses Befehls können Sie den Inhalt mehrerer Protokolldateien in Echtzeit überwachen. Der folgende Screenshot zeigt beispielsweise den Inhalt von vier Protokolldateien /var/log/syslog, /var/log/kern.log, /var/log/daemon.log und var/log/messages.
Standardmäßig zeigt der Multitail-Befehl den Inhalt von Protokolldateien horizontal an. Wenn Sie die Dateien vertikal in Spalten anzeigen möchten, können Sie die Schalter -s wie folgt verwenden.
Angenommen, Sie möchten den Inhalt von Protokolldateien vertikal in zwei Spalten anzeigen, sollte der vollständige Befehl wie folgt aussehen.
multitail -s 2 /var/log/syslog, /var/log/kern.log, /var/log/daemon.log and var/log/messages
Unten ist die Beispielausgabe.
Sie können auch durch die Dateien navigieren. Drücken Sie „b“ auf der Tastatur und scrollen Sie durch, um die gewünschte Protokolldatei auszuwählen. Sie können die letzten 100 Zeilen Ihrer ausgewählten Datei anzeigen.
Unten sind die Beispielausgaben.
Drücken Sie Strg + g, um den Vorgang abzubrechen und zum Fenster mit mehreren Protokolldateien zurückzukehren.
Sie können Protokolldateien auch mit dem ci-Parameter unterschiedliche Farben zuweisen, damit Sie sie leicht unterscheiden können. Das Folgende ist ein gutes Beispiel,
multitail -ci green /var/log/syslog -ci blue /var/log/messages
Unten ist die Beispielausgabe.
Multitail-Befehl bietet viel. Drücken Sie „h“ auf der Tastatur, um Hilfe zu erhalten, während der Befehl ausgeführt wird.
Mit dem lnav-Befehl
Der lnav-Befehl ähnelt dem Multitail-Befehl und zeigt den Inhalt mehrerer Protokolldateien in einem einzigen Fenster an. Um es unter Debian zu installieren, öffnen Sie das Terminal und geben Sie den folgenden Befehl mit Root-Rechten ein.
apt-get update lnav
Drücken Sie „y“ auf der Tastatur, wenn Sie dazu aufgefordert werden. Warten Sie, bis der Befehl beendet ist.
Im Gegensatz zu Multitail- oder anderen Befehlen führt der Befehl lnav den Inhalt von Protokolldateien zusammen und zeigt jede Zeile basierend auf ihrem Datum in einem einzigen Fenster an.
Unten ist die Beispieldatei. Sie können durch das Fenster blättern, indem Sie die Aufwärts-, Abwärts- usw. Tasten Ihrer Tastatur verwenden.
Die allgemeine Syntax des Befehls lautet wie folgt:
lnav
Angenommen, Sie möchten das Protokoll von syslog und daemon.log anzeigen. Führen Sie den folgenden Befehl auf dem Terminal aus.
lnav /var/log/syslog /var/log/messages
Unten ist die Beispielausgabe.
Wenn Sie die Datei nicht mit dem Befehl angeben, wird standardmäßig die Syslog-Datei geöffnet.
Führen Sie den folgenden Befehl aus.
lnav
Unten ist die Beispielausgabe.
Sie können das Protokoll auch durchsuchen, indem Sie / auf Ihrer Tastatur drücken, wenn ein Befehl ausgeführt wird. Nachdem Sie die Taste / gedrückt haben, geben Sie die gewünschte Zeichenfolge ein, die Sie suchen möchten, und drücken Sie die Eingabetaste auf der Tastatur.
Angenommen, ich suche nach der Zeichenfolge „DHCPACK“ und sie wird im Fenster hervorgehoben.
Unten ist die Beispielausgabe.
Sie können auch die komprimierten Protokolldateien (zip, gzip, bzip) anzeigen, indem Sie die Option -r verwenden. Nachfolgend finden Sie die vollständige Syntax.
lnav -r
Weniger Befehl verwenden
Less ist ein weiterer Befehl, der verwendet wird, um die Ausgabe einer Protokolldatei zu überwachen.
Nachfolgend finden Sie die vollständige Syntax des Befehls.
weniger +F
Wenn Sie beispielsweise die Syslog-Datei im Pfad /var/log/syslog überwachen möchten, sollte der vollständige Befehl wie folgt aussehen.
less +F /var/log/syslog
Unten ist die Beispielausgabe.