Linux日志分析是理解结构、定位线索、结合上下文快速判断根源的过程,核心在于知道看什么、在哪看、怎么看、怎么关联,并通过分类日志路径、三板斧筛选、解读信号及跨服务串联实现高效排障。

Linux日志分析不是“翻文件”,而是通过理解日志结构、定位关键线索、结合上下文快速判断问题根源的过程。核心在于:知道看什么、在哪看、怎么看、怎么关联。
一、搞清日志在哪、分哪几类
Linux日志分散在多个位置,不同服务写入不同路径,不能只盯/var/log/messages:
- 系统级日志:/var/log/syslog(Debian/Ubuntu)、/var/log/messages(RHEL/CentOS),记录内核、systemd、基础服务启动/错误
- 服务专属日志:/var/log/nginx/access.log、/var/log/mysql/error.log、/var/log/secure(认证相关),必须查对应服务的配置确认实际路径
- journald日志:systemd系统默认启用,用journalctl查,比文本日志更结构化(含PRIORITY、UNIT、SYSLOG_IDENTIFIER等字段)
- 应用自定义日志:比如Java应用常写到/opt/app/logs/app.log,得看部署文档或ps -ef | grep java找参数
二、快速定位问题的三板斧
别从头滚日志。先用时间、级别、关键词锚定异常段落:
- 按时间筛选:journalctl --since "2024-04-10 14:30:00" --until "2024-04-10 14:45:00"
- 按服务/单元过滤:journalctl -u nginx.service -p err(只看nginx的error及以上级别)
- 文本日志中精准搜:grep -i "connection refused\|timeout\|segfault\|oom" /var/log/messages | tail -20;用awk '{print $1,$2,$3,$NF}'快速看时间+末尾状态
三、读懂日志里的“人话”信号
日志不是乱码,每行都有模式。重点关注这几类信息:
标签: mysql linux java centos nginx app access 端口 ubuntu ai stream
还木有评论哦,快来抢沙发吧~