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