Erste Schritte mit der Systemprotokollierung unter Linux
Systemprotokolle unter Linux bieten Ihnen einen umfassenden Einblick in die Kernaktivitäten auf Ihrem PC oder Ihrer Serverinfrastruktur. Sie sind entscheidend für die Stabilität und Sicherheit Ihres Systems. Systemprotokolle bieten Ihnen auch die Möglichkeit, verschiedene Aktivitäten zu überwachen, die in der Vergangenheit stattgefunden haben.
Dieses Handbuch führt Sie in das Protokollierungssystem unter Linux ein. Alle Hauptaktivitäten, die von Kernsystemanwendungen und -diensten ausgeführt werden, werden in Form von Protokollen aufgezeichnet, und das Herzstück all dessen ist ein System, das als Syslog bekannt ist .
Warum sind Systemprotokolle wichtig?
Stellen Sie sich vor, auf Ihrem Linux-PC sind kürzlich Startfehler aufgetreten, oder Sie vermuten, dass jemand versucht hat, sich bei Ihrem System anzumelden. Diese Ereignisse können leicht nachverfolgt werden, da Ihr System solche Aktivitäten in Form von Protokollen verfolgt.
Unter Linux sind Systemprotokolle lesbare Aufzeichnungen der Kernsystemaktivitäten, die von Diensten, Dämonen und Systemanwendungen ausgeführt werden. Einige der wichtigen Aktivitäten, die auf einem Linux-Computer protokolliert werden, umfassen Benutzeranmeldungen und Anmeldefehler, Betriebssystemstart, Systemfehler usw.
Linux verfügt über einen dedizierten Dienst namens Syslog, der speziell für die Erstellung von Protokollen über den System Logger verantwortlich ist. Syslog besteht aus mehreren Komponenten wie dem Syslog-Nachrichtenformat, dem Syslog-Protokoll und dem Syslog-Daemon: in neueren Linux-Versionen im Volksmund als syslogd oder rsyslogd bekannt .
Das Verzeichnis / var / log speichert die meisten Protokolle auf einem Linux-System. Das Verzeichnis / var enthält hauptsächlich variable Dateien und Verzeichnisse, dh Daten, die sich häufig ändern müssen. Es gibt kein Standardformat für Protokolle, aber Protokolle sollten mindestens einen Zeitstempel und die Details der zu protokollierenden Aktivität enthalten.
Auflisten von Dateien, die von syslog verwaltet werden
Alle allgemeinen Protokolle auf Ihrem System werden in der Datei / var / log / syslog in Debian-basierten Linux – Distributionen gespeichert. Andere Distributionen verwenden die Datei / var / log / messages zum Speichern von Protokollen.
Hinweis : Verschiedene Linux-Distributionen verwenden möglicherweise unterschiedliche Dateien zum Protokollieren bestimmter Nachrichten. In Debian-basierten Linux-Distributionen enthält die Datei /var/log/auth.log beispielsweise Authentifizierungsprotokolle, während RedHat-Systeme die Datei / var / log / Secure zum Speichern solcher Protokolle verwenden.
Weitere Informationen zu allen Dateien, die für das Speichern von Protokollen verantwortlich sind, finden Sie im Verzeichnis /etc/rsyslog.d , das wichtige Syslog-Konfigurationsdateien enthält. Um beispielsweise Standardprotokolldateien aufzulisten , können Sie sich die Datei /etc/rsyslog.d/50-default.conf ansehen .
cat /etc/rsyslog.d/50-default.conf
Die Datei zeigt Ihnen die Namen der Systemanwendungen und die dazugehörigen Protokolldateien.
So überprüfen Sie Protokolldateien
Die meisten Protokolldateien sind ziemlich lang. Daher ist einer der wichtigsten Befehle zum Überprüfen von Protokolldateien unter Linux der Befehl less , der den Dateiinhalt in leicht navigierbaren Abschnitten ausgibt.
Verwenden Sie beispielsweise den folgenden Befehl, um den Inhalt der Datei / var / log / syslog anzuzeigen.
less /var/log/syslog
Verwenden Sie die F- Tastatur, um vorwärts zu scrollen, und die B- Taste, um rückwärts zu scrollen.
Die Syslog-Datei enthält Protokolle einiger der wichtigsten Aktivitäten wie Systemfehler und Serviceaktivitäten auf Ihrem System.
Wenn Sie nur die neuesten Protokolle überprüfen möchten, können Sie den Befehl tail verwenden , der standardmäßig nur die letzten 10 Protokollnachrichten auflistet.
tail /var/log/syslog
Sie können auch die Anzahl der Protokollnachrichten angeben, die Sie mit dem Dienstprogramm tail anzeigen möchten. Der Befehl hat das folgende Format: tail -n file-to-inspect, wobei n die Anzahl der Zeilen ist, die Sie anzeigen möchten. Um beispielsweise die letzten 7 Protokollnachrichten in der Syslog-Datei anzuzeigen, können Sie den folgenden Befehl verwenden.
tail -7 /var/log/syslog
Um die neuesten Protokolle in Echtzeit anzuzeigen, können Sie den Befehl tail mit der Option -f wie folgt verwenden.
tail -f /var/log/syslog
Ein weiterer wichtiger Befehl zum Überprüfen von Protokollnachrichten ist der Befehl head . Im Gegensatz zum Befehl tail, mit dem die letzten Protokollnachrichten in einer Datei angezeigt werden, zeigt der Befehl head die ersten Zeilen in einer Datei an. Standardmäßig gibt der Befehl nur die ersten 10 Zeilen aus.
head /var/log/syslog
Authentifizierungsprotokolle
Wenn Sie Informationen zu Benutzeranmeldungen auf Ihrem System suchen, können Sie sich die Datei /var/log/auth.log ansehen . Informationen zu Benutzeranmeldungen, Anmeldefehlern und der verwendeten Authentifizierungsmethode finden Sie hier.
Kernel-Protokolle
Wenn Ihr Linux-System startet, werden wichtige Daten zum Kernel-Ringpuffer in der Datei / var / log / dmesg aufgezeichnet . Weitere Informationen zu Hardwaretreibern, Kernel und Startstatus werden in dieser Datei aufgezeichnet.
Anstatt die Startprotokollnachrichten mit dem Befehl less oder cat zu überprüfen, können Sie diese Protokolldateien mit dmesg anzeigen.
dmesg
Hinweis : Protokollmeldungen in der Datei / var / log / dmesg werden bei jedem Systemstart zurückgesetzt.
Eine weitere wichtige Protokolldatei im Zusammenhang mit Kernelproblemen ist /var/log/kern.log .
Protokollieren von Nachrichten Mit dem Befehl logger
Mit dem Protokollierungssystem unter Linux können Sie nicht nur Protokollnachrichten anzeigen, die von Systemanwendungen oder -diensten protokolliert wurden, sondern auch Nachrichten manuell mit dem Befehl logger protokollieren. Ein Benutzer kann standardmäßig Nachrichten in der Datei / var / log / syslog protokollieren . Um beispielsweise eine einfache Nachricht zu protokollieren, können Sie den folgenden Befehl ausführen.
logger hello world!
Sie können jetzt den Befehl tail verwenden, um die zuletzt protokollierte Nachricht anzuzeigen.
tail -3 /var/log/syslog
Sie können die Ausgabe anderer Befehle sogar mit dem Befehl logger protokollieren, indem Sie den Befehl in das Back-Tick- Zeichen ( ` ) einfügen.
logger `whoami`
Sie können auch den Befehl logger in Ihren Skripten verwenden, um wichtige Ereignisse zu protokollieren. In den Manpages erfahren Sie mehr über den Befehl logger und seine Optionen.
man logger
Protokolldateien verwalten
Wie Sie vielleicht bemerkt haben, werden viele Daten auf einem Linux-Computer protokolliert. Daher muss ein geeignetes System vorhanden sein, um den von den Protokolldateien verwendeten Speicherplatz zu verwalten. Darüber hinaus stellt ein Protokollierungssystem sicher, dass Sie die gesuchten Protokollnachrichten leicht finden. Die Lösung von Linux für dieses Problem ist das Dienstprogramm logrotate .
Verwenden Sie das Dienstprogramm logrotate, um zu konfigurieren, welche Protokolldatei aufbewahrt werden soll, wie lange Sie sie aufbewahren möchten, das Versenden von Protokollen zu verwalten und alte Protokolldateien zu komprimieren usw.
Sie können das Dienstprogramm logrotate mit einem beliebigen Texteditor Ihrer Wahl konfigurieren. Die Konfigurationsdatei für logrotate finden Sie unter /etc/logrotate.conf .
Halten Sie Ihr System mit Protokollen robust
Systemprotokolle unter Linux bieten eine hervorragende Möglichkeit, einen Einblick in die wichtigsten Aktivitäten auf Ihrem System zu erhalten, die Sicherheit und allgemeine Stabilität des Systems umfassen können. Wenn Sie wissen, wie Protokollnachrichten auf einem Server oder PC angezeigt und analysiert werden, können Sie Ihr System auf lange Sicht robust halten.
Manchmal fällt es Benutzern aufgrund der geringen Verfügbarkeit von Systemressourcen schwer, bestimmte Anwendungen auf ihrem System zu verwenden. In solchen Situationen kann durch das Beenden nicht reagierender Programme Speicherplatz im Hauptspeicher Ihres Systems frei werden.