“服务状态服务名称”从哪里获取日志打印输出?

“服务状态服务名称”从哪里获取日志打印输出?

我们sudo service ssh status得到日志的输出,例如

Jul 16 07:35:50 Linux sshd[1426235]: Disconnected from invalid user root 111.111.111.111 port 59242 [preauth]
Jul 16 07:38:50 Linux sshd[1429104]: User root not allowed because account is locked

我很难理解这是从哪里来的。我的sshd配置设置为登录到SysLogFacility AUTH.

service只是解析系统日志吗?

答案1

该日志由 systemd-journald 守护进程控制。它从不同来源收集信息并将消息加载到日志中。

systemd 日志不是一个大的文本文件。它是由守护进程维护的二进制文件。因此,它无法用文本编辑器打开。该二进制文件的位置和大小由守护程序的配置文件控制。它也不必是持久的;使用配置参数,管理员可以完全关闭日志记录或将其保留在内存中,因此它本质上是易失性的。通过内存日志记录,systemd 在 /run/log/journal 目录下创建日志文件。如果该目录不存在,则创建该目录。使用持久化存储时,日志创建在 /var/log/journal 目录下;同样,如果需要,该目录由 systemd 创建。如果该目录由于某种原因被删除,systemd-journald 不会自动重新创建它;相反,它会以非持久的方式将日志写入 /run/log/journal 下。当守护进程重新启动时,它将重新创建该目录。

相关内容