Linux protokolliert, während das Programm ausgeführt wird. Linux-Protokolldateien in der richtigen Reihenfolge. Und andere Zeitschriften

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Einführung

Eines der Dinge, die GNU/Linux zu einem großartigen Betriebssystem machen, ist, dass praktisch alles, was auf dem System geschieht, auf irgendeine Weise protokolliert werden kann. Diese Informationen sind von unschätzbarem Wert für die sachkundige Nutzung des Systems und sollten eine der ersten Ressourcen sein, die Sie zur Behebung von System- und Anwendungsproblemen nutzen. Die Protokolle können Ihnen fast alles sagen, was Sie wissen müssen, solange Sie wissen, wo Sie zuerst suchen müssen.

Ihr Ubuntu-System stellt mithilfe verschiedener Systemprotokolldateien wichtige Informationen bereit. Bei diesen Protokolldateien handelt es sich in der Regel um einfachen ASCII-Text in einem Standardprotokolldateiformat, und die meisten davon befinden sich im herkömmlichen Systemprotokoll-Unterverzeichnis /var/log . Viele werden vom Systemprotokolldämon syslogd im Namen des Systems und bestimmter Anwendungen generiert, während einige Anwendungen ihre eigenen Protokolle generieren, indem sie direkt in Dateien in /var/log schreiben.

In diesem Handbuch erfahren Sie, wie Sie mehrere dieser Systemprotokolldateien lesen und verwenden, wie Sie den Systemprotokollierungsdämon syslogd verwenden und konfigurieren und wie die Protokollrotation funktioniert. Siehe die Ressourcen Abschnitt für zusätzliche Informationen.

Zielgruppe

Dieses Handbuch ist leicht zu verwenden, wenn Sie Erfahrung mit der Konsole und dem Bearbeiten von Textdateien mit einem Texteditor haben. Am Ende dieses Dokuments finden Sie einige wichtige Befehle, die Ihnen helfen können, sich in diesen Dateien zurechtzufinden, wenn Sie mit der Befehlszeile noch relativ neu sind.

Systemprotokolle

Systemprotokolle befassen sich in erster Linie mit der Funktionsweise des Ubuntu-Systems, nicht unbedingt mit zusätzlichen Anwendungen, die von Benutzern hinzugefügt wurden. Beispiele hierfür sind Autorisierungsmechanismen, Systemdämonen, Systemmeldungen und das umfassende Systemprotokoll selbst. Syslog.

Autorisierungsprotokoll

Das Autorisierungsprotokoll verfolgt die Nutzung von Autorisierungssystemen, den Mechanismen zur Autorisierung von Benutzern, die zur Eingabe von Benutzerkennwörtern auffordern, wie z. B. das Pluggable Authentication Module (PAM)-System, den Befehl sudo, Remote-Anmeldungen bei sshd usw. Auf die Autorisierungsprotokolldatei kann unter /var/log/auth.log zugegriffen werden. Dieses Protokoll ist nützlich, um mehr über Benutzeranmeldungen und die Verwendung des sudo-Befehls zu erfahren.

Verwenden Sie grep, um die Lautstärke zu reduzieren. Um beispielsweise im Autorisierungsprotokoll nur Informationen zu SSHD-Anmeldungen anzuzeigen, verwenden Sie Folgendes:

grep sshd /var/log/auth.log | weniger

Daemon-Protokoll

Ein Daemon ist ein Programm, das im Hintergrund, im Allgemeinen ohne menschliches Eingreifen, ausgeführt wird und einen Vorgang ausführt, der für den ordnungsgemäßen Betrieb Ihres Systems wichtig ist. Das Daemon-Protokoll unter /var/log/daemon.log enthält Informationen über laufende System- und Anwendungsdämonen wie den Gnome Display Manager-Daemon gdm, den Bluetooth HCI-Daemon hcid oder den MySQL-Datenbank-Daemon mysqld. Dies kann Ihnen bei der Behebung von Problemen mit einem bestimmten Daemon helfen.

Verwenden Sie erneut grep, um bestimmte Informationen zu finden, indem Sie den Namen des Daemons eingeben, an dem Sie interessiert sind.

Austestungsprotokoll

Das Debug-Protokoll unter /var/log/debug bietet detaillierte Debug-Meldungen vom Ubuntu-System und von Anwendungen, die auf der DEBUG-Ebene in syslogd protokolliert werden.

Kernel-Protokoll

Das Kernel-Protokoll unter /var/log/kern.log bietet ein detailliertes Protokoll der Meldungen von Ubuntu Linux Kernel. Diese Meldungen können sich beispielsweise bei der Fehlerbehebung bei einem neuen oder benutzerdefinierten Kernel als nützlich erweisen.

Kernel-Ringpuffer

Der Kernel-Ringpuffer ist eigentlich keine Protokolldatei an sich, sondern ein Bereich im laufenden Kernel, den Sie über das Dienstprogramm dmesg nach Kernel-Startmeldungen abfragen können. Um die Nachrichten anzuzeigen, verwenden Sie Folgendes:

dmesg | weniger

Oder um beispielsweise nach Zeilen zu suchen, in denen das Plug & Play-System erwähnt wird, verwenden Sie grep wie folgt:

dmesg | grep pnp | weniger

Standardmäßig sendet das Systeminitialisierungsskript /etc/init.d/bootmisc.sh alle Startmeldungen auch an die Datei /var/log/dmesg. Sie können diese Datei wie gewohnt anzeigen und durchsuchen.

Systemprotokoll

Das Systemprotokoll enthält normalerweise standardmäßig die meisten Informationen über Ihr Ubuntu-System. Es befindet sich unter /var/log/syslog und enthält möglicherweise Informationen, die andere Protokolle nicht enthalten. Konsultieren Sie das Systemprotokoll, wenn Sie die gewünschten Protokollinformationen nicht in einem anderen Protokoll finden können. Es enthält auch alles, was sich früher in /var/log/messages befand.

Anwendungsprotokolle

Viele Anwendungen erstellen auch Protokolle in /var/log . Wenn Sie den Inhalt Ihres Unterverzeichnisses /var/log auflisten, werden Ihnen bekannte Namen angezeigt, z. B. /var/log/apache2, das die Protokolle für den Apache 2-Webserver darstellt, oder /var/log/samba, das die Protokolle für enthält Der Samba-Server. In diesem Abschnitt des Handbuchs werden einige spezifische Beispiele für Anwendungsprotokolle und die darin enthaltenen Informationen vorgestellt.

Apache HTTP-Serverprotokolle

Die Standardinstallation für Apache2 unter Ubuntu erstellt ein Protokollunterverzeichnis: /var/log/apache2 . In diesem Unterverzeichnis befinden sich zwei Protokolldateien mit zwei unterschiedlichen Zwecken:

    /var/log/apache2/access.log – Aufzeichnungen jeder bereitgestellten Seite und jeder vom Webserver geladenen Datei.

    /var/log/apache2/error.log – Aufzeichnungen aller vom HTTP-Server gemeldeten Fehlerbedingungen

Standardmäßig zeichnen die Zugriffsprotokolle jedes Mal, wenn Apache auf eine Datei oder Seite zugreift, die IP-Adresse, Uhrzeit und Datum, die Browser-Identifikationszeichenfolge, den HTTP-Ergebniscode und den Text der eigentlichen Abfrage auf, bei der es sich im Allgemeinen um ein GET für einen Seitenaufruf handelt. Eine vollständige Übersicht finden Sie in der Apache-Dokumentation. Aus dieser Datei lässt sich ziemlich viel lernen, und tatsächlich gibt es viele Statistikpakete, die Analysen dieser Protokolle durchführen.

Außerdem fügt Apache jedes Mal, wenn ein Fehler auftritt, eine Zeile zum Fehlerprotokoll hinzu. Wenn Sie PHP mit deaktivierten Fehler- und Warnmeldungen ausführen, kann dies Ihre einzige Möglichkeit sein, Fehler zu identifizieren.

CUPS druckt Systemprotokolle

Das Common Unix Printing System (CUPS) verwendet die Standardprotokolldatei /var/log/cups/error_log zum Speichern von Informations- und Fehlermeldungen. Wenn Sie ein Druckproblem in Ubuntu lösen müssen, ist dieses Protokoll möglicherweise ein guter Ausgangspunkt.

Rootkit-Hunter-Protokoll

Das Rootkit Hunter-Dienstprogramm (rkhunter) überprüft Ihr Ubuntu-System auf Hintertüren, Sniffer und Rootkits, die allesamt Anzeichen einer Kompromittierung Ihres Systems sind. Das von Rkhunter verwendete Protokoll befindet sich unter /var/log/rkhunter.log .

Samba-SMB-Serverprotokolle

Samba, der SMB-Server (Server Message Block Protocol), wird häufig zum Teilen von Dateien zwischen Ihrem Ubuntu-Computer und anderen Computern verwendet, die das SMB-Protokoll unterstützen. Samba speichert drei verschiedene Arten von Protokollen im Unterverzeichnis /var/log/samba:

    log.nmbd – Meldungen im Zusammenhang mit der NETBIOS-over-IP-Funktionalität von Samba (dem Netzwerk-Zeug)

    log.smbd – Meldungen im Zusammenhang mit der SMB/CIFS-Funktionalität von Samba (der Datei- und Druckerfreigabefunktion)

    Protokoll. - Nachrichten im Zusammenhang mit Dienstanfragen von der im Protokolldateinamen enthaltenen IP-Adresse, zum Beispiel log.192.168.1.1 .

