在 Linux 系统中定位日志异常,通常需要明确目标 → 找到日志 → 过滤分析 → 关联定位。下面给你一套实用、可操作的方法。
不同异常看不同地方:
/var/log/messages、dmesg/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 日志
tail -f /var/log/messages
journalctl -f
grep -i error /var/log/messages
grep -i "failed" /var/log/secure
journalctl --since "2026-01-21 10:00" --until "2026-01-21 11:00"
journalctl -u nginx.service
journalctl -u docker.service
dmesg | grep -i "oom\|kill\|error"
free -h
top
重点看:
grep "Failed password" /var/log/secure
last
判断是否被暴力破解。
systemctl status xxx
journalctl -xe
通常最后几行就是关键错误。
df -h
du -sh /var/log/*
日志过大也可能引发异常。
grep -E "error|timeout|refused" /var/log/syslog
grep "Failed password" /var/log/secure | awk '{print $1,$2}' | sort | uniq -c
ls -lh /var/log/
logrotate --debug /etc/logrotate.conf
less(大文件查看)grep / awk / sedjournalctllnav(日志可视化)ELK / Grafana Loki(生产环境)看现象 → 定日志 → 搜关键字 → 看时间线 → 关联系统状态
如果你能告诉我:
我可以给你更精准的定位命令。