日志高效排查
日志高效排查
ZhangCurry日志几百兆怎么看?运维老鸟常用的高效排查套路
在日常运维和开发工作中,日志就是系统的“黑匣子”。无论是排查故障、监控运行状态,还是追踪安全事件,日志往往能给我们提供最关键的线索。
然而,很多新人常常“看得见,却看不懂”,要么面对动辄上百兆的日志文件束手无策,要么在调试问题时找不到重点信息。今天,我们就来系统梳理一下 Linux 日志查看的常用方法与实战技巧,帮你从入门到进阶,玩转日志排查!
Linux 日志都藏在哪里?
日志文件大多集中在 /var/log/ 目录下,不同服务有对应的日志:
系统级日志
/var/log/messages:系统核心日志,涵盖内核消息、进程运行情况等。
/var/log/syslog:在 Ubuntu/Debian 系统中取代 messages 的角色。
安全与认证日志
/var/log/auth.log(Debian/Ubuntu)
/var/log/secure(CentOS/RHEL)
记录登录、sudo 使用、SSH 认证等安全事件。
服务相关日志
/var/log/nginx/:Nginx 的访问日志 (access.log) 和错误日志 (error.log)
/var/log/apache2/:Apache日志
/var/log/mysql/:MySQL 启动、查询、错误日志
定时任务日志
/var/log/cron:所有定时任务的执行情况。
👉 小技巧:当你不知道某个服务的日志在哪,可以直接去
/var/log/下按服务名搜索。
日志查看的常用命令
1. cat 直接输出日志
适合小文件、快速浏览。
1 | # 查看系统日志 |
2. tail 实时追踪日志(最常用)
1 | # 实时输出新增日志 |
3. head 查看日志开头部分
1 | # 默认 10 行 |
4. more/less 分页查看大日志
当日志文件几百 MB 时,分页浏览才不会“卡屏”。
1 | # 按空格翻页 |
日志分析进阶:筛选与提取
1. grep 关键词搜索
1 | # 查找 SSH 登录失败记录 |
2. awk 按列提取
1 | # 提取 Nginx 日志中的 IP 和路径 |
3. sed 按条件取日志片段
1 | # 查看第 100-200 行 |
4. 按时间筛选
1 | # 查找 2023-10-01 08:00 ~ 09:00 的访问记录 |
日志轮转与归档
Linux使用 logrotate 定期压缩和归档日志:
1 | messages-20231001.gz |
1 | secure.1 |
查看归档日志:
1 | # 直接查看压缩文件 |
实战案例
场景 1:排查 SSH 登录失败
1 | grep "Failed" /var/log/auth.log | tail -n 20 |
快速定位可疑 IP,防止暴力破解。
场景 2:分析 Nginx 访问突增
1 | tail -n 10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 5 |
一眼看出“流量大户”,帮助甄别是否遭遇爬虫或攻击。
场景 3:跟踪服务启动报错
1 | journalctl -b | grep -i "failed" |
在systemd系统上,journalctl 是必备神器,比传统日志更全面。
总结
日志排查的核心思路可以概括为:
找到 → 过滤 → 提取 → 分析
找到:熟悉 /var/log/ 目录和服务日志位置
过滤:用 grep、awk、sed 精准提取
提取:结合字段,按 IP、时间、状态码等统计
分析:形成自己的“故障排查手册”
掌握这些方法,能让你在面对故障时不再“瞎子摸象”,而是有章可循、快速定位问题。
日志是系统留给我们的“线索”,学会读懂它,你就能更快找到真相!
扫码关注公众号
关注我的博客
didiplus.kwpmp.cn



