LINUX怎么查看systemd管理的日志_Linux查看Systemd日志方法

使用journalctl可查看systemd日志,支持按时间、服务、优先级筛选及导出日志:1. 执行journalctl查看全部日志;2. 用--since指定时间范围;3. -u参数查看特定服务;4. -p过滤日志级别;5. 重定向或-o导出日志文件。

如果您需要排查系统运行过程中的问题,但标准日志文件未能提供足够的信息,则可能是由于服务由systemd管理且日志存储在journald中。以下是查看systemd日志的多种方法:

本文运行环境:Dell XPS 13,Ubuntu 24.04

一、使用journalctl命令查看日志

journalctl是systemd自带的日志查看工具,可以直接访问由journald收集的结构化日志数据。该命令无需额外安装,适用于所有使用systemd的Linux发行版。

1、打开终端,输入journalctl并回车,查看完整的系统日志。

2、按方向键或Page Up/Down浏览内容,或使用鼠标滚轮滚动。

3、如需实时跟踪日志输出,执行journalctl -f,类似于tail -f功能。

二、按时间范围筛选日志

通过指定时间参数,可以缩小日志查看范围,便于定位特定时间段内的事件记录,提升排查效率。

1、查看今天的所有日志:journalctl --since today

2、查看昨天的日志:journalctl --since yesterday --until today

3、查看最近一小时的日志:journalctl --since "-1 hour"

三、查看特定服务的日志

针对某个unit(如服务)进行日志查询,有助于快速诊断具体服务的异常行为。

1、查看某个服务(例如ssh服务)的完整日志:journalctl -u ssh.service

2、结合实时模式查看服务动态:journalctl -u ssh.service -f

3、重启服务后查看最新日志:sudo systemctl restart ssh.service && journalctl -u ssh.service -n 50(仅显示最后50行)。

四、按优先级过滤日志级别

系统日志按严重程度分为多个等级,通过过滤可只显示关键错误或警告信息,减少干扰。

1、仅显示错误级别(err)及以上日志:journalctl -p err

2、查看警告信息:journalctl -p warning

3、查看包括调试信息在内的所有日志:journalctl -p debug

五、导出日志到文件以便分析

将日志导出为文本或结构化格式,可用于存档或在其他工具中进一步处理。

1、将全部日志保存为文本文件:journalctl > system_log.txt

2、以JSON格式导出日志,便于程序解析:journalctl -o json > log.json

3、导出特定服务的日志到文件:journalctl -u nginx.service > nginx.log