在 Linux 系统中,“搜索异常日志”通常指从系统或应用日志中找出错误、警告、异常堆栈等信息。下面按常见场景 + 实用命令给你一个清晰指南。
/var/log/messages # 系统一般日志(CentOS/RHEL)
/var/log/syslog # 系统一般日志(Ubuntu/Debian)
/var/log/dmesg # 内核启动信息
/var/log/secure # 安全、登录相关
/var/log/cron # 定时任务
/var/log/nginx/
/var/log/httpd/
/var/log/mysql/
/var/log/app/(自定义)
journalctl
grep -i "error" /var/log/syslog
grep -i "fail" /var/log/messages
grep -iE "error|exception|warn|fail" /var/log/app.log
常用关键词:
errorexceptionfail / failedwarningtimeoutdeniedpanicgrep -i "error" -C 5 /var/log/app.log
# -C 5 表示前后各 5 行
或:
grep -i "error" -A 10 -B 5 /var/log/app.log
tail -f /var/log/syslog | grep -i error
journalctl -p err -xb
级别说明:
errcritalertemergjournalctl -u nginx -p err
journalctl -u docker.service --since "1 hour ago"
journalctl -f
journalctl -u mysql -f
journalctl --since "2026-01-21 10:00" --until "2026-01-21 11:00"
journalctl --since "30 min ago"
grep -i "error" /var/log/syslog | wc -l
grep -i "error" /var/log/syslog | awk '{print $5}' | sort | uniq -c | sort -nr
grep -n "Exception" app.log
sed -n '100,200p' app.log
logrotate:防止日志过大lnav:日志浏览器(支持高亮)ELK / Grafana Loki:大规模日志分析fail2ban:自动识别异常登录# 1. 系统级
journalctl -p err -xb
# 2. 应用级
tail -n 500 /var/log/app.log | grep -i error
# 3. 实时
tail -f /var/log/app.log | grep -i exception
如果你愿意,可以告诉我:
我可以直接给你针对你环境的命令。