X11-Serverprotokoll

Der standardmäßige X11-Windowing-Server, der mit Ubuntu verwendet wird, ist der Xorg Dieses Protokoll ist hilfreich bei der Diagnose von Problemen mit Ihrer X11-Umgebung.

Nicht für Menschen lesbare Protokolle

Einige Protokolldateien im Unterverzeichnis /var/log sind so konzipiert, dass sie von Anwendungen und nicht unbedingt von Menschen gelesen werden können. Nachfolgend einige Beispiele für solche Protokolldateien, die in /var/log angezeigt werden.

Protokoll der Anmeldefehler

Das Anmeldefehlerprotokoll unter /var/log/faillog ist eigentlich dafür konzipiert, vom Befehl faillog analysiert und angezeigt zu werden. Um beispielsweise die letzten Anmeldefehler auszudrucken, verwenden Sie Folgendes:

Faillog

Protokoll der letzten Anmeldungen

Das Protokoll der letzten Anmeldungen unter /var/log/lastlog sollte normalerweise nicht von Menschen analysiert und untersucht werden, sondern sollte in Verbindung mit dem Befehl lastlog verwendet werden. Um beispielsweise eine Liste der Anmeldungen mit dem Befehl lastlog anzuzeigen, die mit dem Befehl less auf einer Seite pro Bildschirm angezeigt wird, verwenden Sie den folgenden Befehl:

letztes Protokoll | weniger

Protokoll der Anmeldedatensätze

Die Datei /var/log/wtmp enthält Anmeldedatensätze, aber im Gegensatz zu /var/log/lastlog oben wird /var/log/wtmp nicht zum Anzeigen einer Liste der letzten Anmeldungen verwendet, sondern wird stattdessen von anderen Dienstprogrammen wie „who“ verwendet Befehl, um eine Liste der aktuell angemeldeten Benutzer anzuzeigen. Dieser Befehl zeigt die Benutzer an, die derzeit an Ihrem Computer angemeldet sind:

WHO

Systemprotokollierungsdaemon (syslogd)

Der Systemprotokollierungsdämon syslogd , auch bekannt als sysklogd , wartet auf Protokollierungsnachrichten von zahlreichen Quellen und leitet die Nachrichten an die entsprechende Datei oder das Netzwerkziel weiter. In syslogd protokollierte Nachrichten enthalten neben den spezifischen Protokollinformationen normalerweise auch allgemeine Elemente wie System-Hostnamen und Zeitstempel.

Konfiguration von syslogd

Die Konfigurationsdatei des syslogd-Daemons ist /etc/syslog.conf. Jeder Eintrag in dieser Datei besteht aus zwei Feldern, dem Selektor und der Aktion. Das Selektorfeld gibt eine zu protokollierende Einrichtung an, wie zum Beispiel die Autor Einrichtung, die sich mit der Autorisierung befasst, und eine Prioritätsstufe zum Protokollieren solcher Informationen, wie z die Info, oder Warnung. Das Aktionsfeld besteht aus einem Ziel für die Protokollinformationen, beispielsweise einer Standardprotokolldatei (z. B. /var/log/syslog) oder dem Hostnamen eines Remotecomputers, an den die Protokollinformationen gesendet werden sollen.

Echonachrichten an syslogd mit Logger

Im Logger-Tool gibt es ein nettes Dienstprogramm, mit dem man Nachrichten beliebig im Systemprotokoll (d. h. /var/log/syslog) platzieren kann. Angenommen, Ihr Benutzername ist buddha und Sie möchten eine Nachricht über eine besonders leckere Pizza, die Sie gerade essen, in das Syslog eingeben. Sie könnten an einer Terminal-Eingabeaufforderung einen Befehl wie den folgenden verwenden:

Logger Diese Pizza von Vinny's Gourmet Rocks

und Sie würden in der Datei /var/log/syslog eine Zeile wie diese erhalten:

12. Januar 23:34:45 localhost buddha: Diese Pizza von Vinnys Gourmet Rocks

Sie können sogar ein Tag angeben, von dem die Nachrichten stammen, und auch die Standardfehlerausgabe umleiten.

# # Beispiel-Logger-Fehler jive # logmsg="/usr/bin/logger -s -t MyScript " # ankündigen, was dieses Skript ist, sogar im Protokoll $logmsg "Directory Checker FooScript Jive 1.0" # Test auf Existenz von Fred" s Home-Verzeichnis auf diesem Computer, wenn [ -d /home/fred ]; dann $logmsg „I. Freds Home-Verzeichnis gefunden, sonst $logmsg „E. Freds Home-Verzeichnis wurde gefunden Nicht gefunden. „Boo Hoo.“ Ausgang 1 fi

Das Ausführen dieses Skripts als chkdir.sh auf den Maschinenbutters, auf denen Fred kein Home-Verzeichnis hat, /home/fred , führt zu den folgenden Ergebnissen:

Bumpy@butters:~$./chkdir.sh MyScript: Directory Checker FooScript Jive 1.0 MyScript: E. Freds Home-Verzeichnis wurde NICHT gefunden. Boo Hoo. Bumpy@butters:~$tail -n 2 /var/log/syslog 12. Jan 23:23:11 localhost MyScript: Verzeichnisprüfer FooScript Jive 1.0 12. Januar 23:23:11 localhost MyScript: E. Freds Home-Verzeichnis wurde NICHT gefunden. Boo Hoo.

Wie Sie sehen können, haben wir die Meldungen sowohl über die Standardfehlermeldung am Terminal-Prompt erhalten als auch in unserem Syslog angezeigt.

Protokollrotation

Wenn Sie Verzeichnislisten in /var/log oder einem seiner Unterverzeichnisse anzeigen, stoßen Sie möglicherweise auf Protokolldateien mit Namen wie daemon.log.0 , daemon.log.1.gz usw. Was sind diese Protokolldateien? Es handelt sich um „gedrehte“ Protokolldateien. Das heißt, sie wurden nach einem vordefinierten Zeitraum automatisch umbenannt und ein neues Originalprotokoll gestartet. Nach noch mehr Zeit werden die Protokolldateien mit dem Dienstprogramm gzip komprimiert, wie im Fall des Beispiels daemon.log.1.gz . Der Zweck der Protokollrotation besteht darin, alte Protokolle zu archivieren und zu komprimieren, sodass sie weniger Speicherplatz beanspruchen, aber dennoch bei Bedarf zur Überprüfung verfügbar sind. Was übernimmt diese Funktionalität? Na ja, natürlich der Logrotate-Befehl! Normalerweise wird logrotate vom systemweiten Cron-Skript /etc/cron.daily/logrotate aufgerufen und durch die Konfigurationsdatei /etc/logrotate.conf weiter definiert. Einzelne Konfigurationsdateien können in /etc/logrotate.d hinzugefügt werden (wo beispielsweise die Apache2- und MySQL-Konfigurationen gespeichert sind).

Dieses Handbuch behandelt nicht die unzähligen Möglichkeiten, wie logrotate konfiguriert werden kann, um die automatische Rotation aller Protokolldateien auf Ihrem Ubuntu-System durchzuführen. Weitere Einzelheiten finden Sie unter Ressourcen Abschnitt dieses Leitfadens.

NOTIZ: Sie können Systemprotokolldateien auch über das cron.daily-Skript /etc/cron.daily/sysklogd rotieren, anstatt logrotate zu verwenden. Tatsächlich kann das Dienstprogramm savelog bei der Protokollrotation zu unerwarteten Ergebnissen führen, auf die die Konfiguration von logrotate offenbar keine Auswirkung hat. In diesen Fällen sollten Sie das Skript cron.daily sysklogd in /etc/cron.daily/sysklogd überprüfen und die Savelog-Handbuchseite lesen, um festzustellen, ob Savelog die Rotation tatsächlich auf eine Weise durchführt, die nicht Ihren Angaben entspricht logrotieren.

Wesentliche Befehle

Wenn Sie mit der Konsole und der Linux-Befehlszeile noch nicht vertraut sind, werden Sie mit diesen Befehlen so weit kommen, dass Sie auf einer grundlegenden Ebene mit Protokolldateien arbeiten können.

Erste Schritte

Um in das Protokollverzeichnis zu wechseln, in dem sich die meisten dieser Dateien befinden, verwenden Sie den Befehl cd. Dies erspart Ihnen die Eingabe eines vollständigen Pfadnamens für jeden nachfolgenden Befehl:

cd /var/log

Bearbeiten von Dateien

Sie können Dateien in GEdit oder Kate anzeigen und bearbeiten, den einfachen Texteditoren, die in Ubuntu bzw. Kubuntu enthalten sind. Diese können jedoch übertrieben sein, wenn Sie sich nur eine Datei ansehen oder einfache Änderungen vornehmen möchten. Der am einfachsten von der Konsole aus zu verwendende Editor ist Nano, der weniger leistungsfähig, aber auch weniger kompliziert als Vim oder Emacs ist. Der Befehl zum Bearbeiten einer bestimmten Protokolldatei /var/log/example.log mit nano lautet:

