GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

Warum habe ich für die Zwecke der Kernel-Protokollierung drei verschiedene, nicht inklusive Protokollierungsebenen unter /var/log/messages , /var/log/syslog , und /var/log/kern.log ?

Beste Antwort

Syslog ist eine Standardprotokollierungsfunktion. Es sammelt Meldungen verschiedener Programme und Dienste, einschließlich des Kernels, und speichert sie, je nach Konfiguration, in einer Reihe von Protokolldateien, typischerweise unter /var/log . In einigen Rechenzentrumskonfigurationen gibt es Hunderte von Geräten mit jeweils eigenem Protokoll; syslog kommt auch hier gut an. Man richtet einfach einen dedizierten Syslog-Server ein, der alle einzelnen Geräteprotokolle über das Netzwerk sammelt. Syslog kann auch Protokolle zu Datenbanken und anderen Clients speichern.

Laut meiner /etc/syslog.conf , standardmäßig /var/log/kern.log erfasst nur die Nachrichten des Kernels eines beliebigen Loglevels; also die Ausgabe von dmesg .

/var/log/messages zielt stattdessen darauf ab, wertvolle, nicht debuggende und nicht kritische Nachrichten zu speichern. Dieses Protokoll sollte als Protokoll der „allgemeinen Systemaktivität“ betrachtet werden.

/var/log/syslog protokolliert wiederum alles außer auth-bezogenen Nachrichten.

Andere interessante Standardprotokolle, die von Syslog verwaltet werden, sind /var/log/auth.log , /var/log/mail.log .

Aktualisierung 2020

Sie können immer noch über Syslog stolpern; aber die Standardwerte haben sich geändert.

journald hat Syslog in einem ziemlich großen Teil der Systeme ersetzt, einschließlich Ubuntu.

Dies ist relevant, da Sie /var/log/messages nicht finden werden das oft nicht mehr. journald schreibt keine Klartextprotokolle – es verwendet sein eigenes, komprimiertes und teilweise authentifiziertes Format.

Suchen Sie online nach z. journalctl-Cheatsheet , oder studieren Sie einfach man 8 systemd-journald , man 1 journalctl selbst.

Syslog und journald sind bis zu einem gewissen Grad kreuzkompatibel; Sie können Protokolle zwischen ihnen in beide Richtungen transportieren. Sie erhalten jedoch keine Klartextprotokolle wie /var/log/messages mit Journald; und Sie werden nicht strukturiert (journalctl -o json-pretty ) und authentifizierte Protokollierung mit Syslog.


Ubuntu
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Welches Skript rotiert /var/log/auth.log?

  3. 20 Linux-Protokolldateien, die sich im Verzeichnis /var/log befinden

  4. So ändern Sie das Standardprotokollverzeichnis (/var/log) in Rsyslog für CentOS/RHEL 6,7

  5. So ändern Sie den Pfad der auditd-Protokolldatei /var/log/audit/audit.log

fprintd protokolliert Nachrichten in /var/log/messages, selbst wenn USEFPRINTD=no in /etc/sysconfig/authconfig (CentOS/RHEL 7)

Django static_root in /var/www/... - keine Berechtigungen für collectstatic

Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Syntax der logrotate-Konfigurationsdatei - mehrere Wildcard-Einträge möglich?

unix:///var/run/supervisor.sock keine solche Datei

Systemprotokolle sind leer (/var/log/messages; /var/log/secure; etc)