源站错误率 (Origin Error Rate) 告警允许您在源站层面监控您的区域,并在 Cloudflare 检测到 5xx 错误响应明显升高时收到告警。您可以选择要告警的区域以及告警的灵敏度。边缘状态码 521、522 和 523 也计为源站错误,因为它们表示无法访问您的源站。
高级错误率 (Advanced Error Rate) 告警允许您监控源站或边缘状态码。您可以选择要告警的区域和特定状态码,以及告警的灵敏度。此外,您还可以选择过滤掉某些 IP 地址,以及选择是否按状态码对告警进行分组。
设置告警后,Cloudflare 将检查哪些区域应受到错误率监控。系统会轮询 Clickhouse ABR 数据库 ↗,获取这些区域的源站 HTTP 响应码。告警中设置的服务级别目标 (SLO) ↗ 用于判断 5xx 响应码占总响应的比率是否可接受。
Cloudflare 使用燃烧率 (burn rate) 而非阈值来计算错误率。当您选择 SLO 后,系统会计算一段时间内的"错误预算"来确定燃烧率。燃烧率是该时间段内错误预算的消耗速度。例如,燃烧率为 1 表示错误预算将在设定的时间段内耗尽。
对于错误率告警,Cloudflare 采用多窗口、多燃烧率方法。系统会同时观察短时间段(五分钟)和长时间段(一小时),仅当这两个时间段内错误率均超过燃烧率时才发出告警。这可以确保在短窗口内检测到中断时快速告警,同时由于长窗口也必须被触发,从而有效减少误报。
SLO 决定告警的灵敏度。例如,如果您希望收到所有 5xx 错误峰值的告警,应选择高灵敏度。如果只想接收大型峰值告警,则应选择较低的灵敏度。
您的流量级别会影响高灵敏度告警的准确性。对于低流量区域,不建议使用高灵敏度告警,因为错误率告警可能会对每个 5xx 错误都发出告警。但如果您的区域流量非常大(每天数亿次请求),则建议使用高灵敏度 SLO。
高级错误率告警支持按状态码分组。启用状态码分组后,通知策略将分别计算 SLO 违规情况,并针对匹配到的每个状态码单独发送告警。
例如,如果高级错误率策略过滤了 500 到 599 之间的状态码,而您的域名遭受了 503 和 504 的峰值,则您将收到针对每个状态码的单独告警。若要仅接收一条告警,应禁用告警分组。
由于启用分组时,服务级别指标 (SLI) 会针对每个状态码分别计算,因此启用了状态码分组的通知策略可能不处于违规状态,而不启用状态码分组的同一策略则处于违规状态。当多个状态码的速率均出现峰值,但没有任何单个峰值足够大时,就可能出现这种情况。
流量异常 (Traffic Anomalies) 告警要求 z 分数大于 3.5 或小于 -3.5,且总请求数超过 200。z 分数是当前值与均值的标准差数。均值和标准差通过将当前五分钟与过去四小时进行比较来计算。每五分钟测量一次。
您可以按域名筛选告警,选择是否包含已被 WAF 和 DoS 处理的流量,以及指定状态码。您也可以选择是否要在流量出现下降和/或峰值时收到告警。
通知按区域配置。目前无法为特定路径或主机名配置告警。
告警触发条件无法自定义配置。不过,可以选择是否包含已被 DoS 和 WAF 处理的流量。