nano example.log

Drücken Sie Strg+X, um den Vorgang zu beenden. Beim Beenden werden Sie gefragt, ob Sie Ihre Änderungen speichern möchten. Wenn Sie es jedoch nicht mit dem Befehl sudo ausführen, sind die Dateien nicht beschreibbar. Im Allgemeinen möchten Sie Ihre Änderungen natürlich nicht in Protokolldateien speichern.

Dateien anzeigen

Um einfach nur eine Datei anzusehen, ist ein Editor übertrieben. Verwenden Sie den Befehl less, der bildschirmweise durch eine Datei blättert:

weniger example.log

Sie benötigen sudo nicht, um eine Datei anzuzeigen. Drücken Sie h, um Hilfe zu erhalten, oder q, um den Vorgang zu beenden. Die Cursortasten und die Bild-auf-/ab-Tasten funktionieren wie erwartet, und die Schrägstrichtaste („/“) übernimmt die Aufgabe. sensible Suche; die Taste n wiederholt die letzte Suche.

Anzeigen des Dateianfangs

Um die ersten zehn Zeilen einer Datei anzuzeigen, verwenden Sie den Befehl head:

head example.log

Um eine andere Anzahl von Zeilen ab dem Anfang der Datei anzuzeigen, fügen Sie den Schalter -n hinzu, also:

head -n 20 example.log

Dateiende anzeigen

Um die letzten zehn Zeilen einer Datei anzuzeigen, lautet der analoge Befehl tail:

tail example.log

Auch hier gibt Ihnen der Schalter -n die Kontrolle darüber, wie viele Zeilen angezeigt werden:

tail -n 20 example.log

Ansehen einer sich ändernden Datei

Außerdem versetzt der Schalter -f („follow“) tail ständig in eine Schleife warten auf Neue Ergänzungen zu der angezeigten Datei. Dies ist nützlich, um Dateien zu überwachen, die in Echtzeit aktualisiert werden:

tail -f example.log

Drücken Sie Strg+C, um die Schleife zu verlassen.

Durchsuchen von Dateien

Da Protokolldateien groß und unhandlich sein können, ist es hilfreich, sich konzentrieren zu können. Mit dem Befehl grep können Sie nur die Inhalte entfernen, die Sie interessieren. Um beispielsweise alle Zeilen in einer Datei zu finden, die das Wort „System“ enthalten, verwenden Sie Folgendes:

grep „system“ example.log

Um alle Zeilen zu finden, die „system“ am Zeilenanfang enthalten, verwenden Sie Folgendes:

grep „^system“ example.log

Beachten Sie das Caret-Symbol, einen regulären Ausdruck, der nur den Anfang einer Zeile übereinstimmt. Dies ist für Standardprotokolldateien, die immer mit einem Datum und einer Uhrzeit beginnen, weniger nützlich, kann aber ansonsten nützlich sein. Nicht alle Dateien haben ein Standardformat.

Immer wenn das Ergebnis eines grep immer noch zu lang ist, können Sie es durch less weiterleiten:

grep „system“ example.log | weniger

Ressourcen

Weitere Informationen zu System- und Anwendungsprotokollen und syslogd sind über die folgenden Ressourcen verfügbar:

Lokale Systemressourcen

Systemhandbuchseite für das Kernel-Ringpuffer-Dienstprogramm dmesg

Systemhandbuchseite für den faillog-Befehl (und auch die faillog-Konfigurationsdatei über man 5 faillog)

Systemhandbuchseite für das Dienstprogramm zur Mustersuche grep

Systemhandbuchseite für das Hauptdienstprogramm

Systemhandbuchseite für den Kernel-Log-Daemon (klogd)

Systemhandbuch für den letzten Befehl, das die zuletzt angemeldeten Benutzer anzeigt

Systemhandbuchseite für das Dienstprogramm „Less Paging“.

Systemhandbuchseite für die Logger-Befehlszeilenschnittstelle zum Syslog-Dienstprogramm

Systemhandbuchseite für das Dienstprogramm logrotate

Systemhandbuchseite für das Dienstprogramm zum Speichern von Protokolldateien savelog

Systemhandbuchseite für den Systemprotokoll-Daemon (syslogd)

Systemhandbuchseite für die syslogd-Konfigurationsdatei

Systemhandbuchseite für das Tail-Dienstprogramm

Wenn Sie mit der Linux-Administration beginnen, müssen Sie damit rechnen, dass das Anzeigen und Analysieren von Protokolldateien den Löwenanteil Ihrer Zeit in der Konsole in Anspruch nimmt. Die Protokollanalyse ist die wichtigste (und meist einzige) Möglichkeit, das Verhalten des Servers zu verstehen.

Oftmals enthält das Protokoll Tausende von Zeilen, zudem kann es jede Sekunde um mehrere weitere Einträge anwachsen. Und es ist ratsam, es live zu sehen und die Reaktion auf bestimmte Aktionen zu verfolgen. Hier helfen uns zwei Dienstprogramme und weniger.

Anzeigen von Protokollen unter Linux mit tail .

Schwanz (übersetzt als Schwanz) ermöglicht die Anzeige von 10 letzte Zeilen Datei. Wenn Sie mehr benötigen, sagen Sie es einfach. Zum Beispiel 25:

# tail -n 25 /var/log/httpd/error_log

[hc@host~] # tail -n 25 /var/log/httpd/error_log

Oder Sie können einfach:

# tail -25 /var/log/httpd/error_log

[hc@host~] # tail -25 /var/log/httpd/error_log

Die zweite nützliche Option, die übergeben werden kann, ist -f . Mit diesem Parameter druckt tail die angegebene Anzahl der letzten Zeilen und liest die hinzugefügten Zeilen weiter, bis Sie Strg+C drücken – d. h. Sie können Änderungen live in der Protokolldatei überwachen:

# tail -5f /home/sites/web/site.ru/logs/site.ru.log 178.45.0.0 - - "GET / HTTP/1.0" 200 17401 "http://site.ru/allsorts/" "Mozilla /5.0 (iPad; CPU OS 8_0_2 wie Mac OS - "http://site.ru/" 217.118.0.0 - - "GET /allsorts/ HTTP/1.0" 200 16663 "http://site.ru/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS " "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50" 85.95.0.0 - - "GET /allsorts/ HTTP/1.0" 200 16663 „http://site.ru/“ „Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50“

[hc@host~] # tail -5f /home/sites/web/site.ru/logs/site.ru.log

178.45.0.0 – – [23. Januar 2016: 19: 45: 02 + 0300] „GET / HTTP/1.0“ 200 17401 „http://site.ru/allsorts/“ „Mozilla/5.0 (iPad; CPU OS 8_0_2 wie Mac OS X) AppleWebKit/600.1.4 (KHTML, wie Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4“

217.118.0.0 – – [23. Januar 2016: 19: 46: 34 + 0300] „GET /allsorts HTTP/1.0“ 301 – „http://site.ru/“ „Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS X) AppleWebKit/601.1.46 (KHTML, wie Gecko) Version/9.0 Mobile/13C75 Safari/601.1“

217.118.0.0 – – [23. Januar 2016: 19: 46: 35 + 0300] „GET /allsorts/ HTTP/1.0“ 200 16663 „http://site.ru/“ „Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS X) AppleWebKit/601.1.46 (KHTML, wie Gecko) Version/9.0 Mobile/13C75 Safari/601.1“

85.95.0.0 – – [23. Januar 2016: 19: 47: 34 + 0300] „GET /allsorts/ HTTP/1.0“ 200 16663 „http://site.ru/“ „Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50“

Der größte Vorteil von tail besteht jedoch darin, dass mehrere Dateien als Parameter übergeben werden können, d. h. Sie können mehrere zugehörige Protokolldateien gleichzeitig überwachen:

# tail -f -n 5 -s 3 /home/sites/web/site.ru/logs/site.ru.log /var/log/httpd/domains/site.ru.error.log ==> /home/ sites/web/site.ru/logs/site.ru.log<== 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/delivery-feature-6.png HTTP/1.1" 200 18165 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/delivery-truck.png HTTP/1.1" 200 15243 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/scooter-icon-small.png HTTP/1.1" 200 4322 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/link-button-shadow.png HTTP/1.1" 200 7792 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/header-bg.png HTTP/1.1" 200 194475 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" ==>/var/log/httpd/domains/site.ru.error.log<== client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php

[hc@host~] # tail -f -n 5 -s 3 /home/sites/web/site.ru/logs/site.ru.log /var/log/httpd/domains/site.ru.error.log

== > /home/sites/web/site. ru/logs/site. ru. Protokoll<= =

37.113.0.0 - - [23.01.2016: 19:55:45 +0300] „GET /wp-content/themes/bigroll/img/delivery-feature-6.png HTTP/1.1“ 200 18165 „http://site.ru/delivery/“ „Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS X) AppleWebKit/601.1.46 (KHTML, wie Gecko) Version/9.0 Mobile/13C75 Safari/601.1“

