Red Hat Training

A Red Hat training course is available for RHEL 8

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 。例如,此命令显示来自进程为 PIDfoo 服务的所有消息,加上来自 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 的信息。