Linux 日志体系与日志分析
Linux 日志体系与日志分析
一、Linux 日志体系概述
Linux 中的大多数服务都会生成日志文件,日志用于记录系统运行状态、服务异常、访问请求以及用户操作记录。
常见日志类型:
| 日志类型 | 作用 |
|---|---|
| 系统日志 | 记录系统运行与内核事件 |
| 安全日志 | 记录 SSH、sudo 登录行为 |
| 服务日志 | 记录 nginx、mysql 等服务状态 |
| 应用日志 | 记录程序运行与报错信息 |
日志目录通常位于:
1 | |
查看日志目录:
1 | |
二、常见核心日志文件
系统日志
CentOS:
1 | |
Ubuntu:
1 | |
主要记录:
- 系统运行信息
- 服务异常
- 内核事件
安全日志
CentOS:
1 | |
Ubuntu:
1 | |
主要记录:
- SSH 登录
- sudo 操作
- 登录失败信息
查看 SSH 登录失败:
1 | |
定时任务日志
1 | |
用于排查:
- crontab 未执行
- 定时任务异常
Nginx 日志
访问日志:
1 | |
错误日志:
1 | |
三、日志查看命令
tail
查看最后内容:
1 | |
实时监控日志:
1 | |
查看最后 50 行:
1 | |
less
适合查看大日志文件:
1 | |
常用操作:
| 操作 | 作用 |
|---|---|
| /keyword | 搜索关键字 |
| n | 下一个匹配 |
| N | 上一个匹配 |
| Shift + G | 跳到文件尾 |
| gg | 跳到文件头 |
| q | 退出 |
grep
用于日志过滤与关键字搜索。
搜索 ERROR:
1 | |
忽略大小写:
1 | |
显示行号:
1 | |
实时过滤错误:
1 | |
四、journalctl 与 systemd 日志
现代 Linux 使用 systemd 管理服务,其日志统一由 journalctl 管理。
查看服务日志:
1 | |
查看最近 20 行:
1 | |
实时监控:
1 | |
查看系统错误:
1 | |
五、日志分析思路
运维排查问题时,应建立以下流程:
1 | |
典型流程:
1 | |
六、常见故障排查
Nginx 启动失败
检查状态:
1 | |
查看日志:
1 | |
常见错误:
1 | |
通常表示:
- 端口被占用
- 配置错误
SSH 无法登录
实时查看安全日志:
1 | |
常见错误:
1 | |
表示认证失败。
网站出现 500 错误
查看错误日志:
1 | |
常用于定位:
- PHP 报错
- Python 程序异常
- 权限问题
七、日志分析常用组合
查看监听异常:
1 | |
统计错误数量:
1 | |
提取访问 IP:
1 | |
筛选 500 请求:
1 | |
八、日志轮转
Linux 使用 logrotate 管理日志文件,避免日志无限增长。
主要功能:
- 自动切分日志
- 压缩历史日志
- 删除旧日志
常见配置目录:
1 | |
九、运维中的日志意识
日志是 Linux 运维最重要的信息来源。
排查问题时应优先:
1 | |
而不是直接:
- 重启服务
- 重装程序
- 修改系统配置
具备日志分析能力,是 Linux 运维的重要基础。
Linux 日志体系与日志分析
https://blog.sh462li.top/2026/06/09/Linux/Linux 日志体系与日志分析/