正常运行时间监控
请求方法
GET 或 POST。POST 可用于检查只接受写入操作的端点(例如 webhook 接收端自身的健康检查)。
TCP 端口检查
并非所有服务都使用 HTTP——数据库、邮件服务器、游戏服务器等。此时可以将 URL 填写为 tcp://host:port,而不是 http(s):// 形式,Dumza 会检查该端口是否接受连接,而不是发起 HTTP 请求。方法、期望状态码、关键词和响应时间阈值这些选项不适用于 TCP 检查,表单中会自动隐藏;告警、事件等其他功能则完全相同。
期望状态码
任何返回结果与你期望的状态码不符的端点都会被视为宕机。这不限于 200——许多 API 在健康时会正确返回 201、204,甚至 401/503(例如某个本来就应该要求身份验证的端点)。请将其设置为你的端点在真正健康时会返回的状态码。
关键词检查
你可以选择要求(或禁止)响应正文中出现某段特定文字——这对于即使页面内部出了问题、仍会返回 200 的端点很有用(例如某个 CMS 在返回 200 状态码的同时展示了一个通用错误页面)。选择“包含”表示要求出现该文字,选择“不包含”表示该文字出现时视为失败(适合用来捕获应用在维护模式下仍返回 200 但显示维护横幅的情况)。
响应时间阈值
设置一个可接受的最大响应时间,响应正确但速度过慢的检查会被标记为“降级”而不是“宕机”——它会显示在你的控制台上,并计入正常运行时间统计,但不会创建事件,也不会发送告警。“降级”是一个需要关注的信号,而不是需要立即通知任何人的信号。
检查间隔
Dumza 检查该端点的频率。免费版每 5 分钟检查一次;付费版最短可低至每 1 分钟检查一次。间隔越短,发现故障的速度越快,但代价是你的服务器会收到更多请求。
告警时机:notifyAfter 与重复告警
“连续失败 N 次后告警”控制着连续多少次检查失败会创建一个事件(最小值为 2,以避免单次抖动引发误报)。此外,“每 N 分钟重复告警”(可选,最小值为 30)会在监控项持续宕机期间反复发送通知——如果你团队的第一次告警被漏看了,这个功能会很有用。
监控状态含义
up(正常)——最近一次检查通过。down(宕机)——存在一个未关闭的事件。degraded(降级)——有响应,但慢于你设置的阈值。pending(等待中)——尚未运行过检查(刚创建,或已暂停)。auth_error(身份验证错误)——某个需要凭据的监控项的登录令牌被拒绝;参见《身份验证监控》。
暂停监控项
被暂停的监控项将完全停止被检查,其上任何未关闭的事件也会自动关闭——它不会因为一个你主动下线的服务(计划内维护、下线处理)而持续告警。你可以随时恢复它以重新开始监控。