„GET /wp-content/themes/bigroll/img/delivery-truck.png HTTP/1.1“ 200 15243 „http://site.ru/delivery/“ „Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS X) AppleWebKit/601.1.46 (KHTML, wie Gecko) Version/9.0 Mobile/13C75 Safari/601.1“

37.113.0.0 - - [23.01.2016: 19:55:46 +0300] „GET /wp-content/themes/bigroll/img/scooter-icon-small.png HTTP/1.1“ 200 4322 „http://site.ru/delivery/“ „Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS X) AppleWebKit/601.1.46 (KHTML, wie Gecko) Version/9.0 Mobile/13C75 Safari/601.1“

37.113.0.0 - - [23.01.2016: 19:55:46 +0300] „GET /wp-content/themes/bigroll/img/link-button-shadow.png HTTP/1.1“ 200 7792 „http://site.ru/delivery/“ „Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS X) AppleWebKit/601.1.46 (KHTML, wie Gecko) Version/9.0 Mobile/13C75 Safari/601.1“

37.113.0.0 - - [23.01.2016: 19:55:46 +0300] „GET /wp-content/themes/bigroll/img/header-bg.png HTTP/1.1“ 200 194475 „http://site.ru/delivery/“ „Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 wie Mac OS X) AppleWebKit/601.1.46 (KHTML, wie Gecko) Version/9.0 Mobile/13C75 Safari/601.1“

== > /var/log/httpd/domains/site. ru. Fehler. Protokoll<= =

[Mittwoch, 20. Jan. 04:38:36 2016] [Fehler] [Client 46.166.0.0] Client durch Serverkonfiguration verweigert: /home/sites/web/site. ru/public_html/xmlrpc. php

[Mittwoch, 20. Jan. 13:15:43 2016] [Fehler] [Client 69.84.0.0] Client durch Serverkonfiguration abgelehnt: /home/sites/web/site. ru/public_html/xmlrpc. php

[Mi, 20. Januar 20: 48: 58 2016] [Fehler] [Client 185.112.0.0] Client durch Serverkonfiguration abgelehnt: /home/sites/web/site. ru/public_html/xmlrpc. php

[Mittwoch, 20. Jan. 22:42:02 2016] [Fehler] [Client 5.255.0.0] Client durch Serverkonfiguration abgelehnt: /home/sites/web/site. ru/public_html/xmlrpc. php

Bitte beachten Sie, dass ich die Konstruktion -s 3 verwendet habe. Mit diesem Schlüssel wird das Aktualisierungsintervall in Sekunden festgelegt, d. h. In diesem Fall werden die Dateien alle 3 Sekunden erneut gelesen.

Anzeigen von Protokollen unter Linux mit weniger.

Trotz aller Einfachheit und Bequemlichkeit hat tail einen wesentlichen Nachteil: Es zeigt nur die letzten Zeilen an und Sie haben nicht die Möglichkeit zu sehen, was vor diesen Aufzeichnungen oder zu einem bestimmten Zeitpunkt passiert ist. Für solche Situationen ist der geringere Nutzen besser geeignet.

Öffnen wir die Datei:

# weniger /var/log/httpd/domains/big-roll.ru.error.log

[hc@host~] # weniger /var/log/httpd/domains/big-roll.ru.error.log

Wie Sie sehen, können wir mit den Cursorpfeilen und den Tasten PgUp und PgDn ganz einfach durch den Inhalt der Datei scrollen.
Denken Sie an ein paar weitere nützliche Schlüssel:
q – Ausgabe;
g – zum Anfang der Datei gehen;
G – zum Ende der Datei gehen;
Ng – gehe zu Zeile N (z. B. Zeile 14 14g);
N% – gehen Sie zu Position N% (z. B. 35 %);
F – Wechseln Sie in den Dateiaktualisierungs-Tracking-Modus, d. h. Analogon von tail -f ;
/pattern – direkte Suche (in der Datei nach unten) mithilfe des Musters;
?pattern – rückwärts (in der Datei nach oben);
n – nächste Übereinstimmung des Suchmusters;
N – vorheriges Spiel;
Tracking-Modus verlassen Strg+C ;
Sie können die vollständige Liste aller anderen Tasten und Modi selbst anzeigen, indem Sie h – Hilfe drücken (ich empfehle dringend, diese Taste zu drücken).

Ein Linux-Administrator sollte in der Lage sein, die verschiedenen Arten von Meldungen zu lesen und zu verstehen, die von allen Linux-Systemen generiert werden, um ein Problem zu beheben. Diese Meldungen, Protokolle genannt, werden von Linux und den darauf ausgeführten Anwendungen initiiert. Linux erstellt, speichert und recycelt diese Protokolle kontinuierlich über verschiedene Konfigurationsdateien, Programme, Befehle und Daemons. Wenn Sie wissen, wie man diese Dateien liest und die verschiedenen Befehle, die wir in diesem Tutorial erwähnen, optimal nutzt, können Sie Ihre Probleme wie ein Profi beheben!

Es ist wichtig zu beachten, dass Linux seine Protokolldateien im Verzeichnis /var/log im Textformat speichert.

Systemprotokolle unter Ubuntu anzeigen

Um zum Kern eines Problems vorzudringen oder zu sehen, ob sich Ihre Anwendung oder Ihr System wie gewünscht verhält, können Sie die Systemprotokolldateien entweder grafisch oder über die Befehlszeile auf folgende Weise anzeigen:

  • Gnome Logs-Dienstprogramm (Grafik)
  • Dienstprogramm „Log File Viewer“ (Grafik)
  • Linux-Terminal (Befehlszeile)

Protokolldateien über Gnome-Protokolle anzeigen

„Logs“ ist das Standarddienstprogramm, das mit den neuesten Versionen von Ubuntu geliefert wird, z. B. Ubuntu 18.04 LTS (Bionic Beaver). Um darauf zuzugreifen,

Typ Protokolle im Ubuntu-Dash:

Sie können sehen, dass das Dienstprogramm „Protokolle“ geöffnet ist, mit der Option, Protokolle für Anwendungen, System, Sicherheit und Hardware anzuzeigen.

Klick auf das System Registerkarte, um Systemprotokolle anzuzeigen:

Hier können Sie alle Systemprotokolle zusammen mit dem Zeitpunkt ihrer Erstellung einsehen. Über dieses Fenster können Sie die folgenden Aktionen ausführen:

  • Zeigen Sie den Inhalt eines Protokolls an, indem Sie darauf klicken.
  • Suchen Sie nach einem Protokoll, indem Sie auf das Suchsymbol klicken und dann Schlüsselwörter in die Suchleiste eingeben. Die Suchleiste bietet außerdem eine Reihe von Filtern, die Sie zur genauen Spezifizierung anwenden können Was(Wählen Sie ein Journalfeld aus, um die Protokolle danach zu filtern) und Wann(Wählen Sie den Zeitstempelbereich der anzuzeigenden Protokolleinträge aus), den Sie sehen möchten:

  • Sie können Protokolle auch in eine Datei exportieren, indem Sie auf die Schaltfläche „Exportieren“ in der oberen rechten Ecke des Protokollfensters klicken. Anschließend können Sie die Protokolldatei speichern, indem Sie einen Namen und einen Speicherort angeben.

Über den Protokolldatei-Viewer

Der Log File Viewer ist das Standarddienstprogramm, das in älteren Ubuntu-Versionen enthalten ist. Wenn Ihre Ubuntu-Edition nicht standardmäßig über diese Anwendung verfügt, können Sie sie über die Ubuntu-Software herunterladen und installieren.

Um auf den Protokolldatei-Viewer zuzugreifen:

  • Eingeben Protokollansicht r in Ubuntu Dash
  • Wenn Sie dieses Programm über die Ubuntu-Software installiert haben, können Sie es starten, indem Sie wie folgt in der Ubuntu-Software danach suchen und dann auf klicken Start Taste:

Der Protokolldatei-Viewer wird wie folgt angezeigt:


Der linke Bereich des Fensters zeigt eine Reihe von Standardprotokollkategorien und der rechte Bereich zeigt eine Liste von Protokollen für die ausgewählte Kategorie.

Klick auf das Syslog Registerkarte, um Systemprotokolle anzuzeigen. Mit können Sie nach einem bestimmten Protokoll suchen Strg+F Steuerung und geben Sie dann das Schlüsselwort ein. Wenn ein neues Protokollereignis generiert wird, wird es automatisch zur Liste der Protokolle hinzugefügt und Sie können es in Fettschrift sehen. Sie können Ihre Protokolle auch über filtern Filter Menü in der oberen Menüleiste.

Um ein Protokoll für eine bestimmte Anwendung anzuzeigen, klicken Sie auf Offen Option aus dem Datei Speisekarte. Die folgende Protokoll öffnen Es öffnet sich ein Fenster, in dem Sie das Protokoll auswählen können:

Klicken Sie auf eine Protokolldatei und klicken Sie auf Offen. Sie können nun Protokolle der ausgewählten Protokolldatei im Protokolldatei-Viewer sehen.

Protokolldateien über das Terminal anzeigen

Sie können Systemprotokolle auch über die Befehlszeile anzeigen, d. h. über das Ubuntu-Terminal.

Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:

