Cron 监控
Cron 监控让你跟踪定时任务(例如备份、批处理或周期性脚本),并在它们没有按时运行时收到通知。这有助于确保关键的后台流程始终按预期工作。
和其他监控一样,当 cron 任务失败时,你可以和团队协作解决该事件,也可以选择更新你的状态页。
下面是 cron 监控列表的示例:

主要功能
- 验证 cron 任务是否按时运行(依靠任务发来的 ping)。
- 任务延迟或没有完成时收到告警。
- 通过 Slack、邮件、短信、电话呼叫等方式接收告警。
点击某个 cron 监控后,你可以看到更多详情:

添加第一个 cron 监控
要添加监控,请进入你的项目 → 监控 → 添加监控。

监控类型
选择 Cron/心跳作为监控类型。

系统会为你生成一个唯一的 URL。你的 cron 任务每次运行时都应该向这个 URL 发送一个 HTTP 请求(HEAD、GET 或 POST)。
满足以下条件时视为监控成功
当任务按计划 ping 生成的 URL 时,cron 监控就算成功。你可以配置:
- **周期:**任务应该多久运行一次(例如每 15 分钟)。
- **宽限期:**在判定任务故障之前额外允许的时间。
如果到了周期时间任务仍未 ping,监控会被标记为性能下降。
如果到了宽限期任务仍未 ping,监控会被标记为故障。
你可以设置告警,在任务故障、性能下降或恢复时收到通知。
主动上报失败
有时候即使任务运行了并且 ping 了监控,你仍想显式地把它标记为失败。
方法是向监控 URL 后面追加 /fail 并发送请求。
如果你的脚本遇到错误,想让 Instatus 立刻把该任务记录为失败,这就很有用。
- 成功 ping:
https://cron.instatus.com/your-unique-url - 失败 ping:
https://cron.instatus.com/your-unique-url/fail
收到失败信号后,监控会被标记为故障,并立即按照你的告警设置发送告警。
测量任务执行时长
你可以通过发送两个请求来测量任务的执行时长:
- 开始信号:任务开始时向
/start发送请求 - 成功/失败信号:任务完成或失败时向基础 URL 发送请求
- 开始 ping:
https://cron.instatus.com/your-unique-url/start - 成功 ping:
https://cron.instatus.com/your-unique-url - 失败 ping:
https://cron.instatus.com/your-unique-url/fail
开始信号与成功信号之间的时间会被记录为任务的执行时长。这有助于你跟踪性能,找出耗时超出预期的任务。
如果任务在发送开始信号之后失败了,请发送失败信号而不是成功信号,这样既标记为失败,也能记录执行时长。
恭喜,你已经添加了第一个 cron 监控!