探索 journalctl 的过滤选项
在这一步中,我们将探索 journalctl
命令提供的各种过滤选项。过滤功能可以帮助你缩小日志条目的范围,专注于与你的故障排查或监控需求相关的特定信息。
首先,让我们根据日志级别过滤日志。要仅查看错误和严重级别的日志条目,可以使用 -p
(priority,优先级)选项:
sudo journalctl -p err..crit
这将仅显示优先级为“error”或更高(critical)的日志条目。
示例输出:
Apr 25 10:00:00 labex systemd[1]: Failed to start Login Service.
Apr 25 10:00:01 labex sshd[123]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
接下来,你可以根据特定的服务或系统单元过滤日志。例如,要查看 SSH 守护进程的日志,可以使用 -u
(unit,单元)选项:
sudo journalctl -u sshd.service
这将显示与 SSH 守护进程相关的所有日志条目。
你还可以根据特定的时间范围过滤日志。要查看过去 30 分钟的日志,可以使用 -n
(number,数量)和 -s
(since,自)选项:
sudo journalctl -n 100 -s "30 minutes ago"
这将显示过去 30 分钟内的最后 100 条日志条目。
另一个有用的过滤选项是 -b
(boot,启动)选项,它允许你查看特定启动会话的日志。例如,要查看当前启动会话的日志,可以使用:
sudo journalctl -b
你还可以结合多个过滤选项以进一步优化搜索。例如,要查看过去 30 分钟内 SSH 守护进程的错误和严重日志条目,可以使用:
sudo journalctl -u sshd.service -p err..crit -n 100 -s "30 minutes ago"
通过探索这些过滤选项,你可以有效地浏览和分析系统日志,以排查问题、监控系统健康状况,并深入了解你的 Linux 环境。
在下一步中,我们将深入探讨 journalctl
命令的更高级用例和实际示例。