攻击期间,首页能打开不代表用户能完成业务。攻击可能只拖慢登录、搜索、提交或支付等关键操作,也可能让部分地区的用户无法访问。因此,攻击期间业务可用性监测指标设置应从“用户能否完成任务”出发,再结合服务端数据判断故障位置。
先选出一至三个关键用户路径,例如登录后查询信息、提交预约或完成订单。每条路径都明确起点、成功条件和失败条件,避免把页面返回成功误当成业务正常。
先定义可用:盯住关键操作结果
为每条关键路径设置合成探测:由监测程序按固定间隔执行实际步骤,并记录是否完成。探测应使用专用测试账号和不会产生真实业务后果的数据;涉及真实提交、扣款或通知时,改用安全的只读检查或测试环境。
同时观察真实用户请求的成功率。两类信号各有侧重:合成探测便于持续比较同一流程,真实请求能反映实际用户遇到的问题;单独使用任何一类,都可能漏掉另一类发现的故障。
四类指标,判断影响范围与严重程度
| 指标 | 看什么 | 使用要点 |
|---|---|---|
| 关键操作成功率 | 成功完成操作的请求占比 | 按操作和地区拆分,区分用户取消、输入错误与系统失败。 |
| 延迟 | 重点看 P95、P99,而不只看平均值 | 平均值可能掩盖少数请求显著变慢;与攻击前同一时段基线比较。 |
| 错误率 | 应用错误、超时、连接失败等变化 | 按错误类别与接口分组,避免把正常的业务拒绝全部算作宕机。 |
| 业务完成率 | 从发起到完成的完整流程比例 | 适用于需要多个步骤的场景,需排除重复提交等统计干扰。 |
这四项对应常见的服务成功率、延迟、错误率和交易完成率。攻击期间业务可用性监测指标设置不宜只用单一总分:总成功率可能看似稳定,但某个关键操作或地区已经明显受损。
阈值怎么定:用基线和连续时间窗
优先从正常运行时的数据确定基线,按工作日、时段、地区和操作类型比较。若历史数据不足,可先设置临时阈值,再根据误报和漏报调整。比如,可把关键操作成功率相对基线下降约5%—10%作为调查信号,把 P95 延迟达到基线约两倍作为进一步核查条件;这些只是起始参考,具体范围取决于业务容忍度和正常波动。
不要因单次异常就触发最高级告警。可要求连续数个采样窗口异常,或同时满足“成功率下降、延迟升高”等条件。采样间隔可从约1—5分钟起步:越短越快发现变化,但更容易受瞬时抖动影响,也会增加探测负载。关键操作可以更频繁,低优先级页面则适当降低频率。
按步骤搭建监测与处置闭环
- 列出关键路径:找业务负责人确认用户最重要的操作及其成功判据,标明依赖的接口、数据库或外部服务。
- 建立攻击前基线:保存成功率、P95/P99 延迟、错误类别和各地区结果,至少覆盖不同日常时段;不把异常高峰直接当正常水平。
- 配置多点探测:从不同网络和地理位置执行同一流程。监测系统应尽量与被监测服务分离,避免服务受影响时告警也一并失效。
- 设置分级告警:关键路径失败、多个地区同时异常或持续恶化时提高优先级;单点短暂抖动先记录并观察。
- 处置后复核:确认探测成功率恢复、延迟回落、错误率下降,并观察真实请求是否同步改善。不要仅凭资源指标正常就宣布业务恢复。
常见问题
只监测首页够不够?
不够。首页可访问时,登录、查询或提交仍可能失败;至少覆盖最重要的用户操作。
攻击时流量变化很大,成功率还有参考价值吗?
有,但要拆分请求类型、地区和操作,并结合错误原因判断。流量构成变化可能改变总成功率。
需要同时看服务器资源吗?
需要作为诊断信息,例如 CPU、内存、连接数和队列长度,但它们不能替代用户侧结果指标。
多久确认一次恢复?
按告警窗口持续观察,并覆盖多个采样周期;若业务依赖异步处理,还需等流程完成结果可核验后再判断。
归根结底,攻击期间业务可用性监测指标设置要把关键操作结果放在中心,用基线识别偏离、用分组定位影响,并在处置后验证用户是否真正恢复使用。