如何使用journalctl在Linux上查看和分析日志
想要密切关注 Linux 计算机上发生的用户操作和任务吗?以下是如何使用journalctl实用程序。
日志消息对于审核和维护健康的 Linux 系统非常重要。每台 Linux 计算机都存储不同服务或作业的日志消息。本指南将探讨如何使用 journalctl 读取和分析日志消息,这是一个用于读取 journald 编写的日志消息的命令行工具。
什么是日志?
Journald 是一种系统日志记录服务linux格式化硬盘,它将日志消息聚合到日志中。它是 systemd 守护进程的一部分,负责 Linux 中的事件日志记录。日志只是一个二进制文件,用于存储日志生成的日志消息。
日记日志消息不是持久性的,因为它们存储在 RAM 中,这是一种易失性存储形式。默认情况下,每当您的电脑重新启动或断电时,日志日志都会丢失或擦除。 Linux 为日志日志分配固定数量的 RAM,以避免堵塞系统内存。

如何使用journalctl命令
您可以使用journalctl 查询systemd 日志或journald 日志。系统对所有日志日志进行索引linux 系统日志分析工具,以提高从日志读取日志消息时的效率。
注意:本指南使用 sudo 使用提升的权限来运行命令,因为当您以常规 Linux 用户身份运行时,journalctl 命令不会列出所有日志消息。
查看所有日志消息
要查看所有日志日志,只需运行不带任何参数的journalctl命令:
sudo journalctl
Journalctl 命令将按时间顺序列出系统上的所有日志日志。该命令在后台使用less,这为您提供了与通常使用 less 命令相同的导航功能。例如,您可以使用键盘上的 F 和 B 键浏览日志。
如果您想更改系统输出日志的顺序,即先显示最新的日志linux服务器搭建,您可以在命令中使用 -r 标志。 -r 标志代表反向。
sudo journalctl -r
查看内核日志日志
内核日志在 Linux 上非常重要,因为它们包含从系统启动时起与系统相关的信息。要仅查看内核日志linux 系统日志分析工具,请使用journalctl命令指定-k标志:
sudo journalctl -k
输出还将列出一些内核信息,例如内核版本及其名称。
按特定程序过滤journald日志
您还可以使用journalctl 查看与特定程序或服务相关的日志。例如,要查看与 cron 服务关联的日志,请运行以下命令:
sudo journalctl -u cron
实时查看日志消息
有时您可能希望在记录日志时实时查看日志。为此,请发出以下命令:
sudo journalctl -f
使用 Ctrl + C 键盘快捷键退出实时视图。
按日期获取日志消息
您可以使用journalctl 使用时间戳来过滤和分析日志。例如,要显示从昨天到现在的日志:
sudo journalctl --since=yesterday
您可以通过使用详细的“自”和“直到”时间戳来更加具体,如下所示:
sudo journalctl --since="2021-07-17 12:00:00" --until="2021-07-17 15:00:00"
Journalctl 只会显示指定时间段内的日志消息。
按 UID 或 PID 查看日志消息
您还可以使用用户 ID (UID) 或进程 ID (PID) 过滤日志日志。基本语法是:
sudo journalctl _UID=0
…其中 0 是 root 帐户的 UID。您还可以将上述命令中的 UID 替换为 PID 或 GID(组 ID)。
格式化journalctl输出
要使用特定输出格式查看journalctl日志,您应该使用journalctl -o命令,后跟您的首选格式。例如,要以漂亮的 格式显示日志,请运行以下命令:
sudo journalctl -o json-pretty
输出 :

在Linux上配置journald
本指南向您展示了如何使用journalctl命令在Linux上查看和分析journald日志消息。 /var/log/journal 目录存储所有日志日志。请注意,并非所有 Linux 发行版都默认启用日志记录。
您可以使用 /etc/systemd/journald.conf 文件来配置或更改 PC 上的日志配置。除了有效的日志服务之外,如果您认真对待 Linux 服务器的安全性,还有一些其他工具是必须的。
