Uptime Robot 状态变更推送器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/uptime-robot-status-page-webhook-alerter。
技能介绍
要解决的问题
监控探针能告诉你「某个域名挂了」,但状态页(status page)上的变化往往更复杂:服务从 degraded 恢复到 operational、维护窗口开始、分区级故障降级。运维人员真正需要的,是把这些状态转换及时推到已有的协作通道里,而不是定期去刷 UptimeRobot 的控制面板。
这个技能解决的就是这段从监控数据到告警投递的衔接:它不自己造轮子去轮询业务,而是复用 UptimeRobot 已有的探测器,把状态页上的变化事件转成 Webhook 通知。
工作方式
核心依赖 UptimeRobot 的 getMonitors 接口。技能通过该端点拉取当前 monitors 列表,对比前后两次的状态字段,识别出 宕机转换(downtime transition) 这一类关键事件,然后向预先配置的 Webhook 目标投递告警。
典型链路可以概括为三步:
- 调用
getMonitors获取 monitors 及其当前状态 - 在状态快照之间做差分,筛出 downtime 相关的转换
- 通过 Webhook 把事件推送到 Slack 频道或 PagerDuty service
支持的目标端点:
- Slack:适合按频道分发,便于值班轮换的团队直接在频道里看到
- PagerDuty:适合需要触发 on-call 轮值和升级策略的场景
前置条件只有两条:一个 UptimeRobot 账号,以及一个可用的 API key 或 Webhook 目标地址。
适用边界与注意点
几个需要留意的地方:
- 事件检测依赖状态字段的对比,因此上游必须持续产出可比的快照。如果 monitors 数量很大,单次
getMonitors的返回体也会很大,拉取频率需要在实时性和 API 配额之间取舍。 - 该技能只处理状态转换这一层,不负责解释故障根因,也不做历史趋势分析。如果需要聚合告警或去重,应该放在 Webhook 的下游(比如 PagerDuty 的 dedupe 策略)处理。
- 上游仓库并未提供可自动提取的安装与使用说明,在把这套流程接进敏感的生产工作流之前,建议先通读 UptimeRobot 的 API 文档,确认权限范围和 webhook 目标端的接收约定。
文档参考:https://uptimerobot.com/api/
使用场景
- 服务宕机恢复后,需要在 UptimeRobot 状态页显示 operational 时自动推送到值班频道,不用人工刷面板
- 团队使用 PagerDuty 排班,需要在 UptimeRobot 检测到宕机转换时自动触发 on-call 告警
- 维护多个 monitors,需要定期比对 getMonitors 状态快照,筛出 downtime 转换后发 Webhook 通知
适合人员
- SRE 工程师:值班时需要第一时间收到 UptimeRobot 状态页的宕机与恢复事件,而不是刷控制面板
- DevOps 工程师:负责把监控状态转换接入 Slack 或 PagerDuty,统一告警通道
- IT 运维人员:维护多个 UptimeRobot monitors,需要自动把 downtime 转换转成团队可收到的通知