0

0

LINUX怎么查看系统日志_Linux journalctl与/var/log日志文件分析【故障排查】

穿越時空

穿越時空

发布时间:2026-01-04 16:57:34

|

163人浏览过

|

来源于php中文网

原创

定位Linux系统异常需结合journalctl与/var/log/日志:1. journalctl支持按服务、时间、级别实时查错;2. /var/log/含messages/syslog、auth.log/secure、kern.log等结构化文件;3. 二者可交叉验证,检查rsyslog转发、journal配额及时间戳一致性。

linux怎么查看系统日志_linux journalctl与/var/log日志文件分析【故障排查】

如果系统出现异常行为或服务无法正常启动,查看系统日志是定位问题根源的关键步骤。Linux 提供了两种主要日志机制:基于 systemd 的 journalctl 日志和传统存储在 /var/log/ 目录下的结构化日志文件。以下是针对这两种日志源的详细排查方法:

一、使用 journalctl 查看 systemd 日志

journalctl 是 systemd 系统和服务管理器的日志查询工具,所有由 systemd 启动的进程日志均被集中记录,支持时间过滤、服务筛选与实时跟踪。

1、查看全部系统日志(从最早到最新):
执行 journalctl 命令,不带参数时默认显示全部日志条目。

2、查看最近一次启动的日志:
执行 journalctl -b,该命令仅显示当前引导会话的日志,避免历史启动干扰。

3、查看指定服务的日志(如 sshd):
执行 journalctl -u sshd.service,可精准定位某服务的启动失败、连接拒绝等事件。

4、实时跟踪新增日志条目:
执行 journalctl -f,终端将持续输出新产生的日志,适合配合故障复现操作观察响应。

5、按优先级筛选错误级别日志:
执行 journalctl -p err,仅显示 error 及更严重级别(如 alert、crit)的日志行。

二、读取 /var/log/ 下的核心日志文件

/var/log/ 目录存放由 rsyslog 或 syslog-ng 等传统日志守护进程写入的持久化文本日志,内容稳定、便于长期归档与跨工具分析,常见文件包括 messages、auth.log、kern.log 等。

1、查看通用系统消息(CentOS/RHEL 使用 messages,Ubuntu/Debian 使用 syslog):
执行 sudo cat /var/log/messages(RHEL系)或 sudo cat /var/log/syslog(Debian系),获取内核、服务、计划任务等综合事件。

2、检查用户认证与权限相关日志:
执行 sudo cat /var/log/auth.log(Ubuntu/Debian)或 sudo cat /var/log/secure(RHEL/CentOS),定位 SSH 登录失败、sudo 权限拒绝、PAM 错误等安全事件。

AI小聚
AI小聚

一站式多功能AIGC创作平台,支持AI绘画、AI视频、AI聊天、AI音乐

下载

3、查看内核环缓冲区快照(等效于 dmesg 输出):
执行 sudo cat /var/log/kern.log(Debian系)或 sudo cat /var/log/dmesg,用于识别硬件初始化失败、驱动加载异常、内存错误等底层问题。

4、检索特定关键词(如 “failed”、“error”、“denied”):
执行 sudo grep -i "failed" /var/log/messages | tail -n 20,快速提取最近20条匹配行,缩小人工排查范围。

5、检查日志轮转状态及归档文件:
执行 ls -lt /var/log/*.gz /var/log/*.1,确认是否存在压缩归档日志,并可用 zcat /var/log/messages.1.gz | grep "out of memory" 检索历史压缩日志中的关键线索。

三、结合 journalctl 与 /var/log/ 进行交叉验证

systemd journal 与 rsyslog 可能并存,部分日志会被双重记录;当发现 journalctl 中存在某错误但 /var/log/ 对应文件中缺失时,说明 rsyslog 未捕获该流,需检查其配置是否启用 ForwardToJournal=yes;反之若 /var/log/ 有记录而 journalctl 无,则可能 journal 被禁用或日志存储限制导致早期条目被清除。

1、确认 rsyslog 是否将日志转发至 journal:
执行 grep "ForwardToJournal" /etc/rsyslog.conf /etc/rsyslog.d/*.conf,检查返回值是否为 yes。

2、查看 journal 当前磁盘配额与保留策略:
执行 journalctl --disk-usage 获取占用空间,再执行 journalctl --vacuum-size=500M 手动清理至指定大小(慎用)。

3、比对同一时间点的两条日志源输出:
执行 journalctl --since "2024-06-15 14:00:00" --until "2024-06-15 14:05:00" | head -n 10sudo sed -n '/Jun 15 14:00:/, /Jun 15 14:05:/p' /var/log/messages | head -n 10,逐行比对时间戳与事件描述一致性。

4、启用详细内核日志级别以增强诊断能力:
临时修改内核参数:执行 sudo dmesg -n 8,将控制台日志级别设为最高,使更多调试信息进入 journal 和 /var/log/kern.log。

5、导出指定时段完整日志用于离线分析:
执行 journalctl -S "2024-06-15 13:00:00" -U "2024-06-15 15:00:00" --all > /tmp/journal_export.log,生成纯文本副本供多工具交叉处理。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

187

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

271

2023.10.25

alert怎么实现换行
alert怎么实现换行

alert通过使用br标签来实现换行。更多关于alert相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

490

2023.11.07

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1347

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

701

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

571

2023.07.06

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

10

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7万人学习

Git 教程
Git 教程

共21课时 | 2.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号