每天收到的巡检日报只有一行失败十八条,没有地址也没有状态码。想复现得自己猜是哪一批页面,两个人对着猜了一上午。
把日志和配置对完,能解释这个现象的基本就这几处。汇总脚本只统计计数,明细被丢掉了;日志级别设成只记失败总数;报告模板没有预留明细字段;历史结果不落库,无法按日期回看。
第一件事是让脚本输出逐条明细
xargs -I{} curl -s -o /dev/null -w '%{http_code} {}\n' {} < urls.txt > result.txt
报告里带上状态码与耗时
awk '$1!=200' result.txt
再往下把每日结果按日期存档
cp result.txt /var/log/check/$(date +%F).txt
日报附上前一天新增的失败项
comm -13 /var/log/check/$(date -d yesterday +%F).txt result.txt
这次没动代码,只在配置和运行环境上找原因。
别只看报错消失,验证要多做一步。日报里能直接点到失败地址,同一问题的复现时间从半天缩到十分钟,交接也不用再口口相传。
巡检的价值一半在发现一半在可复现,只报数量的报告等于把排查成本转给了下一个人。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。
