/var/log/messages、/var/log/syslog 和 /var/log/kern.log 之间有什么区别?

/var/log/messages、/var/log/syslog 和 /var/log/kern.log 之间有什么区别?

出于内核日志记录的目的,为什么我在/var/log/messages/var/log/syslog和之间有三个不同的、不包含的日志记录级别/var/log/kern.log

答案1

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

据我所知/etc/syslog.conf,默认/var/log/kern.log仅捕获任何日志级别的内核消息;即的输出dmesg

/var/log/messages而是旨在存储有价值的、非调试和非关键的消息。此日志应被视为“一般系统活动”日志。

/var/log/syslog依次记录除身份验证相关消息之外的所有内容。

syslog 管理的其他有趣的标准日志包括/var/log/auth.log/var/log/mail.log


2020 年更新

您可能仍会偶然发现 syslog;但是默认设置已经改变。

journald已经在包括 Ubuntu 在内的相当大一部分系统中取代了 syslog。

这很重要,因为您不会/var/log/messages再经常发现它。journald不会写入纯文本日志 - 它使用自己的、压缩的和部分验证的格式。

在线搜索例如journalctl 备忘单或者干脆自己学习man 8 systemd-journaldman 1 journalctl

Syslog 和 journald 在一定程度上是交叉兼容的;您可以在它们之间双向传输日志。但是,您无法/var/log/messages通过 journald 获得纯文本日志;也无法journalctl -o json-pretty通过 syslog 获得结构化 () 和经过身份验证的日志。

答案2

  • syslog 包含除 auth 类型之外的所有消息。
  • 消息仅包含一般的非关键消息。类别为infonoticewarn
  • /var/log/syslog要查看完整日志/var/log/auth.log
  • 据我所知/var/log/kern.log包含内核消息。
  • 日志文件只是 /etc/syslog.conf 中的一个约定
  • 阅读syslog(3)更多信息

查看此页面消息和系统日志之间的区别

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

相关内容