4. 常见告警类型:资源型、应用型与业务型
在生产运维中,告警并非孤立事件,而是系统状态的晴雨表。根据监控数据来源与影响范围,告警通常划分为三大类:资源型告警、应用型告警与业务型告警。理解这三类告警的特征、触发条件与响应优先级,是制定有效告警阈值与压力测试异常响应流程的基础。
核心原则:资源型告警是“症状”,应用型告警是“疾病”,业务型告警是“患者感受”。响应时应从业务影响出发,向下追溯应用与资源根因。
4.1 资源型告警(CPU / 内存 / 磁盘)
资源型告警关注基础设施层的硬件与操作系统资源使用情况。这类告警通常直接反映服务器的健康状态,是运维人员最常接触的告警类型。
| 资源类型 | 常见阈值参考 | 典型异常场景 | 响应动作 |
|---|---|---|---|
| CPU | 使用率 > 85% 持续 5 分钟 | 死循环、突发流量、GC 频繁 | 分析进程占用、优化代码、扩容 |
| 内存 | 使用率 > 90% 或可用 < 500MB | 内存泄漏、大对象分配、缓存膨胀 | Heap dump 分析、调整 JVM 参数、重启 |
| 磁盘 | 使用率 > 85% 或 inode 耗尽 | 日志堆积、数据文件暴增、临时文件未清理 | 清理日志、扩容磁盘、设置日志轮转 |
| 网络 | 带宽使用率 > 80% 或丢包率 > 1% | DDoS 攻击、网卡故障、流量拥塞 | 限流、切换链路、联系 ISP |
避坑提示:不要对资源型告警设置“一刀切”阈值。例如,CPU 密集型服务(如视频转码)正常使用率就在 80% 以上,而低负载服务超过 50% 就可能异常。阈值必须基于基线数据动态调整。
4.2 应用型告警(延迟 / 错误率 / 吞吐量)
应用型告警直接反映软件服务的运行质量。这类告警通常通过 APM(应用性能管理)工具或业务日志采集获得,是压力测试中最需要关注的指标。
- 延迟(Latency): 通常以 P50、P95、P99 分位值衡量。P99 延迟超过 500ms 或 P95 超过 200ms 应触发告警。
- 错误率(Error Rate): HTTP 5xx 错误率超过 1%,或业务自定义错误码超过 0.1%,需立即响应。
- 吞吐量(Throughput): QPS(每秒查询数)或 TPS(每秒事务数)突然下降超过 30%,通常意味着系统瓶颈或故障。
| 指标 | 健康区间 | 告警阈值 | 压力测试关注点 |
|---|---|---|---|
| P99 延迟 | < 200ms | > 500ms 持续 1 分钟 | 是否存在慢查询、锁竞争、GC 停顿 |
| 错误率 | < 0.5% | > 1% 持续 30 秒 | 是否触发熔断、限流、依赖服务超时 |
| QPS 下降 | 基线 ±10% | 下降 > 30% 持续 1 分钟 | 是否出现连接池耗尽、线程阻塞 |
实践建议:在压力测试中,建议将应用型告警阈值设置为生产阈值的 80%。例如生产 P99 告警为 500ms,压测时设为 400ms,以便提前发现性能拐点。
4.3 业务型告警
业务型告警是最高优先级的告警类型,直接关联用户体验与商业收入。这类告警通常由业务监控平台或自定义埋点触发,指标包括订单成功率、支付转化率、核心接口可用性等。
- 核心业务指标: 如“下单成功率”低于 99.5%、“支付超时率”高于 0.2%。
- 业务流程中断: 如“登录失败率”突增、“购物车加载失败”。
- 数据一致性: 如“对账差异”、“库存扣减异常”。
关键认知:业务型告警往往滞后于资源型和应用型告警。当业务告警触发时,故障可能已经持续了数分钟。因此,压力测试的最终目标是在业务告警触发之前,通过资源型和应用型告警提前发现并解决问题。
4.4 三类告警的联动响应策略
在实际运维中,三类告警往往同时出现。以下是一个典型的联动响应流程示例:
- 业务告警触发: 支付成功率从 99.8% 下降到 95%。
- 立即查看应用指标: 发现 P99 延迟从 200ms 飙升到 2s,错误率从 0.1% 上升到 5%。
- 向下排查资源层: 发现 CPU 使用率 100%,内存使用率 95%,磁盘 IO 等待时间超过 500ms。
- 根因定位: 数据库连接池耗尽,导致大量请求排队等待,进而引发 CPU 上下文切换飙升。
- 恢复动作: 重启数据库连接池、扩容应用实例、优化慢查询。
总结:资源型告警是“地基”,应用型告警是“墙体”,业务型告警是“屋顶的裂缝”。优秀的 SRE 团队会在裂缝出现之前,通过地基和墙体的监控数据提前加固系统。