Zugriffsprotokoll Ubuntu, wie man es öffnet. Linux-Systemprotokolle (Protokollierungsverwaltung). Exim-Protokolldateien

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

Die Protokolldatei (Protokolldatei) speichert, wie Sie wahrscheinlich vermutet haben, die Chronologie der Ereignisse für den Operationssaal Linux-Systeme, seine Anwendungen und Dienste.

Dateien werden im Klartext gespeichert, um sie leichter lesbar zu machen. In unserem Artikel verraten wir Ihnen, wo Sie Protokolldateien finden, geben Beispiele für einige wichtige Protokolldateien und erklären, wie Sie diese lesen.

Wo befinden sich die Protokolldateien unter Linux?

Linux-Protokolldateien werden normalerweise im Ordner /var/logs gespeichert.

Der Ordner speichert eine große Anzahl von Dateien, aus denen Sie Informationen für jede Anwendung erhalten können.

Zum Beispiel, wenn der Befehl ls wird beispielsweise im Ordner /var/logs ausgeführt, hier sind einige verfügbare Protokolle:

  • kern.log
  • auth.log
  • bootstrap.log
  • alternatives.log
  • Samba
  • lichtdm

Bei den letzten drei dieser Liste handelt es sich um Ordner, die jedoch auch Protokolldateien enthalten.

Da Protokolldateien im Textformat vorliegen, können sie durch Eingabe des folgenden Befehls gelesen werden:

Der obige Befehl öffnet die Protokolldatei im Nano-Editor. Wenn die Protokolldatei klein ist, gibt es nichts Besseres, als die Protokolldatei in einem Editor zu öffnen. Wenn die Protokolldatei jedoch groß ist, interessiert Sie wahrscheinlich nur das Ende des Protokolls.

Mit der Option -n können Sie wie folgt angeben, wie viele Zeilen angezeigt werden sollen:

Wenn Sie den Anfang der Datei sehen möchten, können Sie den Befehl head verwenden.

Grundlegende Systemprotokolle

Die folgenden Protokolldateien sind die wichtigsten unter Linux.

  • Anmeldeprotokoll
  • Dämonentagebuch
  • Austestungsprotokoll
  • Kernel-Protokoll
  • Systemprotokoll

Das Daemon-Protokoll (daemon.log) verfolgt im Hintergrund laufende Dienste, die wichtige Aufgaben ausführen. Dämonen werden im Allgemeinen nicht auf dem Bildschirm gezeigt.

Das Debug-Protokoll stellt Debug-Ausgaben für Anwendungen bereit.

Das Kernel-Protokoll enthält detaillierte Informationen zum Linux-Kernel.

Das Syslog enthält die meisten Informationen über Ihr System. Sofern eine Anwendung nicht über ein eigenes Protokoll verfügt, befinden sich die Einträge wahrscheinlich in dieser Protokolldatei.

Analysieren des Inhalts von Protokolldateien

Das Bild oben zeigt den Inhalt der letzten 50 Dateien in der Systemprotokolldatei (Syslog).

Jede Protokollzeile enthält die folgenden Daten:

  • Hostname
  • Service/Anwendung
  • Nachricht

Ein Beispiel für eine der Zeilen in der Syslog-Datei:

20. Januar 12:28:56 Gary-Virtualbox Systemd: Cup-Planer wird gestartet

Protokollrotation

Die Protokolldateien werden regelmäßig geändert, um zu verhindern, dass sie zu groß werden.

Das Dienstprogramm zum Rotieren von Protokollen ist für das Rotieren von Protokolldateien verantwortlich. Sie können erkennen, dass das Protokoll ersetzt wurde, weil sein Name eine Nummer wie auth.log.1, auth.log.2 enthält.

Sie können die Häufigkeit der Protokollrotation ändern, indem Sie die Datei /etc/logrotate.conf bearbeiten.

Nachfolgend finden Sie ein Beispiel für Einträge aus der Datei logrotate.conf:

#Protokolldateien rotieren
wöchentlich

#Protokolldateien im Wert von 4 Wochen aufbewahren

Erstellen Sie nach dem Rotieren neue Protokolldateien

Wie Sie sehen, ändern sich diese Protokolldateien jede Woche, und es können Protokolldateien im Umfang von vier Wochen gleichzeitig gespeichert werden.

Wenn eine Protokolldatei ersetzt wird, wird an ihrer Stelle eine neue Datei erstellt.

Jede Anwendung kann ihre eigene Rotationsrichtlinie haben. Dies ist auf jeden Fall nützlich, da die Syslog-Datei schneller wächst als die Cups-Protokolldatei.

Rotationsrichtlinien werden in /etc/logrotate.d gespeichert. Für jede Anwendung, die eine eigene Rotationsrichtlinie erfordert, wird eine Konfigurationsdatei im Anwendungsordner gespeichert.

Das apt-Tool enthält beispielsweise eine Datei im Ordner logrotate.d mit folgendem Inhalt:

/var/log/apt/history.log (
drehen 12
monatlich
Kompresse
fehltok
notifempty
}

Im Wesentlichen sagt Ihnen dieses Protokoll Folgendes. Das Protokoll speichert die Protokolldateien 12 Wochen lang und ändert sich jeden Monat (eine pro Monat). Die Protokolldatei wird komprimiert. Wenn keine Meldungen in das Protokoll geschrieben werden (es also leer ist), ist dies normal. Das Protokoll wird nicht durch ein neues ersetzt, wenn es leer ist.

Um die Richtlinie einer Datei zu ändern, ersetzen Sie deren Einstellungen durch die gewünschten und führen Sie dann den folgenden Befehl aus:

Einen Tippfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg + Eingabetaste

Protokolldateien auf einem Linux-System verwalten

Linux-Protokolldateien