Dieser Befehl ruft alle Nachrichten aus dem Puffer des Kernels ab. Sie können die Ausgabe wie folgt sehen:

Sie werden sehen, dass es sich dabei um viele Informationen handelt. Diese Informationen sind nur dann nützlich, wenn wir einige Filter anwenden, um das anzuzeigen, was wir sehen möchten.

Anpassen der dmesg-Ausgabe

  • Um Nachrichten in Ihrem eigenen Tempo anzuzeigen, verwenden Sie den folgenden Befehl:

$ dmesg |less

Dieser Befehl zeigt nur eine bestimmte Anzahl von Nachrichten pro Bildschirm an. Sie können die Eingabetaste drücken, um zur nächsten Nachricht zu gelangen, oder Q drücken, um den Befehl zu beenden.

  • Um nach einer Nachricht zu suchen, die ein bestimmtes Schlüsselwort enthält, verwenden Sie den folgenden Befehl:
$dmesg |grep

Wenn Sie beispielsweise nach allen Nachrichten suchen möchten, die das Wort core enthalten, können Sie den folgenden Befehl verwenden:

$dmesg |grep core

Das Terminal zeigt jetzt nur noch die Nachrichten an, die das Wort „core“ in roter Farbe enthalten.

Öffnen Sie eine Protokolldatei mit dem Befehl cat

Der Befehl dmesg öffnet alle Protokolle aus dem Verzeichnis /var/log. Um die Protokolldatei von einem anderen Ort aus zu öffnen, verwenden Sie den folgenden Befehl:

$Katze

$ cat /var/log/syslog

Dieser Befehl druckt Protokolle aus der Syslog-Datei auf dem Bildschirm. Sie werden erneut feststellen, dass dieser Befehl alle Informationen ausgibt und es nicht einfach ist, sie zu überfliegen. Auch hier können Sie die Filter „grep“ und „less“ verwenden, um die gewünschte Ausgabe wie folgt anzuzeigen:

$cat |grep

$ cat |less

Schreiben in das Systemprotokoll

Manchmal müssen wir während des Fehlerbehebungsprozesses benutzerdefinierte Nachrichten in unser Systemprotokoll schreiben. Sowohl das Gnome Log- als auch das Log File Viewer-Programm sind darauf ausgelegt, eine benutzerdefinierte Nachricht anzuzeigen, die Sie über das Terminal schreiben können.

Öffnen Sie das Ubuntu-Terminal und geben Sie den folgenden Befehl ein:

$logger „Dies ist eine benutzerdefinierte Nachricht“


Sie können die benutzerdefinierte Protokollmeldung am Ende der obigen Protokollliste im grafischen Protokolldatei-Viewer sehen.

Sie können den Logger-Befehl auch innerhalb eines Skripts verwenden, um zusätzliche Informationen bereitzustellen. In diesem Fall verwenden Sie bitte den folgenden Befehl in Ihrem Skript:

$ logger -t Skriptname „Dies ist eine benutzerdefinierte Nachricht“

Indem Sie dieses Tutorial üben, können Sie lernen, wie Sie Ihre System- und Anwendungsprobleme beheben, indem Sie auf Systemprotokolle zugreifen und diese verstehen.

So zeigen Sie Systemprotokolldateien unter Ubuntu 18.04 LTS an

Systemadministratoren und normale Linux-Benutzer müssen sich häufig Protokolldateien ansehen, um Probleme zu beheben. Tatsächlich ist dies das Erste, was ein Systemadministrator tun sollte, wenn im System ein Fehler auftritt.

Das Linux-Betriebssystem selbst und die ausgeführten Anwendungen generieren verschiedene Arten von Meldungen, die in verschiedenen Protokolldateien protokolliert werden. Linux verwendet spezielle Software, Dateien und Verzeichnisse zum Speichern von Protokolldateien. Wenn Sie wissen, welche Dateien die Protokolle welcher Programme enthalten, können Sie Zeit sparen und das Problem schneller lösen.

In diesem Artikel betrachten wir die Hauptteile des Linux-Protokollierungssystems, Protokolldateien sowie Dienstprogramme, mit denen Sie Linux-Protokolle anzeigen können.

Die meisten Linux-Protokolldateien befinden sich im Ordner /var/log/. Sie können die Protokolldateien für Ihr System mit dem Befehl ls auflisten:

Rw-r--r-- 1 root root 52198 10. Mai 11:03 alternatives.log
drwxr-x--- 2 root root 4096 14. November 15:07 apache2
drwxr-xr-x 2 root root 4096 25. April 12:31 apparmor
drwx------ 2 root root 4096 5. Mai 10:15 Audit
-rw-r--r-- 1 root root 33100 10. Mai 10:33 boot.log

Im Folgenden betrachten wir 20 verschiedene Linux-Protokolldateien, die sich im Verzeichnis /var/log/ befinden. Einige dieser Protokolle sind nur auf bestimmten Distributionen zu finden, beispielsweise ist dpkg.log nur auf Debian-basierten Systemen zu finden.

/var/log/messages– enthält globale Linux-Systemprotokolle, einschließlich derjenigen, die beim Systemstart aufgezeichnet werden. In diesem Protokoll werden verschiedene Arten von Nachrichten aufgezeichnet: E-Mail, Cron, verschiedene Dienste, Kernel, Authentifizierung und andere.

/var/log/dmesg- enthält vom Kernel empfangene Nachrichten. Protokolliert viele Meldungen während der Startphase und zeigt Informationen zu Hardwaregeräten an, die während des Startvorgangs initialisiert werden. Man kann sagen, dass dies ein weiteres Protokoll des Linux-Systems ist. Die Anzahl der Nachrichten im Protokoll ist begrenzt und wenn die Datei voll ist, werden mit jeder neuen Nachricht die alten überschrieben. Sie können Nachrichten aus diesem Protokoll auch mit dem Befehl dmseg anzeigen.

/var/log/auth.log– enthält Informationen über die Benutzerautorisierung im System, einschließlich der verwendeten Benutzeranmeldungen und Authentifizierungsmechanismen.

/var/log/boot.log– Enthält Informationen, die beim Systemstart protokolliert werden.

/var/log/daemon.log- Enthält Nachrichten von verschiedenen Hintergrund-Daemons

/var/log/kern.log– Enthält auch Meldungen vom Kernel, die bei der Fehlerbehebung in benutzerdefinierten Modulen, die in den Kernel integriert sind, nützlich sind.

/var/log/lastlog- Zeigt Informationen über die letzte Sitzung aller Benutzer an. Dies ist eine Nicht-Textdatei und Sie müssen den Befehl lastlog verwenden, um sie anzuzeigen.

/var/log/maillog /var/log/mail.log- Protokolle des E-Mail-Servers, der auf dem System läuft.

/var/log/user.log- Informationen aus allen Protokollen auf Benutzerebene.

/var/log/Xorg.x.log- X-Server-Nachrichtenprotokoll.

/var/log/alternatives.log- Informationen zum Betrieb des Update-Alternatives-Programms. Dabei handelt es sich um symbolische Links zu Standardbefehlen oder -bibliotheken.

/var/log/btmp- Die Linux-Protokolldatei enthält Informationen über fehlgeschlagene Anmeldeversuche. Um die Datei anzuzeigen, ist es praktisch, den Befehl last -f /var/log/btmp zu verwenden

/var/log/cups- Alle Nachrichten zum Thema Drucken und Drucker.

/var/log/anaconda.log- Alle während der Installation aufgezeichneten Nachrichten werden in dieser Datei gespeichert

/var/log/yum.log– Protokolliert alle Informationen über Paketinstallationen mit Yum.

/var/log/cron- Immer wenn der Cron-Daemon mit der Ausführung eines Programms beginnt, schreibt er einen Bericht und Meldungen vom Programm selbst in diese Datei.

/var/log/secure- enthält Informationen zur Authentifizierung und Autorisierung. SSHd protokolliert hier beispielsweise alles, auch fehlgeschlagene Anmeldeversuche.

/var/log/wtmp oder /var/log/utmp - Linux-Systemprotokolle , enthalten ein Protokoll der Benutzeranmeldungen. Mit dem Befehl wtmp können Sie herausfinden, wer wann angemeldet ist.

/var/log/faillog- Linux-Systemprotokoll, enthält erfolglose Anmeldeversuche. Verwenden Sie den Befehl faillog, um den Inhalt dieser Datei anzuzeigen.

/var/log/mysqld.log- Linux-Protokolldateien vom MySQL-Datenbankserver.

/var/log/httpd/ oder /var/log/apache2- Protokolldateien des Linux11-Apache-Webservers. Zugriffsprotokolle befinden sich in der Datei „access_log“ und Fehlerprotokolle befinden sich in der Datei „error_log“.

/var/log/lighthttpd/- Linux-Protokolle des Lighttpd-Webservers

/var/log/conman/- ConMan-Client-Protokolldateien,

/var/log/mail/– Dieses Verzeichnis enthält zusätzliche Mailserver-Protokolle

/var/log/prelink/- Prelink verknüpft Bibliotheken und ausführbare Dateien, um den Ladevorgang zu beschleunigen. /var/log/prelink/prelink.log enthält Informationen über .so-Dateien, die vom Programm geändert wurden.

