我一直假设这journalctl
是系统日志的综合聚合器,但我发现这是不正确的。
例如,dmesg
在 systemd 完全激活之前提供系统日志记录,并提供更精确的硬件状态和进程视图。
知识渊博的系统管理员在 Linux 中是否使用其他标准或有用的系统日志记录工具?
答案1
我一直假设 Journalctl 是系统日志的综合聚合器,但我发现这是不正确的。
有点像! Journalctl 是 systemd 系统的一部分;在这些方面,所有与服务、登录等生命周期有关的事情都确实记录到日志中:基本上,systemd 所做或知道的所有事情。这还涉及通过 systemd 服务文件启动的服务,该文件(默认情况下)将这些服务的标准输出记录到日志中。
然而,每个程序都可以随意记录日志。例如,您的邮件服务器守护进程可能会记录到 /var/log/mail/...,您的 apache2 Web 服务器有自己的可配置日志记录位置等。
因此,/var/log 通常是您查找相关日志文件的地方,但您想查看您运行的服务的配置;至少,通过通常方式启动的每项服务都会记录到日志中并列在systemctl status
.
例如,dmesg 在 systemd 完全激活之前提供系统日志记录,并提供更精确的硬件状态和进程视图。
不要误dmesg
认为竞争者到日志:它只是输出内核日志缓冲区的命令。除了内核消息之外,它不记录任何内容。因此,是的,在日志记录可以开始记录之前它就处于工作状态。但是,如果你这样做journalctl -b0
从当前启动的开头读取日志,那么您应该看到的消息与您在 的输出开头看到的消息相同dmesg
。因此,您在正在运行的系统上通过 看到的内容dmesg
应该是通过 看到的内容的严格子集journalctl
。