温馨提示×

如何定位linux日志异常

小樊
42
2026-09-20 18:34:25
栏目: 智能运维

在 Linux 系统中定位日志异常,通常需要明确目标 → 找到日志 → 过滤分析 → 关联定位。下面给你一套实用、可操作的方法。


一、先确定“异常”类型

不同异常看不同地方:

  • 系统级异常:宕机、重启、OOM、硬件 → /var/log/messagesdmesg
  • 服务异常:Nginx、MySQL、Docker → 各自日志目录
  • 登录/安全异常:SSH 暴力破解 → /var/log/secure
  • 应用异常:业务报错 → 应用自定义日志

二、常见日志文件位置

/var/log/messages      # 通用系统日志(CentOS/RHEL)
/var/log/syslog        # 通用系统日志(Ubuntu/Debian)
/var/log/dmesg         # 内核启动及硬件信息
/var/log/secure        # 认证、SSH 登录
/var/log/cron          # 定时任务
/var/log/nginx/        # Nginx 日志
/var/log/mysql/        # MySQL 日志
journalctl             # systemd 日志

三、快速定位异常的基本命令

1. 查看实时日志

tail -f /var/log/messages
journalctl -f

2. 搜索错误关键词

grep -i error /var/log/messages
grep -i "failed" /var/log/secure

3. 按时间范围过滤

journalctl --since "2026-01-21 10:00" --until "2026-01-21 11:00"

4. 查看某个服务日志

journalctl -u nginx.service
journalctl -u docker.service

四、常见异常定位思路

1. 系统突然变慢 / 宕机

dmesg | grep -i "oom\|kill\|error"
free -h
top

重点看:

  • Out Of Memory
  • 磁盘满
  • CPU 占用异常

2. SSH 登录异常

grep "Failed password" /var/log/secure
last

判断是否被暴力破解。

3. 服务启动失败

systemctl status xxx
journalctl -xe

通常最后几行就是关键错误。

4. 磁盘 / 文件异常

df -h
du -sh /var/log/*

日志过大也可能引发异常。


五、高级技巧

1. 多关键字联合分析

grep -E "error|timeout|refused" /var/log/syslog

2. 统计异常频率

grep "Failed password" /var/log/secure | awk '{print $1,$2}' | sort | uniq -c

3. 日志切割问题

ls -lh /var/log/
logrotate --debug /etc/logrotate.conf

六、推荐工具

  • less(大文件查看)
  • grep / awk / sed
  • journalctl
  • lnav(日志可视化)
  • ELK / Grafana Loki(生产环境)

七、总结套路

看现象 → 定日志 → 搜关键字 → 看时间线 → 关联系统状态

如果你能告诉我:

  • 用的是 CentOS 还是 Ubuntu
  • 异常是 服务起不来 / 登录异常 / 性能问题
  • 有没有 具体报错信息

我可以给你更精准的定位命令。

0