Linux日志分析需聚焦时间、服务、异常与上下文,优先检查/var/log/messages、auth.log、dmesg等关键路径,善用journalctl和grep精准过滤,避免盲目cat全文,并警惕忽略WARN、时区不一致及脱离上下文三大误区。

Linux日志分析不是“翻文件”,而是有逻辑、有重点的排查动作。新手常花大量时间盲目刷屏,结果漏掉关键线索。核心在于:盯住时间、定位服务、过滤异常、验证上下文。
盯住几个关键日志位置
别从头翻起,先看这几个最常出问题的路径:
- /var/log/messages 或 /var/log/syslog:系统级事件汇总,比如服务崩溃、网络中断、IO错误,适合快速定位大范围异常
- /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS):所有登录、sudo、SSH行为都在这,暴力破解、误操作、权限失败一眼可见
-
/var/log/dmesg 和 /var/log/kern.log:硬件和内核层问题,如磁盘坏道、驱动加载失败、内存报错,用
dmesg -T查带时间戳的启动后内核消息 - /var/log/cron.log:定时任务是否执行、有没有被静默跳过、脚本退出码是否为0,比看 crontab 更真实
别用“cat 全文”查问题
手动滚动日志效率极低,也容易忽略时间顺序。正确做法是组合命令精准提取:
- 查最近10分钟的错误:
journalctl --since "10 minutes ago" | grep -i "error\|fail\|denied" - 找某用户反复失败登录:
grep "Failed password for" /var/log/auth.log | grep "username" | tail -20 - 统计各IP的SSH尝试次数:
awk '/Failed password/ {print $11}' /var/log/auth.log | sort | uniq -c | sort -nr | head -10
注意:journalctl 是 systemd 系统的首选,比直接读文件更可靠,尤其当 rsyslog 没运行时它仍能回溯。
标签: linux word centos go nginx ubuntu ai
还木有评论哦,快来抢沙发吧~