Alle Linux-Systeme generieren Systemprotokolle, die überprüft werden können, um Informationen über Ihr laufendes System zu finden. Diese Protokolldateien können eine Fülle von Informationen enthalten, von einfachen Informationsmeldungen bis hin zu kritischen Systemproblemen. Die meisten der erstellten Protokolldateien liegen im Klartext vor. Dies bedeutet, dass Sie diese ganz einfach mit Standardbefehlen wie „more“, „less“, „cat“, „head“, „tail“, „pg“ oder mit Ihrem bevorzugten Texteditor wie „vi“ anzeigen können vim".


Konventionsgemäß befinden sich die meisten der erstellten Protokolldateien im Verzeichnis „/var/log/“. Dies ist ein Standardbereich, in dem Systemmeldungen protokolliert/aufgezeichnet werden. Abhängig davon, welche Linux-Distribution Sie verwenden, verfügen Sie wahrscheinlich über eine „Nachrichten“-Datei oder eine „Syslog“-Datei, die die letzten Aktivitäten enthält. Protokolldateien werden im Allgemeinen entweder von einem „syslogd“- oder „rsyslogd“-Protokollierungsdämon erstellt. Diese Dämonen sind hochgradig konfigurierbar und können Nachrichten in bestimmte Dateien filtern. Neben der Verarbeitung lokaler Ereignisse ist es auch möglich, Nachrichten auf Remote-Servern zu protokollieren, die für den Empfang dieser Art von Nachrichten zuständig sind. In größeren Organisationen ist es durchaus üblich, über einen dedizierten Syslog-Server zu verfügen. Einige grundlegende Konfigurationsoptionen werden später behandelt. Es ist auch üblich, eine Art Protokollrotationsprozess durchzuführen.

Nachfolgend finden Sie eine Liste einiger der häufigsten Protokolldateien, die Sie finden. Einige davon sind vertriebsspezifisch:


Logdatei Beschreibung
/var/log/messages Hier werden globale Systemmeldungen protokolliert. (Standard-Protokollierungsbereich auf einigen Systemen)
/var/log/syslog Hier werden globale Systemmeldungen protokolliert. (Standard-Protokollierungsbereich auf einigen Systemen)
/var/log/auth.log Systemautorisierungsinformationen, einschließlich Benutzeranmeldeinformationen
/var/log/kern.log Hier werden Kernel-Meldungen protokolliert
/var/log/mail.log Enthält Protokollierungsinformationen von Ihrem Mailserver
/var/log/boot.log Hier werden Systemstartmeldungen protokolliert
/var/log/cups.log Druckerbezogene Meldungen werden hier protokolliert
/var/log/wtmp Enthält Informationen zu Benutzern, die an Ihrem System angemeldet sind
/var/log/samba Samba-Protokolldateien für smbd und nmbd. Sofern konfiguriert, können bestimmte Protokolldateien für Benutzer enthalten sein.
/var/log/dpkg.log Enthält Informationen von Installationen, die dpkg zum Installieren oder Entfernen eines Pakets verwenden
/var/log/zypper.log Enthält Nachrichten vom Zipper-Paketmanager-Tool
/var/log/apt Enthält Informationen von Paketaktualisierungen, die APT verwenden
/var/log/dmesg Enthält Kernel-Ringpuffernachrichten

Obwohl das Obige keine erschöpfende Ansicht aller Dateien ist, die im Bereich „/var/log“ zu finden sind. Es gibt Ihnen eine ungefähre Vorstellung davon, was protokolliert wird. Es ist wichtig zu bedenken, dass viele Produkte (Software) von Drittanbietern ebenfalls in diesen Bereich schreiben. Oft wird ein Unterverzeichnis erstellt, in dem verschiedene Protokollinformationen gespeichert sind. Samba ist ein gutes Beispiel dafür.

Wie bereits erwähnt, ist es der Daemon „syslogd“ oder „rsyslogd“, der den Großteil der Protokollierung auf Ihren Systemen übernimmt.

rsyslogd – Protokollierungsdienstprogramm

Rsyslogd ist eine zuverlässige erweiterte Version des syslogd-Dienstes. Linux verwendet rsyslogd als Mechanismus, um Protokolldateien entweder in einem zentralen Bereich aufzuzeichnen oder der Übersichtlichkeit halber in separate Verzeichnisse aufzuteilen. Es ist auch möglich, Informationen an einen dedizierten Protokollierungsserver zu senden. Mehrere Prozesse können in denselben Bereich schreiben, ohne dass es zu einer Dateisperre kommt. Einfache Befehle können direkt aus Skripten verwendet werden, um in diesen Bereich zu schreiben.

Konfigurationsdateien

Wie sich rsyslogd auf Ihrem System verhält, hängt von seiner Konfiguration ab. Diese Datei befindet sich im Allgemeinen in „/etc/rsyslog.conf“. Diese Datei enthält Text, der beschreibt, was mit Nachrichten geschehen soll, wenn sie protokolliert werden. Hier können Sie bestimmte Verzeichnisse für bestimmte Nachrichtentypen angeben. Standardprotokollierungsregeln befinden sich im Allgemeinen unter „/etc/rsyslog.d/“.

Beispiel für rsyslogd.conf unter Ubuntu

/etc/rsyslog.conf


# Standardprotokollierungsregeln finden Sie in /etc/rsyslog.d/50-default.conf ################# #### MODULE #### #### ############# $ModLoad imuxsock # bietet Unterstützung für die lokale Systemprotokollierung. $ModLoad imklog # bietet Unterstützung für die Kernel-Protokollierung (zuvor von rklogd durchgeführt). #$ModLoad immark # bietet --MARK-- Nachrichtenfunktion # Bietet UDP-Syslog-Empfang #$ModLoad imudp #$UDPServerRun 514 # Bietet TCP-Syslog-Empfang #$ModLoad imtcp #$InputTCPServerRun 514 ####################### ### #### GLOBALE RICHTLINIEN #### ########################### # # Verwenden Sie das traditionelle Zeitstempelformat. # Um hochpräzise Zeitstempel zu aktivieren, kommentieren Sie die folgende Zeile aus. # $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Duplizierte Nachrichten filtern $RepeatedMsgReduction auf # # Standardberechtigungen für alle Protokolldateien festlegen. # $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $PrivDropToUser syslog $PrivDropToGroup syslog # # Wo Spooldateien abgelegt werden sollen # $WorkDirectory /var/spool/rsyslog # # Alle Konfigurationsdateien in /etc/rsys-Protokoll einschließen . d/ # $IncludeConfig /etc/rsyslog.d/*.conf

