知识卡片

定时任务监控的核心难题是数据缺失即故障信号

专业/工作 · 1219.i

内容

定时任务(cron作业)监控之所以棘手,是因为它和大多数监控场景的信号方向正好相反:大多数监控是”出现异常数据就告警”,而定时任务失败的典型表现却是”该有的数据没有出现”——备份任务默默失败、日志里既没记录成功也没记录失败,往往要过几周才被人偶然发现。常规监控工具很擅长对已存在的数据设阈值告警,却天然不擅长对”数据缺失”这种否定性事件做出反应。一种朴素但有效的解法是主动把失败也转化成一条日志记录:让脚本在失败时把 Job failed 写入日志文件(比如用 run-backup.sh 2>&1 backup.log || echo "Job failed" > backup.log 这样的写法),这样原本”沉默的失败”就变成了监控系统能识别和告警的”存在的数据”。

参考来源

《监控运维实践 原则与策略-2021》第8章《服务器监控》