SLA、SLO、SLI
- SLI(Service Level Indicator):服务水平指标,用于量化衡量服务表现,例如成功率、延迟和可用性等。
- SLO(Service Level Objective):服务水平目标,是针对某个 SLI 设定的目标值,必须明确统计周期或时间窗口,例如“按月统计的可用性不低于 99.9%”。
- SLA(Service Level Agreement):服务水平协议,是服务提供方与客户之间约定的服务标准,通常包含 SLO 以及未达标时的补偿或处理方式。
简单来说,SLI 用于衡量实际表现,SLO 是公司内部设定的服务目标,SLA 则是对客户的外部承诺。
MTTR
MTTR:平均故障修复时间(Mean Time to Repair)
MTTR = 故障修复总时长 ÷ 故障次数
如何降低 MTTR?
监控
- 完善监控告警体系
- 业务指标监控
- 系统指标监控
- 告警降噪
- 告警分级:P1、P2、P3
- 告警升级:当某告警等级为 P2,且在 1 小时内未被处理(未关闭、未屏蔽等)时,自动升级为 P1
- 告警间隔:设置合理的重复通知间隔,避免同一告警频繁发送
- 告警淹没:设置合理的告警策略,避免告警过多导致重要告警被忽略
快速定位
- 标准化排障 SOP
- CPU、内存飙高怎么查
- ELB 5xx 怎么查
- Pod CrashLoop 怎么查
- 自动抓取现场信息
- C++ core dump
- 统一日志平台
- ELK / Loki
- 全链路追踪
快速修复
- 灰度发布 / 金丝雀发布
- 配置中心(Apollo)+ 动态切流(必要时像开关一样关闭某个模块)
- 自动扩容(根据业务流量自动扩容,例如 HPA)
- 脚本化修复
- 一键重启
- 一键清理 DNS 缓存
- ……
高可用部署
- 服务多实例和多 AZ 部署
- 自动故障转移
持续演练 & 可靠性测试
- 混沌工程(提前演练故障)
- 增加缺失监控点
- 持续复盘并完善故障应急预案
