Unterschied zwischen / var / log / messages, / var / log / syslog und /var/log/kern.log?
68
Für die Zwecke des Kernel - Logging, warum habe ich drei verschiedene, nicht-inclusive Ebene der Protokollierung unter /var/log/messages, /var/log/syslogund /var/log/kern.log?
Beachten Sie, dass / var / log / messages auf Nicht-Debian- / Nicht-Ubuntu-Systemen wie RHEL- oder CentOS-Systemen normalerweise das Syslog ist.
Thomas Ward
Beachten Sie, dass journalctldas Symbol langsam ersetzt wird, syslogwenn Sie zur Ressource für die Überwachung von Systemmeldungen wechseln.
WinEunuuchs2Unix
Antworten:
52
Syslog ist eine Standardprotokollierungsfunktion. Es sammelt Nachrichten von verschiedenen Programmen und Diensten, einschließlich des Kernels, und speichert sie je nach Einrichtung in einer Reihe von Protokolldateien, die normalerweise unter gespeichert sind /var/log. In einigen Datencenter-Setups gibt es Hunderte von Geräten mit jeweils eigenem Protokoll. Auch hier bietet sich Syslog an. Man richtet einfach einen dedizierten Syslog-Server ein, der alle einzelnen Geräteprotokolle über das Netzwerk sammelt. Syslog kann Protokolle auch in Datenbanken und anderen Clients speichern.
Meiner Meinung nach erfasst /etc/syslog.confdefault /var/log/kern.lognur die Kernel-Nachrichten eines beliebigen Loglevels. dh die Ausgabe von dmesg.
/var/log/messagesZiel ist es stattdessen, wertvolle, nicht debuggbare und nicht kritische Nachrichten zu speichern. Dieses Protokoll sollte als Protokoll "Allgemeine Systemaktivität" betrachtet werden.
Beachten Sie, dass Einträge im Kernel-Ringpuffer (was dmesg liest) es standardmäßig nicht in eine / var / log-Datei schaffen, wenn sie von einem User-Space-Prozess geschrieben wurden. Sie müssen $KLogPermitNonKernelFacility onin der Konfiguration von rsyslogd festlegen, ob diese Nachrichten in angezeigt werden sollen /var/log. Weitere Informationen finden Sie in meiner Antwort unter askubuntu.com/a/490900/297973 .
Vanessa Phipps
7
auch erwähnenswert, dass ubuntu ( seit natty ) nicht mehr verwendet /var/log/messages, und speichert alles auf/var/log/syslog
jackbravo
1
in Ubuntu 16.04 /var/log/syslogist in der Tat eine saubere Obermenge /var/log/kern.logmit der Einschränkung, dass man unterschiedliche Rotationsstrategien berücksichtigen muss. ZB in meinem System (Standardkonfiguration unverändert) werden die heutigen und die gestrigen Nachrichten in einer einzigen Datei gespeichert, /var/log/kern.logwohingegen die meisten der gestrigen Nachrichten in syslogsind /var/log/syslog.1.
Marcus Junius Brutus
12
syslog enthält alle Nachrichten mit Ausnahme des Typs auth.
messages enthält nur allgemeine unkritische Nachrichten. Die Kategorie ist info, noticeundwarn
Für ein vollständiges Protokoll schauen Sie sich /var/log/syslogund an/var/log/auth.log
AFAIK /var/log/kern.logenthält Kernelnachrichten.
Protokolldateien sind lediglich eine Konvention, die in /etc/syslog.conf aufgeführt ist
Duplizieren des Kommentars die Antwort eines Ulidtko: Erwähnenswert ist auch, dass Ubuntu ( seit natty ) nicht mehr verwendet /var/log/messagesund alles auf speichert/var/log/syslog
journalctl
das Symbol langsam ersetzt wird,syslog
wenn Sie zur Ressource für die Überwachung von Systemmeldungen wechseln.Antworten:
Syslog ist eine Standardprotokollierungsfunktion. Es sammelt Nachrichten von verschiedenen Programmen und Diensten, einschließlich des Kernels, und speichert sie je nach Einrichtung in einer Reihe von Protokolldateien, die normalerweise unter gespeichert sind
/var/log
. In einigen Datencenter-Setups gibt es Hunderte von Geräten mit jeweils eigenem Protokoll. Auch hier bietet sich Syslog an. Man richtet einfach einen dedizierten Syslog-Server ein, der alle einzelnen Geräteprotokolle über das Netzwerk sammelt. Syslog kann Protokolle auch in Datenbanken und anderen Clients speichern.Meiner Meinung nach erfasst
/etc/syslog.conf
default/var/log/kern.log
nur die Kernel-Nachrichten eines beliebigen Loglevels. dh die Ausgabe vondmesg
./var/log/messages
Ziel ist es stattdessen, wertvolle, nicht debuggbare und nicht kritische Nachrichten zu speichern. Dieses Protokoll sollte als Protokoll "Allgemeine Systemaktivität" betrachtet werden./var/log/syslog
protokolliert wiederum alles, außer auth-bezogene Nachrichten.Andere insteresting Standardprotokolle von syslog verwaltet werden
/var/log/auth.log
,/var/log/mail.log
.Zu Ihrer Frage: Wenn Sie nur das Kernel-Nachrichtenprotokoll benötigen, verwenden Sie
kern.log
oderdmesg
.quelle
man syslog.conf
.$KLogPermitNonKernelFacility on
in der Konfiguration von rsyslogd festlegen, ob diese Nachrichten in angezeigt werden sollen/var/log
. Weitere Informationen finden Sie in meiner Antwort unter askubuntu.com/a/490900/297973 ./var/log/messages
, und speichert alles auf/var/log/syslog
/var/log/syslog
ist in der Tat eine saubere Obermenge/var/log/kern.log
mit der Einschränkung, dass man unterschiedliche Rotationsstrategien berücksichtigen muss. ZB in meinem System (Standardkonfiguration unverändert) werden die heutigen und die gestrigen Nachrichten in einer einzigen Datei gespeichert,/var/log/kern.log
wohingegen die meisten der gestrigen Nachrichten insyslog
sind/var/log/syslog.1
.info
,notice
undwarn
/var/log/syslog
und an/var/log/auth.log
/var/log/kern.log
enthält Kernelnachrichten.syslog(3)
für weitere InformationenÜberprüfen Sie diese Seite auf Unterschiede zwischen Nachrichten und Syslog
es heißt
/var/log/messages
⊂/var/log/syslog
quelle
/var/log/messages
und alles auf speichert/var/log/syslog