/var/log/audit/– Enthält vom auditd-Daemon generierte Informationen.

/var/log/setroubleshoot/ - SE Linux verwendet den setroubleshootd-Daemon (SE Trouble Shoot Daemon), um Sicherheitsprobleme zu melden. Dieses Protokoll enthält Nachrichten von diesem Programm.

/var/log/samba/- enthält Informationen und Protokolle vom Samba-Dateiserver, der für die Verbindung zu Windows-Freigaben verwendet wird.

/var/log/sa/– Enthält .cap-Dateien, die vom Sysstat-Paket gesammelt wurden.

/var/log/sssd/– Wird vom Systemsicherheitsdämon verwendet, der den Remote-Verzeichniszugriff und die Authentifizierungsmechanismen verwaltet.

Protokolle unter Linux anzeigen

Um Protokolle unter Linux anzuzeigen, ist es praktisch, mehrere Linux-Befehlszeilen-Dienstprogramme zu verwenden. Dies kann ein beliebiger Texteditor oder ein spezielles Dienstprogramm sein. Höchstwahrscheinlich benötigen Sie Superuser-Rechte, um Protokolle unter Linux anzuzeigen. Hier sind die Befehle, die für diese Zwecke am häufigsten verwendet werden:

  • zgrep
  • zmore

Ich werde nicht auf jeden dieser Befehle näher eingehen, da die meisten davon bereits ausführlich auf unserer Website besprochen wurden. Aber ich werde ein paar Beispiele nennen. Das Anzeigen von Linux-Protokollen ist sehr einfach:

Wir schauen uns das Protokoll /var/log/messages an, mit der Möglichkeit zu scrollen:

weniger /var/log/messages

Linux-Protokolle in Echtzeit anzeigen:

tail -f /var/log/messages

Öffnen Sie die dmesg-Protokolldatei:

cat /var/log/dmesg

Erste Zeilen von dmesg:

head /var/log/dmesg

Wir geben nur Fehler aus /var/log/messages aus:

grep -i Fehler /var/log/messages

Darüber hinaus können Sie Protokolle unter Linux mithilfe grafischer Dienstprogramme anzeigen. Mit System Log Viewer können Systemprotokolle einfach auf einem Linux-Laptop oder PC angezeigt und überwacht werden.

Sie können das Programm auf jedem System installieren, auf dem ein X-Server installiert ist. Außerdem kann jeder grafische Testeditor zum Anzeigen von Protokollen verwendet werden.

Schlussfolgerungen

Im Verzeichnis /var/log finden Sie alle notwendigen Informationen zum Betrieb von Linux. Aus dem heutigen Artikel haben Sie genug gelernt, um zu wissen, wo und worauf Sie achten müssen. Das Anzeigen von Protokollen unter Linux bereitet Ihnen jetzt keine Probleme mehr. Wenn Sie Fragen haben, stellen Sie diese in den Kommentaren!

Wenn Sie vor dem Dateinamen ein Pipe-Symbol (|) platzieren, können Sie es verwenden FIFO (First In – First Out, First In, First Out) bzw benannte Pfeife als Empfänger für Nachrichten. Bevor Sie syslogd starten (oder neu starten), müssen Sie mit dem Befehl mkfifo ein FIFO erstellen. Manchmal wird Fifo zum Debuggen verwendet.

Terminal und Konsole

Ein Terminal wie /dev/console.

Remote-Maschine

Um Nachrichten an einen anderen Host weiterzuleiten, stellen Sie dem Hostnamen ein (@)-Symbol voran. Bitte beachten Sie, dass Nachrichten nicht vom empfangenden Host weitergeleitet werden. (damit diese Zuweisung auf dem Client und Server in der Datei funktioniert /etc/services Zeile muss geschrieben werden syslog 514/udp, und UTP-Port 514 ist offen)

eine Liste von Benutzern

Durch Kommas getrennte Liste der Benutzer, die Nachrichten empfangen (sofern der Benutzer angemeldet ist). Dazu gehört häufig auch der Root-Benutzer.

Alle registrierten Benutzer

Um alle registrierten Benutzer über den Wall-Befehl zu benachrichtigen, verwenden Sie das Sternchen (*).

Ein Beispiel für eine einfache syslog.conf:

# Alle Kernel-Meldungen auf der Konsole ausgeben. #kern.* /dev/console # Alle Protokolle auf Informationsebene oder höher, außer E-Mail-Nachrichten, und # keine Authentifizierungsnachrichten oder Cron-Daemon-Nachrichten protokollieren! *.info;mail.none;authpriv.none;cron.none /var/log/messages # Protokollieren Sie Nachrichten, die vertrauliche # Authentifizierungsinformationen enthalten, unabhängig von ihrer Ebene in einer separaten Datei. authpriv.* /var/log/secure # Alle Nachrichten aus dem Mailsystem werden auch in eine separate Datei geschrieben. mail.* -/var/log/maillog # Scheduler-Nachrichten in /var/log/cron cron protokollieren.* /var/log/cron # Notfallnachrichten sollten sofort # von allen Systembenutzern empfangen werden *.emerg * # Nachrichten speichern kritischen Levels und höher in einer separaten Datei speichern. uucp,news.crit /var/log/spooler # Boot-Meldungen in boot.log speichern local7.* /var/log/boot.log

Wie bei vielen Konfigurationsdateien lautet die Syntax wie folgt:

  • Zeilen, die mit # beginnen, und Leerzeilen werden ignoriert.
  • Das *-Symbol kann verwendet werden, um alle Kategorien oder alle Prioritäten anzuzeigen.
  • Das spezielle Schlüsselwort none gibt an, dass für diese Aktion keine Protokollierung für diese Kategorie durchgeführt werden soll.
  • Ein Bindestrich vor dem Dateinamen (wie in diesem Beispiel -/var/log/maillog) weist darauf hin, dass das Protokoll nicht nach jedem Eintrag synchronisiert werden soll. Wenn Ihr System abstürzt, gehen möglicherweise Informationen verloren, aber die Deaktivierung der Synchronisierung verbessert die Leistung.

In der Syntax der Konfigurationsdatei können Sie die Priorität voranstellen Zeichen! um anzugeben, dass die Aktion nicht angewendet werden sollte, ab diesem Level und höher. Ebenso kann Priorität eingeräumt werden Zeichen = um anzugeben, dass die Regel nur für diese Ebene gilt, oder != um zu zeigen, dass die Regel für alle Ebenen außer dieser gilt. Nachfolgend einige Beispiele (es gibt viele weitere Beispiele in man syslog.conf):

# Alle Kernel-Nachrichten an /var/log/kernel senden. # Alle kritischen und höherstufigen Nachrichten an den Remote-Sysloger-Rechner und an die Konsole senden # Alle Info-, Hinweis- und Warnmeldungen an /var/log/kernel-info # kern.* /var/log/kernel kern.crit @ senden sysloger kern .crit /dev/console kern.info;kern.!err /var/log/kernel-info # Alle Mailsystemnachrichten außer der Infoebene an /var/log/mail senden. mail.*;mail.!=info /var/log/mail

Ich habe versucht, die Funktionsweise von syslogd im Diagramm so klar wie möglich darzustellen:

Starten des syslogd-Daemons

Der Start des Logging-Daemons erfolgt während der Systeminitialisierung über ein Skript /etc/rc.d/init.d/syslog Um die Startparameter festzulegen, muss dieses Skript jedoch nicht angepasst werden. Ab Version 7.2 werden die Startoptionen aus einer separaten Konfigurationsdatei gelesen /etc/sysconfig/syslog (/etc/default/syslogin Debian).

Hier sind einige mögliche Startparameter des Syslogd-Daemons:

  • -a /Ordner/Socket- Angabe eines zusätzlichen Listening-Sockets (vergessen Sie nicht, zuerst den Socket zu erstellen)
  • -D- Debugging-Modus. In diesem Fall tritt der Daemon nicht in den Hintergrund und gibt alle Nachrichten an das aktuelle Terminal aus;
  • -F Konfigurationsdateiname. Gibt den Namen einer alternativen Konfigurationsdatei an, die anstelle der Standardkonfigurationsdatei /etc/syslog.conf verwendet wird.
  • -l Hostliste- Angabe einer Liste von Hosts, deren Namen nicht mit dem vollständigen Domänennamen (FQDN – Full Qualified Domain Name) geschrieben werden sollen;
  • -m Minuten- Wenn sysklogd ohne diese Option ausgeführt wird, werden alle 20 Minuten Nachrichten der Mark-Kategorie in das Protokoll geschrieben. Mit der Option -m können Sie entweder den Abstand zwischen den Markierungen ändern oder die Ausgabe solcher Nachrichten vollständig abbrechen;
  • -p-Socket- Festlegen eines alternativen UNIX-Sockets (anstelle des Standard-Listenings /dev/log);
  • -R- Erlaubnis, Nachrichten von Remote-Hosts zu empfangen;
  • -X- Verbot der Bestimmung eines Hostnamens anhand seiner Adresse, um ein Einfrieren zu verhindern, wenn auf demselben Host mit einem DNS-Server gearbeitet wird.
  • -v- Version zeigen und Arbeit beenden

