使用journalctl检查我的journald日志时命令的输出
journalctl -u ssh.service
和
journalctl _COMM=sshd
不同。第一个命令仅生成第二个命令显示的日志条目的子集。但是,仅在第一种情况下显示的日志条目与在两种情况下显示的日志条目之间没有明显区别。下面是两个几乎相同的“-o verbose”格式的日志条目。两者中出现的那个都具有该_SYSTEMD_UNIT=ssh.service
属性,但在其他方面几乎相同。还有一些条目仅显示与_COMM=sshd
在这两种情况下显示的条目完全无关。
这种行为的原因是什么?
我正在使用 sshd 版本“OpenSSH_7.2p2 Debian-2,OpenSSL 1.0.2g”和 systemd 229 运行 debian 测试。
Tue 2016-04-12 06:43:38.498526 CEST [s=0430cdfa7fb2408cbc98dccb31e42ffc;i=17096e;b=d17df7e99dfa496894cc1e5b6314ffa2;m=6a36040f2c;t=530424
PRIORITY=6
_UID=0
_GID=0
_CAP_EFFECTIVE=3fffffffff
_SYSTEMD_SLICE=-.slice
_BOOT_ID=d17df7e99dfa496894cc1e5b6314ffa2
_MACHINE_ID=05019d58a4004f9f90c1cfbd295b54ca
_HOSTNAME=homeserver
_SYSTEMD_CGROUP=/
_TRANSPORT=syslog
SYSLOG_FACILITY=4
SYSLOG_IDENTIFIER=sshd
_COMM=sshd
SYSLOG_PID=31025
_PID=31025
MESSAGE=Disconnected from 183.3.202.172 port 36152 [preauth]
_SOURCE_REALTIME_TIMESTAMP=1460436218498526
Tue 2016-04-12 06:43:38.498459 CEST [s=0430cdfa7fb2408cbc98dccb31e42ffc;i=17096d;b=d17df7e99dfa496894cc1e5b6314ffa2;m=6a36040d71;t=530424
PRIORITY=6
_UID=0
_GID=0
_CAP_EFFECTIVE=3fffffffff
_BOOT_ID=d17df7e99dfa496894cc1e5b6314ffa2
_MACHINE_ID=05019d58a4004f9f90c1cfbd295b54ca
_HOSTNAME=homeserver
_TRANSPORT=syslog
_SYSTEMD_SLICE=system.slice
SYSLOG_FACILITY=4
SYSLOG_IDENTIFIER=sshd
_COMM=sshd
_EXE=/usr/sbin/sshd
_CMDLINE=sshd: unknown [priv]
_SYSTEMD_CGROUP=/system.slice/ssh.service
_SYSTEMD_UNIT=ssh.service
SYSLOG_PID=31025
_PID=31025
MESSAGE=Received disconnect from 183.3.202.172 port 36152:11: [preauth]
_SOURCE_REALTIME_TIMESTAMP=1460436218498459
答案1
因为(可能)根据日志服务journald
来区分消息。_COMM
sshd
正在运行多个进程并proctitle
相应地发生变化。这可能会让人困惑journald
。在您的示例中,可以[priv]
正确区分 ,但[preauth]
不能正确区分。第二个进程也在运行chroot
,但父进程([priv]
)应该为他登录。