现场是这样的。站点有 /p/ /news/ /doc/ 三个目录 监控脚本每天只取总索引数 波动小于 3% 就不告警 十月份 /doc/ 因模板报错整目录掉出 8000 条 被 /news/ 的新增盖住 两周后才在人工巡检里发现

中间走过弯路,把「没有按目录设置独立阈值和基线」当成主因,改完现象没变。

原因不止一个,得分开看。监控粒度只有站点级 没有目录级拆分;总量此消彼长 增量掩盖了局部塌方;目录级数据要解析分目录接口 没人愿意做。

先按目录拆分统计索引地址数

awk -F/ '{print "/"$4}' index.txt | sort | uniq -c

给每个目录建独立基线并设阈值

python monitor.py --dir /doc/ --drop 5%

然后确认 /doc/ 掉出的具体原因

grep -c '/doc/' access.log

末了把目录级曲线接入告警

curl -s 'https://api.example.com/index?dir=/doc/'

怎么算真的好了,看的是同一批现象。目录级曲线能单独看到拐点 阈值触发后十分钟内收到告警 补回后曲线回到基线。

提醒一点。站点越大 总量越钝 监控要按业务目录切 别用一个数字代表几万个页面。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189