Hashes „#“ werden verwendet, um einen Kommentar zu kennzeichnen oder eine Funktion auszukommentieren, die nicht benötigt wird.
Beachten Sie die letzte Zeile $IncludeConfig /etc/rsyslog.d/*.conf. Hier können wir benutzerdefinierte Regeln/Zuordnungen festlegen.


# Standardregeln für rsyslog. # # Weitere Informationen finden Sie unter rsyslog.conf(5) und /etc/rsyslog.conf # # Zuerst einige Standardprotokolldateien. Protokollieren Sie nach Einrichtung. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog #cron.* /var/log/cron.log #daemon.* -/var/ log/daemon.log kern.* -/var/log/kern.log #lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log #user.* -/var/ log/user.log # # Protokollierung für das Mailsystem. Teilen Sie es so auf, dass # es einfacher ist, Skripte zum Parsen dieser Dateien zu schreiben. # #mail.info -/var/log/mail.info #mail.warn -/var/log/mail.warn mail.err /var/log/mail.err # # Protokollierung für das INN-Nachrichtensystem. # news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice -/var/log/news/news.notice # # Ein „Catch-All“-Protokoll Dateien. # #*.=debug;\ # auth,authpriv.none;\ # news.none;mail.none -/var/log/debug #*.=info;*.=notice;*.=warn;\ # auth ,authpriv.none;\ # cron,daemon.none;\ # mail,news.none -/var/log/messages # # Notfälle werden an alle angemeldeten Personen gesendet. # *.emerg:omusrmsg:* # # Ich möchte, dass Nachrichten auf der Konsole angezeigt werden, aber nur auf einer virtuellen # Konsole lasse ich sie normalerweise im Leerlauf. # #daemon,mail.*;\ # news.=crit;news.=err;news.=notice;\ # *.=debug;*.=info;\ # *.=notice;*.=warn /dev /tty8 # Die benannte Pipe /dev/xconsole ist für das Dienstprogramm „xconsole“. Um es zu verwenden, # müssen Sie „xconsole“ mit der Option „-file“ aufrufen: # # $ xconsole -file /dev/xconsole [.. .] # # HINWEIS: Passen Sie die Liste unten an, sonst werden Sie verrückt, wenn Ihre Seite einigermaßen ausgelastet ist. # daemon.*;mail.*;\ news.err;\ *.=debug;*.= info;\ *.=notice;*.=warn |/dev/xconsole

Der Standardprotokollierungsbereich heißt „Syslog“, siehe unten „Ausüben“.


*.*;auth,authpriv.none -/var/log/syslog

Was sind Einrichtungen und Ebenen?

Immer wenn der rsyslogd-Daemon eine Protokollierungsnachricht empfängt, handelt er basierend auf dem Nachrichtentyp (Einrichtung) und einer Ebene (Priorität). Diese Zuordnungen können in Ihrer Datei „/etc/syslog.conf“ oder Ihren enthaltenen Dateien „/etc/syslog.d/*.conf“ eingesehen werden.

Jeder Eintrag in der Konfigurationsdatei kann einen oder mehrere Einrichtungs-/Ebenenselektoren gefolgt von einer Aktion angeben. Ein Selektor besteht aus einer oder mehreren Einrichtungen, gefolgt von einer einzelnen Aktion. Aktion ist normalerweise der Name des Verzeichnisses und der Datei, in die die Nachrichten empfangen werden sollen.

Aktion auf Einrichtungsebene

Beispiel: mail.* -/var/log/mail- Hier ist „mail“ die Einrichtung, die Ebene ist auf „*“ gesetzt und die Aktion ist „/var/log/mail“.

Einrichtung

Eine Einrichtung stellt den Ersteller der Nachricht dar. Diese besteht normalerweise aus:

auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, syslog, user, local0 - local7, " * „bezeichnet jede Einrichtung

Diese Funktionen geben uns die Möglichkeit zu steuern, wohin Nachrichten von bestimmten Quellen gesendet werden. Die Funktionen local0 - local7 dienen der Verwendung durch Ihre eigenen Skripte.

Ebene (Priorität)

Die Ebene gibt den Schweregradschwellenwert an. Dies können sein: (niedrigste Priorität zuerst)

Debuggen, Info, Hinweis, Warnung, Irrtum, Krit, Alarm, Notfall.

Auf älteren Systemen wird möglicherweise „Warnung, Fehler oder Panik“ angezeigt. Ein Niveau von keiner deaktiviert die zugehörige Funktion. Diese Prioritäten steuern die Detailgenauigkeit, die an jede Protokolldatei gesendet wird. Ein einzelner Punkt „.“ trennt die Anlage von der Ebene. Zusammen sind diese als bekannt Nachrichtenauswahl . Ein Sternchen“ * „ kann verwendet werden, um alle Einrichtungen oder Ebenen anzugeben. Ähnlich wie bei Einrichtungen können die Platzhalter „*“ zusammen mit „none“ verwendet werden. Mit jedem Selektor darf nur eine Ebene oder ein Platzhalter angegeben werden. Die folgenden Modifikatoren können verwendet werden „ = " Und " ! "

Wenn Sie nur eine Ebene innerhalb eines Selektors ohne Modifikatoren angeben, geben Sie tatsächlich diese Ebene plus alle anderen Prioritäten an. Zum Beispiel der Selektor user.notice bedeutet eigentlich, dass alle benutzerbezogenen Nachrichten mit einer Benachrichtigungsstufe oder höher an die angegebene Adresse gesendet werden Aktion Bereich. Wenn Sie nur ein Maß an „Benachrichtigung“ benötigen, müssen Sie die Option „ = " Modifikator:

user.=Hinweis– Bedeutet jetzt, dass alle benutzerbezogenen Nachrichten mit der Prioritätsebene „Benachrichtigung“ nur an den entsprechenden Protokollierungsbereich gesendet werden.

Wenn Sie das „ ! "-Modifikator, dadurch wird Ihre Level-Priorität negiert. Wenn wir also angegeben haben Benutzer.!Hinweis ist das Äquivalent aller benutzerbezogenen Nachrichten mit der Prioritätsstufe „Hinweis“ oder höher. Sie können auch angeben Benutzer.!=Hinweis die alle benutzerbezogenen Nachrichten angeben, mit Ausnahme derjenigen mit der Ebenenpriorität „Hinweis“.

Aktionen

Der Aktionsabschnitt ist der Ziel für Die Nachrichten. Der Aktion kann ein Dateiname wie „/var/log/syslog“ oder ein Hostname oder eine IP-Adresse mit dem Präfix „@“ sein. Letztere Option ist in großen Organisationen und Unternehmen beliebt. Sehr oft werden sicherheitsrelevante Nachrichten zur weiteren Untersuchung an einen zentralen Protokollierungsserver gesendet.

rsyslog.conf-Strukturen

Da rsyslogd eine erweiterte Version von syslogd ist, kann es die älteren Konstrukte im Legacy-Stil verarbeiten, die als bekannt sind sysklogd. Es verarbeitet auch ältere Versionen von rsyslog. Die wahre Leistungsfähigkeit von rsyslog kommt jedoch zum Tragen, wenn Sie das verwenden, was als „ RainerScript". Das ist das neue Stilformat für rsyslog, das komplexe Fälle problemlos verarbeiten kann. Im folgenden Beispiel sehen Sie alte Formateinträge sowie neuere Einträge, die „Wenn-Dann“-Konstrukte für eine präzisere Handhabung verwenden.

Beispielabschnitt von „/etc/rsyslog.conf aus openSUSE


# # NetworkManager in separate Datei kopieren und deren weitere Verarbeitung stoppen # if ($programname == "NetworkManager") or \ ($programname getswith "nm-") ​​\ then -/var/log/NetworkManager & ~ # # email- Nachrichten # mail.* -/var/log/mail mail.info -/var/log/mail.info mail.warning -/var/log/mail.warn mail.err /var/log/mail.err # # Nachrichten -messages # news.crit -/var/log/news/news.crit news.err -/var/log/news/news.err news.notice -/var/log/news/news.notice

Nachrichtentest mit dem Logger-Befehl

Logger ist eine Shell-Befehlsschnittstelle zum Syslog-Modul. Mit Logger können Sie Einträge direkt in das Systemprotokoll vornehmen. Dies ist sehr nützlich, wenn Sie es in ein Skript integrieren oder wenn Sie Ihre Nachrichtenauswahl und -zuordnungen testen möchten.

In seiner einfachsten Form können wir es ausgeben Logger „Ich bin ein Test“. Diese Nachricht würde dann in unseren Standardbereich gehen (wahrscheinlich /var/log/syslog oder /var/log/messages), je nachdem, wie Sie Ihre Regeln konfiguriert haben. Sie können auch eine Priorität angeben, indem Sie die Option „-p“ oder „--priority“ verwenden. Beispiele für Logger-Aktionen:


john@john-desktop:/var/log$ logger „Ich bin ein Test von logger“ 22. März 22:39:51 john-desktop Kernel: [9588.319477] dev_remove_pack: edad0884 nicht gefunden. 22. März 22:45:01 john-desktop CRON: (root) CMD (Befehl -v debian-sa1 > /dev/null && debian-sa1 1 1) 22. März 22:47:31 john-desktop John: Ich bin ein Test des Loggers

Grundlegende Logger-Nutzung

Verwendung: Logger Optionen: -d, --udp UDP verwenden (TCP ist Standard) -i, --id auch die Prozess-ID protokollieren -f, --file Protokollieren Sie den Inhalt dieser Datei. -h, --help zeigt diesen Hilfetext an und beendet -n, --server Schreiben Sie auf diesen Remote-Syslog-Server -P, --port Verwenden Sie diesen UDP-Port -p, --priority Markieren Sie die angegebene Nachricht mit dieser Priorität -s, --stderr, geben Sie die Nachricht auch in den Standardfehler aus -t, --tag Markieren Sie jede Zeile mit diesem Tag -u, --socket Schreiben Sie in diesen Unix-Socket -V, --version gibt Versionsinformationen aus und beendet den Vorgang

Hilfe zu Rsyslog erhalten

Das Obige dient als Überblick über die Prozesse, die für die Protokollierung von Nachrichten ablaufen. Für weitere Informationen können Sie „man rsyslogd“ von Ihrer Konsole aus eingeben, um einen Überblick über die vielen Optionen zu erhalten. Weitere Informationen finden Sie auf der Hauptwebsite von „rsyslog“: www.rsyslog.com

dmesg

„dmesg“ ist ein spezieller Befehl, der für Display Message steht. dmesg zeigt den Nachrichtenpuffer des Kernels an. dmesg ist sehr nützlich, wenn Sie die Meldungen anzeigen möchten, die während des Startvorgangs schnell über Ihren Bildschirm hinweggeflogen sind. Ein weiterer nützlicher Trick besteht darin, die Ausgabe des Befehls dmesg in eine temporäre Datei umzuleiten: dmesg > /tmp/temp.txt.

dmesg ist auch nützlich, wenn Sie Probleme mit einem E/A-Gerät oder einem „USB“-Gerät haben. dmesg kann in Kombination mit dem grep-Befehl verwendet werden, um schnell genau das zu finden, wonach Sie suchen: dmesg | grep -i usb

Grundlegende Übersicht über dmesg

Verwendung: dmesg Optionen: -C, --clear den Kernel-Ringpuffer löschen -c, --read-clear alle Nachrichten lesen und löschen -D, --console-off das Drucken von Nachrichten auf der Konsole deaktivieren -d, --show-delta Zeitdifferenz zwischen gedruckten Nachrichten anzeigen -E, --console-on Drucken von Nachrichten auf der Konsole aktivieren -f, --facility Beschränken Sie die Ausgabe auf definierte Funktionen. -h, --help zeigt diese Hilfe an und beendet sie. -k, --kernel zeigt Kernel-Meldungen an -l, --level Beschränken Sie die Ausgabe auf definierte Ebenen -n, --console-level Legen Sie die Ebene der auf der Konsole gedruckten Nachrichten fest. -r, --raw Gibt den Rohnachrichtenpuffer aus -s, --buffer-size Puffergröße zum Abfragen des Kernel-Ringpuffers -T, --ctime zeigt einen für Menschen lesbaren Zeitstempel an (könnte ungenau sein, wenn Sie SUSPEND/RESUME verwendet haben) -t, --notime druckt keine Zeitstempel für Nachrichten -u, --userspace zeigt den Benutzerbereich an Nachrichten -V, --version Versionsinformationen ausgeben und beenden -x, --decode Dekodierfunktion und Ebene in lesbaren String Unterstützte Protokollfunktionen: kern – Kernel-Nachrichten Benutzer – Zufällige Nachrichten auf Benutzerebene mail – Mail-System-Daemon – System-Daemons Auth – Sicherheits-/Autorisierungsmeldungen syslog – intern von syslogd generierte Meldungen lpr – Zeilendrucker-Subsystemnachrichten – Netzwerknachrichten-Subsystem Unterstützte Protokollebenen (Prioritäten): emerg – System ist unbrauchbar Warnung – Aktion muss sofort ergriffen werden crit – kritische Bedingungen err – Fehlerbedingungen warnen – Hinweis zu Warnbedingungen – normale, aber wichtige Zustandsinformationen – informatives Debug – Meldungen auf Debug-Ebene

Wie Sie wissen, verfügt Linux über ein sehr wichtiges Tool, sysklogd, mit dem Sie ein Protokoll der im System auftretenden Ereignisse führen können. Systemadministratoren, und jeder Benutzer, der auf Fehler stößt, muss nachsehen Linux-Protokolle das Problem zu identifizieren und zu lösen.

Alle Linux-Protokolldateien befinden sich im Ordner:
/var/log

Linux-Protokolldateien:
Mitteilungen Enthält globale Linux-Systemprotokolle, einschließlich derjenigen, die beim Systemstart protokolliert werden.
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. Die Anzahl der Nachrichten im Protokoll ist begrenzt und wenn die Datei voll ist, werden mit jeder neuen Nachricht die alten überschrieben.
auth.log Enthält Informationen zur Benutzerautorisierung im System, einschließlich der verwendeten Benutzeranmeldungen und Authentifizierungsmechanismen.
boot.log Enthält Informationen, die beim Systemstart protokolliert werden.
daemon.log Enthält Nachrichten von verschiedenen Hintergrund-Daemons
kern.log Enthält auch Meldungen vom Kernel, die bei der Fehlerbehebung in benutzerdefinierten Modulen, die in den Kernel integriert sind, nützlich sind.
letztes Protokoll Zeigt Informationen zur letzten Sitzung aller Benutzer an. Dies ist eine Nicht-Textdatei und Sie müssen den Befehl lastlog verwenden, um sie anzuzeigen.
E-Mail-Protokoll Serverprotokolle Email läuft auf dem System.
user.log Informationen aus allen Protokollen auf Benutzerebene.
Xorg.x.log X-Server-Nachrichtenprotokoll.
btmp Enthält Informationen zu fehlgeschlagenen Anmeldeversuchen.
Tassen Alle Meldungen zum Thema Drucken und Drucker.
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.
sicher Enthält Informationen zur Authentifizierung und Autorisierung.
wtmp Enthält ein Protokoll der Benutzeranmeldungen. Verwenden Sie den Befehl wtmp, um den Inhalt dieser Datei anzuzeigen.
Faillog Enthält fehlgeschlagene Anmeldeversuche. Verwenden Sie den Befehl faillog, um den Inhalt dieser Datei anzuzeigen.
mysqld.log Enthält Protokolldateien des MySQL-Datenbankservers.

Sie können Linux-Protokolle mit mehreren Konsolenprogrammen anzeigen. Im Folgenden schauen wir uns einige Beispiele an:

1. Ausgabe und Scrollen durch Text mit weniger:
weniger /var/log/messages

2. Protokolle in Echtzeit anzeigen:
tail -f /var/log/messages

3. Öffnen Sie die Datei mit cat:
cat /var/log/dmesg

4. Geben Sie die ersten 10 Zeilen aus der Datei aus:
head /var/log/dmesg

5. Geben Sie die letzten 10 Zeilen aus der Datei aus:
tail /var/log/dmesg

6. Geben Sie eine bestimmte Anzahl von Zeilen aus:
head -n3 /var/log/dmesg
Dabei ist -n3 die Anzahl der anzuzeigenden Zeilen.

7. Wir zeigen nur Fehler an:
grep -i Fehler /var/log/messages

Neben der Konsole und Texteditoren Sie können auch verwenden Grafikprogramm„System Log Viewer“, der es Ihnen in praktischer und visueller Form anzeigt Linux-Protokolle.


Beim Anzeigen von Protokolldateien (Protokolldateien) unter Linux müssen Sie manchmal neue Protokolleinträge in Echtzeit überwachen. Das heißt, Sie geben an, welche Protokolldatei (oder Dateien) Sie anzeigen und in Echtzeit auf neue Einträge in dieser Datei überwachen möchten.

Protokolldateien mit dem Befehl tail überwachen

Wenn Sie den Befehl ausführen tailFileName Ohne zusätzliche Argumente werden 10 ausgegeben letzte Zeilen Datei und der Befehl wird seine Arbeit abschließen.

Damit der Tail-Befehl kontinuierlich ausgegeben werden kann die letzten Notizen in der Datei, das heißt, wenn neue Einträge in der Datei erschienen, dann wurden die Informationen auf dem Bildschirm aktualisiert, die Option -f wird verwendet:
tail -f LogFileName

Führen Sie den Befehl tail -f aus, um die Protokolldatei /var/log/syslog auszugeben

tail -f /var/log/syslog

Da die Option genutzt wird -F , Der Tail-Befehl beendet seine Arbeit nicht, sondern wartet darauf, dass neue Einträge in der Protokolldatei erscheinen. Sobald neue Einträge zur Protokolldatei hinzugefügt werden, werden diese sofort im Terminal angezeigt.

Um die Ausführung eines Befehls zu unterbrechen, drücken Sie die Tastenkombination Strg+C

tailf-Befehl

Der Befehl tail -f entspricht dem Befehl tailf.

Verwendung:

Tailf /var/log/mylogfile.log

Ein wichtiger Unterschied zwischen dem Befehl tailf und tail -f besteht darin, dass tailf nicht auf die Datei zugreift, wenn sie nicht geändert wird. Infolgedessen wird die Dateizugriffszeit nicht aktualisiert und das System schreibt die Datei nicht kontinuierlich auf die Festplatte, wenn die Datei nicht aktualisiert wird.

Die Beschreibung des Befehls tailf weist darauf hin, dass er für die Überwachung von Protokolldateien auf Laptops nützlich ist. Dadurch wird nicht unnötig auf die Festplatte zugegriffen und die Batterielebensdauer geschont.

Schwanz -F. Wenn die Datei umbenannt oder gelöscht wurde

Normalerweise werden Protokolldateien unter Linux nicht für unbegrenzte Zeit geschrieben, da die Verwendung einer solchen Datei sonst in der Zukunft sehr unpraktisch wäre. Stattdessen kommt die sogenannte Dateirotation zum Einsatz. Wenn die Protokolldatei groß wird, wird sie entweder gelöscht oder umbenannt (erstellt). Sicherheitskopie Datei) und weitere Nachrichten werden in eine neue, leere Datei geschrieben.

Der tail-Befehl hat zwei Optionen: -f und -F

  • Falls gebraucht Option -f und die verfolgte Datei umbenannt wird, verfolgt der Befehl tail weiterhin die bereits umbenannte Datei. Team Schwanz in diesem Fall ist es an die Kennung (Inode) der Datei gebunden.
  • Falls gebraucht Option -F und die verfolgte Datei umbenannt wird, erkennt der Befehl tail dies und sobald eine neue Protokolldatei erstellt wird (mit dem Namen, den wir dem Befehl angegeben haben Schwanz), Team Schwanz beginnt mit der Verfolgung dieser neuen Datei.

Schauen wir uns ein Beispiel an.

Wir werden die Protokolldatei /var/log/apache2/error.log überwachen. Führen Sie den Tail-Befehl mit der Option -F aus

Tail -F /var/log/apache2/error.log

Wenn das System die Datei „error.log“ in „error.log.1“ verschiebt (umbenennt) und eine neue Datei „error.log“ erstellt, überwacht unser Tail-Befehl weiterhin die neue Datei „error.log“.

Wenn wir die Option in diesem Beispiel verwenden würden -F , dann würde der tail-Befehl weiterhin die Datei error.log.1 überwachen, die für uns beim Anzeigen von Protokollen in Echtzeit nicht mehr relevant ist.

Überwachen Sie mehrere Protokolldateien gleichzeitig

Der tail-Befehl unterstützt die gleichzeitige Verfolgung mehrerer Dateien. Dazu müssen Sie Dateinamen durch Leerzeichen getrennt angeben.

Tail -f /var/log/apache2/error.log /var/log/apache2/access.log

Sobald sich eine der Dateien ändert, werden der Name dieser Datei und die darin enthaltenen neuen Einträge auf dem Bildschirm angezeigt.

Für die gleichzeitige Überwachung mehrerer Protokolldateien gibt es ein sehr praktisches Multitail-Dienstprogramm

Es zeigt nicht nur Daten an, sondern erstellt für jede Datei ein eigenes Fenster (Bereich) und zeigt die Daten in diesem Fenster an. Mit seiner Hilfe ist es sehr praktisch, viele Protokolldateien gleichzeitig zu verfolgen und in einem Terminalfenster anzuzeigen.

Das Multitail-Dienstprogramm kann aus den Standard-Repositorys Ihrer Distribution installiert werden. Führen Sie zum Installieren den Befehl aus (wählen Sie den entsprechenden Befehl für Ihre Distribution aus):

Sudo apt installiere Multitail, sudo yum installiere Multitail, sudo dnf installiere Multitail

Verwendung:

Multitail /var/log/apache2/access.log /var/log/apache2/error.log

Um das Dienstprogramm zu beenden, drücken Sie die q-Taste

Es ist unmöglich, sich den Benutzer und Administrator des Servers vorzustellen, oder sogar Arbeitsplatz An Linux-basiert, der die Protokolldateien nie gelesen hat. Das Betriebssystem und die laufenden Anwendungen erstellen ständig Verschiedene Arten Nachrichten, die in verschiedenen Protokolldateien protokolliert werden. Fähigkeit zu bestimmen erforderliche Datei Protokoll und was darin zu suchen ist, wird dazu beitragen, erheblich Zeit zu sparen und den Fehler schnell zu beheben.

Die Protokollierung ist die Hauptinformationsquelle über Systembetrieb und Fehler. In dieser kurzen Anleitung befassen wir uns mit den grundlegenden Aspekten der Betriebssystemprotokollierung, der Verzeichnisstruktur und den Programmen zum Lesen und Überprüfen von Protokollen.

Grundlegende Protokolldateien

Alle Protokolldateien können in eine der folgenden Kategorien eingeteilt werden:

  • Anwendungen;
  • Veranstaltungen;
  • Dienstleistungen;
  • systemisch.

Die meisten Protokolldateien sind im Verzeichnis /var/log enthalten.

  • /var/log/syslog oder /var/log/messages enthält ein globales Systemprotokoll, in das Meldungen ab dem Zeitpunkt des Systemstarts, vom Linux-Kernel, verschiedenen Diensten, erkannten Geräten usw. geschrieben werden. Netzwerk Schnittstellen und vieles mehr.
  • /var/log/auth.log oder /var/log/secure- Informationen zur Benutzerautorisierung, einschließlich erfolgreicher und fehlgeschlagener Anmeldeversuche, sowie der beteiligten Authentifizierungsmechanismen.
  • /var/log/dmesg- Gerätetreiber. Mit dem gleichnamigen Befehl können Sie die Ausgabe des Dateiinhalts anzeigen. Die Protokollgröße ist begrenzt. Wenn die Datei ihr Limit erreicht, werden ältere Nachrichten durch neuere überschrieben. Durch Setzen des Schalters --level= können Sie die Ausgabe nach Signifikanzkriterium filtern.
Unterstützte Protokollierungsebenen (Prioritäten): emerg – System-Unbenutzt-Alarm – Aktion muss sofort ausgeführt werden. Crit – Kritikalitätsbedingungen err – Fehlerbedingungen Warnung – Warnbedingungen-Hinweis – Informationen zu allgemeinen, aber wichtigen Bedingungen – Informations-Debug – Debug-Meldungen (5:520)$ dmesg -l err USB 1-1.1: 2:1: Frequenz kann bei Ep. 0x1 nicht abgerufen werden. USB 1-1.1: 1:1: Frequenz kann bei Ep. 0x81 nicht abgerufen werden. USB 1-1.1: 1:1: Frequenz kann bei Ep. 0x81 nicht abgerufen werden
  • /var/log/alternatives.log– Die Ausgabe von update-alternatives, die symbolische Links zu den Standardbefehlen oder -bibliotheken enthält.
  • /var/log/anaconda.log- Während der Systeminstallation aufgezeichnete Einträge.
  • /var/log/audit– Vom auditd-Prüfungsdienst generierte Datensätze.
  • /var/log/boot.log– Informationen, die beim Booten des Betriebssystems geschrieben werden.
  • /var/log/cron- Crond-Servicebericht ausführbare Befehle und Nachrichten von den Teams selbst.
  • /var/log/cups- Alles rund um Druck und Drucker.
  • /var/log/faillog- Fehlgeschlagene Anmeldeversuche. Sehr nützlich bei der Überprüfung von Sicherheitsbedrohungen, Hackerangriffen und Brute-Force-Hacking-Versuchen. Sie können den Inhalt mit dem Befehl faillog lesen.
  • var/log/kern.log– Das Protokoll enthält Meldungen vom Kernel und Warnungen, die bei der Fehlerbehebung in benutzerdefinierten Modulen, die in den Kernel integriert sind, hilfreich sein können.
  • /var/log/maillog/ oder /var/log/mail.log- Zeitschrift Mail-Server, wird auf dem Betriebssystem verwendet.
  • /var/log/pm-powersave.log- Batteriespar-Servicemeldungen.
  • /var/log/samba/- Samba-Dateiserverprotokolle, die für den Zugriff auf freigegebene Dateien verwendet werden Windows-Ordner und Bereitstellung des Zugangs Windows-Benutzer in freigegebene Linux-Ordner.
  • /var/log/spooler- Für die alte Schule, enthält USENET-Nachrichten. Meistens ist es leer und verlassen.
  • /var/log/Xorg.0.log- X-Server-Protokolle. Meistens sind sie nutzlos, aber wenn sie Zeilen enthalten, die mit EE beginnen, sollten Sie ihnen Aufmerksamkeit schenken.

Für jede Distribution wird ein separates Paketmanager-Protokoll erstellt.

  • /var/log/yum.log– Für Programme, die mit Yum unter RedHat Linux installiert wurden.
  • /var/log/emerge.log- Für Ebuilds, die von Portage mit emerge unter Gentoo Linux installiert wurden.
  • /var/log/dpkg.log– Für Programme, die mit dpkg unter Debian Linux und der gesamten Familie verwandter Distributionen installiert wurden.

Und einige Binärprotokolle von Benutzersitzungen.

  • /var/log/lastlog- Letzte Benutzersitzung. Sie können es mit dem letzten Befehl lesen.
  • /var/log/tallylog- Prüfung fehlgeschlagener Anmeldeversuche. Ausgabe auf dem Bildschirm mit dem Dienstprogramm pam_tally2.
  • /var/log/btmp- Ein weiteres Protokoll erfolgloser Anmeldeversuche. Einfach so, für den Fall, dass Sie noch nicht herausgefunden haben, wo Sie nach Spuren von Hackeraktivitäten suchen können.
  • /var/log/utmp- Liste der aktuell angemeldeten Benutzer.
  • /var/log/wtmp- Ein weiteres Protokoll zur Aufzeichnung von Benutzeranmeldungen. Wird mit dem Befehl utmpdump auf dem Bildschirm angezeigt.
(5:535)$ sudo utmpdump /var/log/wtmp [Di 11. Aug. 16:50:07 2015] [~~ ] [Di 11. Aug. 16:50:08 2015] [~~ ] [Di 11. Aug. 16: 50:57 2015] [Di. 11. Aug. 16:50:57 2015] [~~ ] [Di. 11. Aug. 16:50:57 2015]

Und andere Zeitschriften

Da ein Betriebssystem, selbst ein so wunderbares wie Linux, an sich keine greifbaren Vorteile bietet, werden höchstwahrscheinlich eine Datenbank, ein Webserver und verschiedene Anwendungen auf einem Server oder einer Workstation ausgeführt. Jede Anwendung oder jeder Dienst kann über eine eigene Ereignis- und Fehlerprotokolldatei oder ein eigenes Verzeichnis verfügen. Natürlich ist es unmöglich, sie alle aufzuzählen, sondern nur einige.

  • /var/log/mysql/- MySQL-Datenbankprotokoll.
  • /var/log/httpd/ oder /var/log/apache2/- Webprotokoll Apache-Server, das Zugriffsprotokoll befindet sich in access_log und Fehler befinden sich in error_log .
  • /var/log/lighthttpd/- Lighttpd-Webserverprotokoll.

Das Home-Verzeichnis des Benutzers kann Protokolle enthalten grafische Anwendungen, DE.

  • ~/.xsession-errors- Standardausgabe von X11-Grafikanwendungen.
Initialisierung von „kcm_input“: „kcminit_mouse“ Initialisierung von „kcm_access“: „kcminit_access“ Initialisierung von „kcm_kgamma“: „kcminit_kgamma“ QXcbConnection: XCB-Fehler: 3 (BadWindow), Sequenz: 181, Ressourcen-ID: 10486050, Hauptcode: 20 (GetProperty) , Nebencode: 0 kf5.kcoreaddons.kaboutdata: Die entsprechenden Eigenschaften von Q*Application konnten nicht initialisiert werden: (noch) keine Instanz vorhanden. QXcbConnection: XCB-Fehler: 3 (BadWindow), Sequenz: 181, Ressourcen-ID: 10486050, Hauptcode: 20 (GetProperty), Nebencode: 0 Qt: Sitzungsverwaltungsfehler: networkIdsList-Argument ist NULL
  • ~/.xfce4-session.verbose-log- XFCE4-Desktop-Nachrichten.

Was zu sehen ist - lnav

Fast jeder kennt das Dienstprogramm less und den Befehl tail -f. Für diese Zwecke eignen sich auch der vim-Editor und der Dateimanager Midnight Commander. Sie haben alle ihre Nachteile: Weniger kommt mit Protokollen nicht gut zurecht lange Linien, wobei ich sie für Binärdateien halte. Midnight Commander eignet sich nur zum schnellen Durchsuchen, wenn keine Notwendigkeit besteht, ein komplexes Muster zu durchsuchen und zwischen den Spielen häufig hin und her zu wechseln. Der vim-Editor versteht die Syntax vieler Formate und hebt sie hervor. Wenn das Protokoll jedoch häufig aktualisiert wird, erscheinen störende Meldungen über Änderungen an der Datei. Dies kann jedoch leicht umgangen werden<:view /path/to/file> .


Kürzlich habe ich ein weiteres nützliches und vielversprechendes, aber immer noch etwas feuchtes Dienstprogramm entdeckt - lnav, wie vom Log File Navigator transkribiert.




Installieren Sie das Paket wie gewohnt mit einem Befehl.


$ aptitude install lnav #Debian/Ubuntu/LinuxMint $ yum install lnav #RedHat/CentOS $ dnf install lnav #Fedora $ emerge -av lnav #Gentoo, muss zur Datei package.accept_keywords hinzugefügt werden $ yaourt -S lnav #Arch

Log-Navigator lnav versteht eine Reihe von Dateiformaten.

  • Access_log-Webserver.
  • CUPS page_log
  • Syslog
  • dpkg.log
  • strace
  • Benutzerdefinierte Einträge mit Zeitstempeln
  • gzip, bzip
  • VMWare ESXi/vCenter-Protokoll

Was bedeutet es in diesem Fall, Dateiformate zu verstehen? Der Trick ist das lnav mehr als ein Dienstprogramm zum Anzeigen von Textdateien. Das Programm kann noch etwas anderes tun. Sie können mehrere Dateien gleichzeitig öffnen und zwischen ihnen wechseln.


(5:471)$ sudo lnav /var/log/pm-powersave.log /var/log/pm-suspend.log

Das Programm kann eine Archivdatei direkt öffnen.


(5:471)$ lnav -r /var/log/Xorg.0.log.old.gz

Zeigt ein Histogramm informativer Meldungen, Warnungen und Fehler an, wenn Sie eine Taste drücken . Das ist aus meinem Syslog.


Mo. 02. Mai 20:25:00 123 normal 3 Fehler 0 Warnungen 0 Punkte Mo. 02. Mai 22:40:00 2 normal 0 Fehler 0 Warnungen 0 Punkte Mo. 02. Mai 23:25:00 10 normal 0 Fehler 0 Warnungen 0 Punkte Di. Mai 03 07:25:00 96 normal 3 Fehler 0 Warnungen 0 Punkte Di 03. Mai 23:50:00 10 normal 0 Fehler 0 Warnungen 0 Punkte Mittwoch 04. Mai 07:40:00 96 normal 3 Fehler 0 Warnungen 0 Punkte Mittwoch 04. Mai 08 :30:00 2 normal 0 Fehler 0 Warnungen 0 Punkte Mittwoch 04. Mai 10:40:00 10 normal 0 Fehler 0 Warnungen 0 Punkte Mittwoch 04. Mai 11:50:00 126 normal 2 Fehler 1 Warnungen 0 Punkte

Darüber hinaus werden Syntaxhervorhebung, Tab-Hinzufügen und verschiedene nützliche Funktionen in der Statusleiste unterstützt. Zu den Nachteilen gehören instabiles Verhalten und Einfrieren. Hoffnung lnav wird sich aktiv weiterentwickeln, sehr nützliches Programm meiner Meinung nach.



Freunden erzählen