游客发表
今天分享一下 journalctl日志查看工具,日志它不仅功能强大,神器而且使用灵活,详解可以说是日志现代 Linux 系统日志查看的「瑞士军刀」。

journalctl 是 systemd 的一部分,用于查看由 systemd-journald 收集的详解日志数据。systemd-journald 会收集内核、日志服务、神器标准输出、详解标准错误以及应用程序的日志日志信息,亿华云并统一管理、神器存储。详解
相比传统的日志 syslog + tail 方式,journalctl 提供了更强大的神器过滤、格式控制和时间跳转能力。详解
2. 基础用法(1) 查看所有日志
复制# 打印所有级别的日志 journalctl1.2.默认按时间顺序输出所有日志,可能非常长。
(2) 实时查看日志(相当于 tail -f)
复制journalctl -f1.适合监控服务运行状态,实时滚动显示最新日志。
(3) 查看系统启动日志
复制journalctl -b1.-b 参数表示查看当前启动周期的日志。-x参数显示详细信息:
复制journalctl -xb # 过滤报错信息 journalctl -xb |grep -i error1.2.3.4.(4) 按时间范围过滤日志
复制journalctl --since "2025-04-20 09:00" --until "2025-04-23 12:00" journalctl --since "2 hours ago"1.2. 3. 强大的过滤机制(1) 按服务过滤日志
复制journalctl -u docker.service journalctl -u nginx.service1.2.可以看到 nginx 服务的IT技术网所有日志。
(2) 查看特定 PID 的日志
复制journalctl _PID=12341.(3) 按用户 ID 过滤
复制journalctl _UID=10001.(4) 查看内核日志(类似 dmesg)
复制journalctl -k1. 4. 日志持久化配置(1) 默认日志是临时的吗?
journal产生的日志默认是临时,有些 Linux 发行版默认日志存储在 /run/log/journal/,属于非持久化,重启就没了。
(2) 如何开启日志持久化?
复制sudo mkdir -p /var/log/journal sudo systemd-tmpfiles --create --prefix /var/log/journal sudo systemctl restart systemd-journald1.2.3.重启后日志就会存储在 /var/log/journal/,永久保存。
5. 管理日志空间修改 /etc/systemd/journald.conf,添加如下配置:
复制SystemMaxUse=500M # 日志文件最大空间 SystemKeepFree=100M # 至少保留这么多磁盘空间 SystemMaxFileSize=100M # 单个日志文件最大大小 SystemMaxFiles=10 # 最多保留几个文件1.2.3.4.配置后重启服务生效:
复制sudo systemctl restart systemd-journald1. 6. 按日志级别过滤 复制journalctl -p err # 显示错误及以上级别日志 journalctl -p warning # 显示警告及以上级别日志1.2.日志级别一览(数字/名称):
数值
名称
说明
0
emerg
紧急,系统不可用
1
alert
需立刻处理
2
crit
严重
3
err
错误
4
warning
警告
5
notice
正常但重要信息
6
info
一般信息
7
debug
调试信息
随机阅读
热门排行
友情链接