Nach dem Start des syslogd-Daemons wird eine Statusdatei erstellt /var/lock/subsys/syslog die Länge Null und eine Datei mit einer Prozessidentifikationsnummer /var/run/syslogd.pid.

Verwenden des Befehls
kill -SIGNAL `cat /var/run/syslogd.pid`

Können Sie senden syslogd-Daemon eines der folgenden Signale: SEUFZEND- Starten Sie den Daemon neu. SIGTERM- Abschluss der Arbeit; SIGUSR1- Debugging-Modus aktivieren/deaktivieren.

Tatsächlich laufen auf dem System zwei Protokollierungsdämonen: syslogd Und klogd. Beide Daemons sind im Paket enthalten sysklogd.

Dämon klogd ist für die Protokollierung von Ereignissen verantwortlich, die in auftreten Systemkern. Die Notwendigkeit eines separaten klogd-Daemons besteht darin, dass der Kernel die Standard-Syslog-Funktion nicht verwenden kann. Tatsache ist, dass die Standard-C-Bibliotheken (einschließlich der Bibliothek, in der sich die Syslog-Funktion befindet) nur zur Verwendung vorgesehen sind regelmäßige Bewerbungen. Da der Kernel auch Protokollierungsfunktionen benötigt, enthält er eigene Bibliotheken, die Anwendungen nicht zur Verfügung stehen. Daher verwendet der Kernel einen eigenen Mechanismus zur Nachrichtengenerierung.

Dämon klogd soll die Verarbeitung dieser Nachrichten organisieren. Prinzipiell könnte es diese Verarbeitung völlig eigenständig und unabhängig von syslogd durchführen, beispielsweise indem es diese Nachrichten in einer Datei protokolliert, in den meisten Fällen wird jedoch die Standardeinstellung von klogd verwendet, bei der alle Nachrichten vom Kernel an dasselbe syslogd weitergeleitet werden Daemon.

Automatische Rotation (Aktualisierung abgeschlossener Dateien) und Archivierung von Protokollen

Mit der Zeit nimmt die Protokolldatei tendenziell zu, insbesondere wenn ein Dienst intensiv ausgeführt wird. Dementsprechend ist es notwendig, die Größe der Protokolle steuern zu können. Dies geschieht mit logrotate-Befehle, was normalerweise durchgeführt wird Cron-Daemon. In den folgenden Artikeln werde ich über die Arbeit von Cron sprechen. Das Hauptziel logrotate-Befehle besteht darin, die Protokolle regelmäßig zu sichern und neue saubere Protokolle zu erstellen. Es werden mehrere Protokollgenerationen gespeichert. Wenn das Protokoll der letzten Generation das Ende seiner Lebensdauer erreicht, kann es archiviert (komprimiert) werden. Das Ergebnis kann beispielsweise per Post an die für die Archivierung zuständige Person gesendet werden.

Um die Reihenfolge der Rotation und Archivierung von Protokollen zu bestimmen, verwenden Sie Konfigurationsdatei /etc/logrotate.conf . Sie können für verschiedene Protokolle unterschiedliche Häufigkeiten festlegen, z. B. täglich, wöchentlich oder monatlich, Sie können auch die Anzahl der akkumulierten Generationen steuern und festlegen, ob und wann Kopien der Archive an den Archivmanager gesendet werden. Unten dargestellt Beispieldatei /etc/logrotate.conf:

# zuerst werden die Standardparameter festgelegt (globale Optionen) # Protokolldateien wöchentlich aktualisieren wöchentlich # ein Archiv der Protokolle der letzten 4 Wochen speichern 4 drehen # nach Rotation eine neue (leere) Datei erstellen (Update) erstellen # Kommentar entfernen, wenn Sie möchten Gespeicherte Dateien wurden komprimiert #compress # Rotationseinstellungen aus dem angegebenen Verzeichnis aktivieren include /etc/logrotate.d # wtmp oder btmp nicht speichern – Protlauten wie folgt: /var/log/wtmp (missingok monatlich erstellen 0664 Root-UTMP-Rotation 1) / var/log/btmp (missingok monatlich erstellen 0664 Root-UTMP-Rotation 1) # Spezifische Syslogs können unten konfiguriert werden

Globale Optionen werden am Anfang platziert logrotate.conf-Datei. Sie werden standardmäßig verwendet, sofern nicht an anderer Stelle etwas Spezifischeres angegeben ist. Im Beispiel werden die Protokolle gedreht wöchentlich und Backups werden aufbewahrt vier Wochen Sobald das Journal rotiert wird, wird automatisch ein neues anstelle des alten Journals erstellt. logrotate.conf-Datei kann Angaben aus anderen Dateien enthalten. Es umfasst also alle Dateien aus dem Verzeichnis /etc/logrotate.d.

Dieses Beispiel enthält auch spezielle Regeln für /var/log/wtmp Und /var/log/btmp(Speichern von Informationen über erfolgreiche und fehlgeschlagene Anmeldeversuche im System), die monatlich rotieren. Wenn Dateien fehlen, wird keine Fehlermeldung generiert. Es wird eine neue Datei erstellt und nur ein Backup gespeichert.

Wenn in diesem Beispiel das Backup die letzte Generation erreicht, wird es gelöscht, da nicht festgelegt ist, was damit geschehen soll.

Protokollsicherungen können auch erstellt werden, wenn Protokolle eine bestimmte Größe erreichen, und Skripte können aus Befehlssätzen erstellt werden, die vor oder nach einem Sicherungsvorgang ausgeführt werden. Beispiel:

/var/log/messages (rotate 5 mail logadmin@sysloger size 100k postrotate /usr/bin/killall -HUP syslogd endscript )

In diesem Beispiel die Rotation /var/log/messages wird erstellt, wenn die Größe 100 KB erreicht. Es werden fünf Backups gesammelt und wenn das älteste Backup abläuft, wird es per E-Mail an logadmin@sysloger gesendet. Das Befehlswort „postrotate“ aktiviert ein Skript, das den syslogd-Daemon nach Abschluss der Rotation durch Senden eines HUP-Signals neu startet. Das Befehlswort „endscript“ ist erforderlich, um das Skript zu beenden, und auch, wenn ein Vorrotationsskript vorhanden ist. Weitere Informationen finden Sie in den Manpages für logrotate.

Optionen in der Konfigurationsdatei angegeben logrotate.conf:

  • Kompresse| nocompress(Ältere Versionen können mit gzip komprimiert werden oder nicht)
  • compresscmd(Gibt das Komprimierungsprogramm an, Standard ist gzip)
  • uncompresscmd(Gibt das Dekomprimierungsprogramm an, Standard ist ungzip)
  • compressext(gibt das Suffix für komprimierte Dateien an)
  • Komprimierungsoptionen(legt die Parameter des Komprimierungsprogramms fest; Standard ist „-9“, d. h. maximale Komprimierung für gzip)
  • kopieren, abschneiden| nocopytruncate(Normalerweise wird die alte Version umbenannt und eine neue Version des Protokolls erstellt. Wenn dieser Parameter festgelegt ist, kopiert logrotate das Protokoll in eine neue Datei und schneidet dann die alte ab. Wird verwendet, wenn das Programm, das das Protokoll erstellt hat, nicht weiß, wie um es zu schließen; Einträge, die in der Zeitspanne zwischen Kopieren und Abschneiden gemacht wurden, gehen verloren; aber würde es helfen, wenn das Programm, das das Protokoll erstellt, statt im Anhängemodus einfach mit einem internen Zeiger in eine Datei schreibt?)
  • erstellen[Berechtigungsbesitzergruppe] | nocreate(Unmittelbar nach dem Umbenennen der alten Version des Protokolls und vor dem Aufruf von postrotate wird ein neues Protokoll mit den angegebenen Attributen erstellt. Die Zugriffsrechte werden wie in chmod.2 in oktaler Form festgelegt. Wenn die Attribute nicht angegeben sind, werden sie übernommen aus dem alten Protokoll)
  • täglich(Versionen in der Serie ändern sich täglich)
  • Verzögerungskomprimieren| nodelaycompress(Einige Programme schließen das Journal nicht sofort. In diesem Fall muss die Komprimierung auf den nächsten Zyklus verschoben werden.)
  • FehlerEmail(an wen Fehlerberichte gesendet werden sollen)
  • VerlängerungSuffix(setzt das Suffix, das den Dateinamen während der Rotation hinzugefügt wird, vor dem Komprimierungssuffix fest)
  • wennleer| notifempty(Versionen ändern, auch wenn die Datei leer ist; Standard)
  • enthaltenDateiname| Verzeichnisname (textuell eine Datei oder alle Dateien aus dem angegebenen Verzeichnis ersetzen; Unterverzeichnisse, spezielle Dateien und Dateien mit Suffixen aus der Ausschlussliste sind nicht enthalten; können nicht innerhalb eines Abschnitts verwendet werden)
  • PostAdresse| nomail(Bei einem Versionswechsel ist es erforderlich, das alte Journal zu löschen und anschließend an die angegebene Adresse zu senden.)
  • mailfirst(nicht die gelöschte Version des Protokolls senden, sondern die erste)
  • maillast(gelöschte Protokollversion senden; Standard)
  • fehltok| nomissingok(Keine Fehlermeldungen senden, wenn das Protokoll fehlt)
  • monatlich(Versionen ändern sich monatlich)
  • altes VerzeichnisVerzeichnis| noolddir(bei einem Versionswechsel wird das Protokoll in das angegebene Verzeichnis verschoben; es muss sich auf demselben physischen Gerät befinden)
  • nachrotieren(alle weiteren Zeilen bis zur Endscript-Zeile werden nach dem Versionswechsel als Shell-Befehle ausgeführt)
  • vordrehen(alle weiteren Zeilen bis zur Endscript-Zeile werden vor dem Versionsänderungsprozess ausgeführt)
  • drehenNummer(wie viele alte Versionen gespeichert werden sollen; wenn 0, dann keine)
  • GrößeByte(Eine Versionsänderung erfolgt, wenn die Protokollgröße die angegebene Zahl überschreitet; Sie können die Suffixe „k“ – Kilobyte – und „M“ – Megabyte verwenden)
  • Sharedscripts| nosharedscripts(Führen Sie die Befehle prerotate und postrotate nur einmal für alle im Abschnitt beschriebenen Dateien aus.)
  • tabuext[+] Suffixliste(Angabe einer Liste von Ausschlusssuffixen für include; wenn ein Pluszeichen angegeben ist, dann Addition, andernfalls Ersetzung; Standard: .rpmorig, .rpmsave, .rpmnew, „,v“, .swp und „~“)
  • wöchentlich(Versionen ändern sich wöchentlich)

