Linux系统日志主要查看/var/log/messages和systemd journal:前者是rsyslog聚合的文本日志,适合快速扫描告警;后者由journalctl读取二进制日志,更全更实时,排查服务启动等问题优先使用。

Linux系统日志主要看两个地方:一个是传统的 /var/log/messages(或类似路径的文本日志),另一个是 systemd 的二进制日志 journal。两者定位不同,messages 更偏向服务级、内核级的汇总信息,而 journal 记录更全、更实时,包含所有 unit、进程、启动过程等细节。
/var/log/messages 是 SysV 或传统 init 系统遗留下来的日志聚合文件,现代多数发行版(如 RHEL/CentOS 7+、Ubuntu 16.04+)默认仍保留它,但内容可能受限于 rsyslog 配置——它只记录被明确转发到 local7.* 或 *.info 等规则的日志。
tail -f /var/log/messages 实时跟踪最新日志grep "sshd" /var/log/messages 查某服务(如 ssh 登录失败、密钥拒绝等)月 日 时:分:秒,没有年份,查跨年日志需结合 ls -lt /var/log/messages* 找归档文件systemctl status rsyslog
journalctl 是查看 systemd journal 的唯一标准工具,它读取的是二进制日志(/run/log/journal/ 或 /var/log/journal/),无需解析文本格式,支持过滤、翻页、反向时间排序等。
journalctl(默认从最早开始,可按空格翻页,q 退出)journalctl -n 100
journalctl -f(类似 tail -f)journalctl -u sshd.service 或 journalctl -u nginx
journalctl -b;查上一次启动:journalctl -b -1
journalctl --since "2024-05-20 14:00:00" --until "2024-05-20 15:00:00"
二者不是互斥,而是共存协作关系。journal 是源头,messages 是 rsyslog 从中筛选后写入的“精简副本”。是否启用 messages,取决于 rsyslog 是否运行及配置中是否有 imjournal 模块和对应规则。
journalctl -u xxx --no-pager,比 messages 更直接很多问题卡在“看不到日志”,其实是权限或配置导致的:
journalctl 只能看到自己的用户会话日志;加 sudo 才能看系统级日志sudo mkdir -p /var/log/journal && sudo systemd-journald --flush,再重启 journaldLogLevel INFO 在 /etc/ssh/sshd_config 中已设置,且 PAM 日志未被禁用--no-pager 配合 grep,例如:journalctl -u docker --no-pager | grep -i "failed"
以上就是Linux系统日志怎么看_messages与journal解析【教学】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号