凌晨两点日志把分区写满,站点从那时候起一直 500,巡检脚本第二天早上八点才推来一条告警,业务已经损失半天。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

df -h /var | awk 'NR==2 {print $5}'
du -sh /var/log/* | sort -rh | head -5
find /var/log -name '*.log' -size +1G -exec ls -lh {} \;

巡检一天只跑一次,脚本又只判断使用率有没有过 90%,中间那段暴涨没有任何采样,等它看到时早就满过一次了,日志也跟着断。这一点先确认清楚,后面就不用反复试。

「巡检频率不足」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

具体做法是,把磁盘和日志量改成分钟级采集,用增长率替代绝对阈值;日志目录单独分区并设上限,别和系统盘挤在一起;告警直接走实时通道,不要只塞进第二天的巡检日报里。

改完照着核一遍,人为灌一份大日志,两分钟内收到告警,观察周期里能看出增长曲线。

作者 9823189