3. 常见告警类型:资源类、应用类与业务类
在生产运维中,告警并非越细越好,而是需要按层级分类管理。根据监控数据在技术栈中的位置与影响范围,告警通常划分为资源类、应用类和业务类三大类型。每一类告警的关注点、阈值设定逻辑以及响应策略都有显著差异。
核心原则:资源类告警是“基础设施地基”,应用类告警是“服务健康仪表盘”,业务类告警是“收入与体验晴雨表”。调优阈值时,必须从业务类向下传导,避免在资源层产生大量无效告警。
3.1 资源类告警(CPU / 内存 / 磁盘 / 网络)
资源类告警关注的是基础设施容量与饱和度。这类告警通常由系统指标直接触发,阈值相对固定,但需要根据实际负载模型进行动态调整。
| 资源类型 | 典型指标 | 常见阈值(参考) | 调优要点 |
|---|---|---|---|
| CPU | 使用率、Load Average、iowait | 使用率 > 80% 持续 5min | 区分 user/system/iowait;避免短时尖峰误报 |
| 内存 | 使用率、Swap 使用量、OOM 计数 | 使用率 > 85% 持续 10min | 关注实际可用内存(含 cache/buffer);设置 OOM 紧急告警 |
| 磁盘 | 使用率、inode 使用率、IOPS、吞吐量 | 使用率 > 90%;inode > 80% | 区分数据盘与日志盘;IO 等待时间比 IOPS 更敏感 |
| 网络 | 带宽使用率、丢包率、TCP 连接数 | 带宽 > 70%;丢包率 > 0.1% | 按业务峰谷设置不同时段阈值;关注重传率 |
常见误区:不要对所有资源使用统一百分比阈值。例如,CPU 使用率在批处理场景下长期 90% 是正常状态,而磁盘 IO 等待时间超过 50ms 即使使用率只有 30% 也需立即处理。
3.2 应用类告警(延迟 / 错误率 / 吞吐量)
应用类告警直接反映服务自身的健康状态,通常基于 RED(Rate、Errors、Duration)方法论构建。这类告警对用户体验的影响最直接,阈值设定需要结合历史基线。
- 延迟(Duration / Latency):关注 P50、P95、P99 分位值,而非平均值。例如:P99 > 500ms 持续 1 分钟触发告警。
- 错误率(Errors):包括 HTTP 5xx、业务异常码、超时等。通常设置绝对阈值(如 > 1%)或相对基线(如环比上升 50%)。
- 吞吐量(Rate / Throughput):QPS、RPS、TPS。吞吐量骤降通常意味着服务异常,骤升可能预示流量攻击或热点事件。
| 指标类别 | 推荐采集粒度 | 告警窗口 | 典型阈值示例 |
|---|---|---|---|
| P99 延迟 | 10s 聚合 | 1min / 5min | > 800ms(核心接口) |
| 错误率 | 1min 聚合 | 1min | > 1% 或 > 基线 + 3σ |
| QPS 波动 | 10s 聚合 | 2min | 环比下降 > 30% |
实践建议:应用类告警应优先使用“相对阈值 + 绝对阈值”组合策略。例如:当 P99 延迟超过 500ms 且 相比过去 10 分钟均值上升超过 100% 时,才触发告警。这样可以有效过滤因流量自然增长导致的缓慢上升。
3.3 业务类告警
业务类告警位于监控金字塔的顶端,直接关联收入、用户转化、核心流程完成率等商业指标。这类告警的阈值通常由业务方与 SRE 共同定义,且往往需要多维度数据关联分析。
- 订单/交易成功率:如支付成功率 < 98% 触发 P0 告警。
- 核心流程耗时:如用户从登录到下单完成的总耗时 P95 > 10s。
- 业务量异常:如某渠道流量突然下降 50%,或某商品页 PV 异常飙升。
- 合规与安全:如敏感操作频率异常、数据导出量突增。
关键提醒:业务类告警必须避免“告警风暴”。建议对业务告警实施依赖压制策略——当资源类或应用类告警已触发时,自动将相关业务告警的优先级降级或静默,直到基础设施恢复后再重新评估业务指标。
3.4 三类告警的联动与优先级
在实际运维中,三类告警并非孤立存在,而是形成一条因果链:
- 资源瓶颈(如 CPU 满载)→ 应用延迟升高(请求排队)→ 业务成功率下降(用户超时重试)。
- 应用代码缺陷(如内存泄漏)→ 资源耗尽(OOM)→ 业务中断。
- 业务流量突增(如促销活动)→ 应用吞吐量上升→ 资源使用率飙升。
| 告警类型 | 典型响应时间 | 阈值调整频率 | 负责人 |
|---|---|---|---|
| 资源类 | 5-15 分钟 | 每月或架构变更后 | 基础设施团队 |
| 应用类 | 1-5 分钟 | 每次发布后 + 每周基线更新 | SRE + 研发 |
| 业务类 | 即时(1 分钟内) | 业务需求变更时 | 业务方 + SRE |
阈值调优顺序:建议先调优资源类告警(减少底层噪音),再优化应用类告警(确保服务指标准确),最后与业务方对齐业务类告警阈值。每次压力测试后,必须重新校准三类告警的基线数据。