Syslog是一个标准的日志记录工具。它收集各种程序和服务(包括内核)的消息,并根据设置将它们存储在一组通常位于/var/log
下的日志文件中。在某些数据中心设置中,每个设备都有自己的日志,这时候syslog也非常方便。只需设置一个专用的syslog服务器,通过网络收集所有单独设备的日志。Syslog还可以将日志保存到数据库和其他客户端。
根据我的/etc/syslog.conf
,默认的/var/log/kern.log
只捕获任何日志级别的内核消息;即dmesg
的输出。
/var/log/messages
则旨在存储有价值、非调试和非关键的消息。这个日志应被视为“一般系统活动”日志。
/var/log/syslog
则记录除了与认证相关的消息之外的所有内容。
由syslog管理的其他有趣的标准日志包括/var/log/auth.log
、/var/log/mail.log
。
你可能仍然会遇到syslog,但默认设置已经改变。
journald
已经取代了syslog,在包括Ubuntu在内的许多系统中。
这是相关的,因为你不会再经常找到/var/log/messages
。 journald
不会写入明文日志 - 它使用自己的压缩和部分认证的格式。
在线搜索例如journalctl cheatsheet,或者自己研究man 8 systemd-journald
,man 1 journalctl
。
Syslog和journald在一定程度上是相互兼容的;你可以在它们之间双向传输日志。然而,使用journald你将无法获得类似于/var/log/messages
的明文日志;而使用syslog你将无法获得结构化(journalctl -o json-pretty
)和认证的日志记录。
man syslog.conf
。 - ulidtko$KLogPermitNonKernelFacility on
。有关更多详细信息,请参阅我的回答http://askubuntu.com/a/490900/297973。 - Vanessa Phipps/var/log/messages
,而是将所有日志存储在/var/log/syslog
中。 - jackbravo/var/log/syslog
确实是/var/log/kern.log
的一个干净的超集,但需要注意不同的日志轮转策略。例如,在我的系统中(默认配置未更改),今天和昨天的消息保存在/var/log/kern.log
的单个文件中,而大部分昨天的syslog
消息则保存在/var/log/syslog.1
中。 - Marcus Junius Brutusman rsyslog.conf
- Elliptical view/var/log/messages
是 dmesg
记录日志的位置。 FWIW...(Red Hat) - rogerdpackinfo
、notice
和 warn
/var/log/syslog
和 /var/log/auth.log
/var/log/kern.log
包含内核消息。syslog(3)
获取更多信息。请查看此页面 关于 messages 和 syslog 的区别
它说 /var/log/messages
⊂ /var/log/syslog
/var/log/messages
,而是将所有日志存储在/var/log/syslog
中。 - jackbravo
journalctl
正在逐渐取代syslog
成为监控系统消息的首选资源。 - WinEunuuchs2Unix