Protokolle untersuchen und überwachen

Protokolleinträge enthalten normalerweise einen Zeitstempel, den Namen des Hosts, auf dem der beschriebene Prozess ausgeführt wird, und den Namen des Prozesses. Protokolle anzeigen Sie können zum Beispiel ein Pager-Programm verwenden, weniger können Sie mit dem Befehl nach bestimmten Einträgen suchen (z. B. Kernel-Nachrichten von einem bestimmten Daemon). grep:

# less /var/log/messages # grep "ppp" /var/log/messages | tail 17. Dezember 16:34:25 Proxy pppd: Verbindung beendet. 17. Dez. 16:34:25 Proxy pppd: Beenden. 17. Dezember 16:35:57 Proxy pppd: LCP durch Peer beendet (^P]kV^@

Der Computer funktioniert möglicherweise nicht ständig und schaltet sich beispielsweise nachts aus. Daher werden Einträge in /var/log/messages zyklisch vom Starten des Computers bis zum Herunterfahren gespeichert. Dies ist in den Meldungen zu sehen:

17. Dezember 08:32:56 Syslog-Server Syslogd 1.4-0: Neustart. 17. Dez. 08:32:56 Syslog-Server-Syslog: Starten von Syslogd erfolgreich 17. Dez. 08:32:56 Syslog-Server-Kernel: klogd 1.4-0, Protokollquelle = /proc/kmsg gestartet. 17. Dez. 08:32:56 Syslog-Server Syslog: Start von klogd erfolgreich

17. Dez. 08:32:56 Syslog-Server-Kernel: Kernel-Befehlszeile: auto BOOT_IMAGE=linux ro root=303 BOOT_FILE=/boot/vmlinuz-2.4.2-2 17. Dez. 08:32:56 Syslog-Server-Kernel: Speicher: 125652k/130560k verfügbar (1365k Kernel-Code, 4200k reserviert, 92k Daten, 236k Init, 0k Highmem) 17. Dez. 08:32:56 Syslog-Server-Kernel: CPU: Intel(R) Pentium(R) 4 CPU 1,60 GHz Stepping 02

Außerdem finden Sie in dieser Datei Informationen zum Festplattenspeicher (einschließlich Informationen zur Festplattengeometrie, Partitionsstruktur und verwendeten Interrupts), Informationen zu Peripheriegeräten, zum Start einzelner Dienste, Informationen zum Verbinden von Dateisystemen und Meldungen zu Benutzeranmeldungen sowie Fehlermeldungen.

Manchmal kann es notwendig sein Überwachung von Systemprotokollen um nach aktuellen Ereignissen zu suchen. Sie können beispielsweise versuchen, ein selten auftretendes Ereignis in dem Moment zu erfassen, in dem es auftritt. In diesem Fall können Sie den Befehl verwenden Schwanz mit Option -F um den Inhalt des Systemprotokolls zu überwachen. Beispiel:

# tail -f /var/log/messages | grep syslog-server 17. Dezember 16:46:09 syslog-server pppd: pptpd-logwtmp.so ip-up ppp0 maikop 94.77.0.150 17. Dezember 16:46:09 syslog-server pppd: Skript /etc/ppp/ip-up beendet (PID 12552), Status = 0x0 17. Dez. 16:46:49 Syslog-Server pptpd: STRG: Client 85.175.197.65 Steuerverbindung gestartet 17. Dez. 16:46:49 Syslog-Server pptpd: STRG: Aufruf wird gestartet (Start von pppd, Eröffnung von GRE) 17. Dezember 16:46:49 Syslog-Server pppd: Plugin /usr/lib/pptpd/pptpd-logwtmp.so geladen.

Zusätzlich zu den in /etc/syslog.conf angegebenen Protokolldateien gibt es noch weitere Dateien, beispielsweise eine Datei, die Informationen über den Systemstartvorgang vor dem Start von syslogd speichert, sowie Dateien, die ein Binärformat haben und Informationen speichern über den letzten angemeldeten Benutzer im System, über alle erfolgreichen Benutzeranmeldungen bzw. alle erfolglosen Benutzeranmeldungen. Auch im Verzeichnis /var/log/ befinden sich möglicherweise Protokolldateien von Daemons wie einem Webserver oder einem Proxyserver. Das Format dieser Dateien ähnelt den syslogd-Protokollen.

Abschließend möchte ich betonen, dass dieses Protokoll nicht sehr sicher ist, weil Syslog enthält keinen Schutz gegen Nachrichtenfälschung. Schlimmer noch: Die Verwendung des UDP-Protokolls ermöglicht es Angreifern, Nachrichten im Namen eines beliebigen Hosts zu senden. Ihr lokales Netzwerk sollte vor dem Empfang von Paketen mit gefälschten lokalen Adressen (obwohl dies Sie nicht daran hindert, gefälschte Nachrichten aus dem lokalen Netzwerk zu senden) und vor dem Empfang von Paketen von außerhalb auf Port 514/udp geschützt werden. Es sind Fälle von Festplattenüberlauf mit falschen Meldungen bekannt.

Die Protokolle Syslog und UDP bieten keine garantierte Zustellung (Nachrichten können aufgrund von Netzwerküberlastung verloren gehen oder abgefangen werden, beschädigte Nachrichten werden ohne Vorwarnung gelöscht), keine korrekte Zustellungsreihenfolge (eine Nachricht über den Abschluss eines Prozesses kann vor der Nachricht über seinen Start eintreffen). ) oder Priority-Lieferung.

Die Vertraulichkeit der Nachrichten ist nicht gewährleistet, da diese im Klartext übermittelt werden.

Wenn Sie beim Einrichten eines Nachrichtengenerators eine falsche Collector- oder Relay-Adresse angeben, werden keine Fehlermeldungen angezeigt – die Nachrichten werden gelöscht (oder in das Protokoll einer anderen Person geschrieben).

Es wurden mehrere Projekte zur Verbesserung des Syslog-Protokolls vorgeschlagen. Beispielsweise schlägt RFC 3195 ein TCP-basiertes Protokollierungssystem (syslog-conn) vor, das sicherstellt, dass Nachrichten in der richtigen Reihenfolge übermittelt werden. Das Syslog-Sign-Projekt schlägt vor, Authentifizierung, Reihenfolge, Nachrichtenintegrität und Erkennung fehlender Nachrichten bereitzustellen, indem spezielle Nachrichten generiert werden, die eine digitale Signatur eines Blocks früherer Nachrichten enthalten, das Standard-Syslog-Protokoll und -Format beibehalten und UDP verwendet.

Fassen wir zusammen:

Linux verfügt über einen einzigen Daemon, der für die Protokollierung von Ereignissen auf dem lokalen System und auf Remote-Systemen verantwortlich ist. Alle Ereignisse werden vom /dev/log-Socket, UDP-Port – 514, sowie vom „Helfer“ – dem klogd-Daemon, gesammelt, der Nachrichten vom Kernel sendet. Alle gesammelten Nachrichten werden vom syslogd-Daemon anhand von Regeln in der Datei /etc/syslog.conf gefiltert und gemäß den Regeln an die entsprechenden Ziele verteilt. Protokolldateien werden regelmäßig gekürzt. Die Häufigkeit wird durch die Datei logrotate.conf und den Befehl logrotate bestimmt, der vom Systemplaner cron gestartet wird.

Das ist alles für heute. Ich hoffe, ich habe alles so klar wie möglich beschrieben. Ich werde den Artikel im Laufe der Zeit ergänzen!

Beste Grüße, McSim!



Freunden erzählen