/ var / log / messages,/ var / log / syslog和/var/log/kern.log之间的区别?


68

对于内核日志的目的,为什么我有三个不同的,记录的非包容性的水平之间/var/log/messages/var/log/syslog/var/log/kern.log


请注意,/ var / log / messages通常是非Debian / non-Ubuntu系统(例如RHEL或CentOS系统)上的系统日志。
托马斯·沃德

请注意,它journalctl正在逐渐取代syslog用于监视系统消息的资源。
WinEunuuchs2Unix

Answers:


52

Syslog是标准的日志记录工具。它收集包括内核在内的各种程序和服务的消息,并根据设置将它们存储在通常位于的一堆日志文件中/var/log。在某些数据中心设置中,有数百个设备,每个设备都有自己的日志。syslog在这里也很方便。只需设置一台专用的syslog服务器,即可通过网络收集所有单个设备日志。Syslog还可以将日志保存到数据库和其他客户端。

根据my /etc/syslog.conf,default /var/log/kern.log仅捕获任何日志级别的内核消息;即的输出dmesg

/var/log/messages相反,它旨在存储有价值的,非调试和非关键的消息。该日志应被视为“常规系统活动”日志。

/var/log/syslog 依次记录所有内容,除了auth相关消息。

通过系统日志管理等insteresting标准日志/var/log/auth.log/var/log/mail.log

关于您的问题:如果仅需要内核消息日志,请使用kern.logdmesg


1
请问您有任何提及吗?
Goaler444

8
@ Goaler444, man syslog.conf
ulidtko

2
请注意,如果内核环形缓冲区中的条目(由dmesg读取)是由用户空间进程写入的,则默认情况下不会将其放入任何/ var / log文件中。$KLogPermitNonKernelFacility on如果要在中查看这些消息,则需要在rsyslogd的配置中进行设置/var/log。有关更多详细信息,请参阅askubuntu.com/a/490900/297973上我的回答。
Vanessa Phipps 2014年

7
还值得注意的是,ubuntu(由于natty)不再使用了/var/log/messages,并将所有内容存储在/var/log/syslog
jackbravo 2015年

1
在Ubuntu 16.04 /var/log/syslog中,确实有一个清晰的超集,/var/log/kern.log需要注意的是必须考虑不同的轮换策略。例如,在我的系统中(默认配置未更改),今天和昨天的消息保存在一个文件中,/var/log/kern.log而昨天的大多数消息都保存在syslog/var/log/syslog.1
马库斯·朱尼乌斯·布鲁图斯

12
  • syslog包含除auth类型外的所有消息。
  • 消息仅包含通用的非关键消息。类别是infonoticewarn
  • 有关完整的日志,请查看/var/log/syslog/var/log/auth.log
  • AFAIK /var/log/kern.log包含内核消息。
  • 日志文件只是/etc/syslog.conf中阐明的约定
  • 阅读syslog(3)更多信息

检查此页面有关消息和系统日志之间的差异

它说/var/log/messages /var/log/syslog


1
您提供的链接已损坏。
slm 2013年


4
复制评论是ulidtko的答案:还值得注意的是ubuntu(由于natty)不再使用了/var/log/messages,并将所有内容存储在/var/log/syslog
jackbravo 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.