Ubuntu Stream 8 系统日志分析实操指南
一 核心定位与常用入口
- 日志集中与检索:使用 journalctl 查询由 systemd 统一管理的日志,支持按服务、时间、优先级等维度检索与实时跟踪。
- 传统文本日志:查看 /var/log/ 下的关键文件,如 syslog(综合系统日志)、auth.log(认证与 SSH)、kern.log(内核消息)、dmesg(内核环缓冲/启动期硬件信息)、以及按日轮转的旧日志(如 .1、.2.gz)。
- 图形化工具:桌面环境可用 GNOME Logs 或 KDE Logs 进行可视化浏览。
- 权限提示:多数日志仅对 root 或 adm 组可读,必要时使用 sudo。
二 高频场景与命令组合
- 实时跟踪最新系统日志:
- 查看某服务最近的错误并带上下文:
- journalctl -u nginx.service --since “2 hours ago” -p err -e
- 认证安全排查(失败登录 Top 5 来源 IP):
- grep “Failed password” /var/log/auth.log | awk ‘{print $11}’ | sort | uniq -c | sort -nr | head -5
- 内核与驱动问题定位:
- dmesg -T | grep -i “error|fail|oom”
- 统计某时间段的错误数(以当天为例):
- journalctl --since today -p err | wc -l
- 查看本次启动日志:
- 查看上一次启动日志:
- 关联分析思路:先用时间窗口(如“过去 30 分钟”)缩小范围,再按“服务/进程名 + 关键字(error/fail/timeout)”联动 journalctl 与 /var/log 文件交叉验证。
三 日志文件职责速查表
| 路径 |
作用与典型内容 |
| /var/log/syslog |
通用系统日志(Debian/Ubuntu),服务启停、系统事件等 |
| /var/log/auth.log |
登录、sudo、SSH 等认证事件(安全排查首选) |
| /var/log/kern.log |
内核消息(硬件、驱动、OOM 等) |
| /var/log/dmesg |
内核环缓冲与启动期硬件检测信息 |
| /var/log/boot.log |
启动过程服务输出 |
| /var/log/messages |
通用系统日志(RHEL/CentOS 常见,Ubuntu 以 syslog 为主) |
| /var/log/secure |
安全与认证日志(RHEL/CentOS 常见) |
| /var/log/*.gz |
轮转归档的旧日志,需用 zcat/zgrep/zless 查看 |
| 说明:不同发行版路径略有差异,上表覆盖 Ubuntu/Debian 与常见通用路径。 |
|
四 日志轮转与空间治理
- 机制与配置:使用 logrotate 按日/周轮转、压缩与清理旧日志;全局配置 /etc/logrotate.conf,服务配置在 /etc/logrotate.d/。
- 手动测试与强制执行:
- sudo logrotate -d /etc/logrotate.conf(干跑)
- sudo logrotate -f /etc/logrotate.conf(强制执行)
- 清理 journal 历史:
- 按时间保留:sudo journalctl --vacuum-time=7d
- 按占用保留:sudo journalctl --vacuum-size=500M
- 持久化与磁盘:若需跨重启保留更多历史,可启用持久化存储:sudo mkdir -p /var/log/journal(并确保磁盘空间充足)。
五 进阶分析与可视化
- 轻量日报:安装并使用 Logwatch 生成每日摘要报告(适合例行巡检)。
- 集中式与可视化:搭建 ELK Stack(Elasticsearch/Logstash/Kibana) 或 Graylog 做大规模日志聚合、检索与仪表盘;小规模可用 Grafana Loki 与 Promtail 组合。