跳到内容

我们如何通知或告警您

只有相关人员收到通知,故障才值得检测。我们通过webhooks将通知发送到您的团队所在位置和您的系统。

通知渠道

每个渠道收到相同的消息:哪个monitor、从何时开始以及原因。以下是可用渠道的列表。

  • Email 每个套餐

    发送消息到任意地址。电子邮件地址需要确认一次。

  • Webhook (POST) 每个套餐

    将包含相关数据的JSON正文发送到您提供的URL。用于自动化:创建工单、通知人员、切换状态灯。

  • Webhook (GET) 每个套餐

    与POST webhook相同的字段,但现在作为查询参数,用于接收GET请求的接收方。

  • PagerDuty 入门及以上套餐

    通过Events API v2报告事件,在故障时打开,在恢复时解决,由PagerDuty的升级机制接管。

  • Slack 专业和商业套餐

    通过webhook发送到频道的消息,红色表示故障,绿色表示恢复。

  • Microsoft Teams 专业和商业套餐

    通过webhook发送到Teams频道的相同消息。

  • Discord 专业和商业套餐

    通过频道webhook发送到Discord频道的相同消息。

  • Telegram 专业和商业套餐

    通过您的机器人发送到聊天中的相同消息。

谁在何时收到通知

先确认

不会因单个探测器的结果发送通知。只有三个大陆的探测器一致认为故障才会被认定为故障,因此警报意味着网站宕机而非网络故障。

规则和升级

规则描述了谁在何时接收到哪个monitor的通知。将值班名单放入联系人组,并为每个成员设置延迟。这可以作为您的升级策略。

恢复时通知一次

所有收到故障通知的人都会收到故障结束的通知,并附上故障持续时间。我们不会为了告知故障结束而打扰您。

提前测试

每个地址都有一个按钮,可以通过与真实告警相同的路径发送测试消息,措辞确保不会被误认为真实故障。

webhook,用于您的系统

Webhook地址是您的URL。我们会在确认故障时、恢复时以及您按下测试按钮时调用它。POST以JSON格式发送字段作为请求体;GET以查询参数发送字段。URL会加密存储,之后不会完整显示,因为持有它的人可以向其发送请求。

字段 包含内容
reason 故障时为down,恢复时为recovery,按下测试按钮时为test
monitor 监控名称
monitor_id 其id
target 监控内容:URL、主机或名称
type 检查类型,简短名称如https、dns或ssl_cert
cause 故障原因,简短描述(如果已知)
error_class 同样内容的简短名称,程序可据此分支,如timeout、connection或certificate_expired
started 故障开始时间
confirmed_at 故障确认时间
confirmed_from 确认故障的大陆,作为名称列表。
degraded 当监控变慢或丢包而非故障时为true
resolved 故障结束时间,恢复时为ISO 8601时间戳
duration 故障持续时间,恢复时以文字表示
incident_id 事件ID,故障和恢复时相同

在JSON中无值的字段为null,并在GET请求中省略。您必须返回低于400的状态码。其他状态码视为投递失败,并在30秒、2分钟和10分钟后重试,最终放弃:未在15分钟内送达的警报已成为历史,而非新闻。

创建一个免费账户