Menu Close

10.4. 使用命令行查看日志

Journal 是 systemd 的一个组件,可帮助查看和管理日志文件。它解决了与传统日志记录连接的问题,与系统的其余部分紧密集成,并支持各种日志技术和日志文件访问管理。

您可以通过命令行,使用 journalctl 命令查看系统日志中的信息,例如:

$ journalctl -b | grep kvm
May 15 11:31:41 localhost.localdomain kernel: kvm-clock: Using msrs 4b564d01 and 4b564d00
May 15 11:31:41 localhost.localdomain kernel: kvm-clock: cpu 0, msr 76401001, primary cpu clock
...

表 10.1. 查看系统信息

命令描述

journalctl

显示所有收集的日志条目。

journalctl FILEPATH

显示与特定文件相关的日志。例如: journalctl /dev/sda 命令显示与 /dev/sda 文件系统相关的日志。

journalctl -b

显示当前引导的日志。

journalctl -k -b -1

显示当前引导的内核日志。

表 10.2. 查看特定服务的信息

命令描述

journalctl -b _SYSTEMD_UNIT=foo

过滤日志以查看与 "foo" systemd 服务匹配的日志。

journalctl -b _SYSTEMD_UNIT=foo _PID=number

合并匹配。例如: 这个命令显示与 foo 和 PID number 匹配的 systemd-units 的日志。

journalctl -b _SYSTEMD_UNIT=foo _PID=number + _SYSTEMD_UNIT=foo1

分隔符"+"组合了逻辑 OR 中的两个表达式。例如,该命令显示来自 foo 服务进程中带有 PID 的服务进程的信息,以及来自 foo1 服务的所有消息(来自其任一进程)。

journalctl -b _SYSTEMD_UNIT=foo _SYSTEMD_UNIT=foo1

此命令显示与任一表达式匹配的所有条目,引用同一字段。在这里,这个命令会显示与 systemd-unit foo 或 systemd-unit foo1 匹配的日志。

表 10.3. 查看与特定引导相关的日志

命令描述

journalctl --list-boots

显示引导号、ID 以及与启动有关的第一个和最后一条消息的时间戳的表格列表。您可以使用下一个命令中的 ID 来查看详细信息。

journalctl --boot=ID _SYSTEMD_UNIT=foo

显示有关指定引导 ID 的信息。