linux系统日志排查需掌握journalctl、/var/log/文件和dmesg三类方法:journalctl用于systemd二进制日志,/var/log/含messages、auth.log等文本日志,dmesg专查内核环缓冲区。

Linux 系统日志是排查故障、监控服务和审计操作的重要依据。不同日志位置和工具对应不同用途,掌握几种常用方法能快速定位问题。
使用 journalctl 查看 systemd 日志
现代 Linux 发行版(如 CentOS 7+、Ubuntu 16.04+、Fedora)默认用 systemd-journald 管理日志,journalctl 是其命令行接口,日志保存在二进制格式中,无需解析文本文件。
-
查看全部日志:
journalctl -
查看最近 100 行:
journalctl -n 100 -
实时跟踪新日志:
journalctl -f(类似tail -f) -
按服务过滤:
journalctl -u sshd.service(查 SSH 服务) -
按优先级筛选:
journalctl -p err(只显示错误及以上级别) -
指定时间范围:
journalctl --since "2024-05-01" --until "2024-05-02"
读取传统 syslog 文件(/var/log/)
即使启用了 journald,很多系统仍保留传统日志路径 /var/log/,常见文件包括:
- /var/log/messages:通用系统日志(RHEL/CentOS)
- /var/log/syslog:Debian/Ubuntu 的等效日志
- /var/log/auth.log:用户登录、sudo、SSH 认证记录
- /var/log/kern.log:内核消息(含硬件、驱动相关)
-
/var/log/dmesg:开机时的内核环缓冲区快照(可用
dmesg命令实时查看)
可用 less、tail、grep 等工具直接查看,例如:sudo tail -n 50 /var/log/auth.log | grep "Failed password"
商品查询功能提供了一个快速查看商品的途径。商品查询分为基本查询和高级查询。基本查询:提供关键字和商品大类两种条件的查询,用户可以只填写关键字或者选择商品大类或者关键字和商品大类都填写来查询商品。高级查询:提供关键字,商品大类,商品小类,商品价格范围四种条件的查询,用户可以任意填写其中一种或几种的查询条件来查询想要了解的商品信息。商品查询功能大大的方便了用户,提高了网站的用户体验。(5)帮助系统模块
用 dmesg 查看内核与硬件日志
dmesg 直接读取内核环缓冲区(ring buffer),适合诊断启动问题、设备识别异常、内存错误等底层事件。
-
查看全部内核日志:
dmesg -
高亮重要信息:
dmesg -l err,warn -
按设备过滤:
dmesg | grep -i "usb\|nvme\|eth" -
清空缓冲区(需 root):
sudo dmesg -C(慎用,仅调试时临时清理)
结合 grep 和时间筛选提升效率
日志量大时,精准过滤很关键。注意几个实用技巧:
- 用
grep -i忽略大小写,如grep -i "out of memory" - 用
grep -A2 -B2显示匹配行前后各 2 行,便于看上下文 - 用
awk '/May 10/ && /sshd/ {print}' /var/log/messages按日期和服务提取 - 用
date -d "1 hour ago" "+%b %d %H:%M"生成 syslog 时间格式,辅助手动定位
不复杂但容易忽略:多数日志需要 sudo 权限 才能完整读取,尤其是 auth.log、secure 和 kernel 日志。权限不足时,journalctl 通常比直接 cat 文件更友好,因为它可通过策略控制访问粒度。









