事件升级
1)宗旨和原则
事件升级是一个可管理的过程,可以快速吸引正确的角色和资源,从而最大程度地减少对用户和业务指标的影响。
主要原则:- 速度比理想更重要。提前宣布事件并降级比迟到更好。
- 统一指挥。一个负责解决方案的是事件指挥官(IC)。
- 透明度。内部和外部摊贩的清晰状态和沟通渠道。
- 可记录性。所有步骤,解决方案和时间线都被捕获以进行审核和改进。
2)严重程度等级(SEV/P级)
示例量表(适应域/管辖权):- SEV-0/P0(关键)-完全无法访问关键功能(登录/付款)、数据泄露、法律风险。立即分页所有呼叫内核,freeze版本。
- SEV-1/P1(高)-p95/p99降级,关键过程中错误/故障的比例增加,区域/提供商无法访问。
- SEV-2/P2(中等)-有限队列(区域,提供者)的部分降解,存在解决方案。
- SEV-3/P3(低)-对用户来说并不重要,但需要注意(ETL背景延迟、逾期报告)。
- 病变半径(用户数/周转)×持续时间×灵敏度(调节/PR)→ SEV水平。
3)流程的KPI
MTTD(检测时间)-从事件开始到第一个信号。
MTTA(接受时间)-从信号到IC确认。
MTTR(恢复时间)-在恢复SLO/功能之前。
缓解-从确认到连接所需的角色/命令。
Reopen Rate-在"决定"之后重新发现的事件比例。
Comm SLA-遵守外部/内部升级间隔。
4)角色和责任(RACI)
事件指挥官(IC):解决方桉的所有者,设置级别、计划、冻结、升级、降级。不写小说。
技术领导(TL):技术诊断,假设,工程师协调。
Comms Lead (CL):状态页面、客户端和内部通信,与Legal/PR保持一致。
Scribe:准确地记录事实,时间线和做出的决定。
Liaisons(链接):外部提供商/团队代表(付款、KYC、托管)。
呼叫工程师:执行计划,启动花花公子/回滚。
为每个角色分配值班时间表和备份。
5)渠道和文物
战争室通道(ChatOps):具有自动注释模板(版本、标志、金丝雀)的单个协调点(Slack/Teams)。
SEV-1+的视频主机。
事件滴答声(一针):ID, SEV, IC,参与者,假设/诊断,步骤,ETA,状态,影响,图形链接。
状态页面:公共/内部;定期更新时间表(例如SEV-1+每15至30分钟一次)。
6)时间盒和标准间隔
T0 (min 0-5):已指定IC, SEV已分配,freeze发行版(如果需要),战争室已打开。
T+15分钟:第一个公共/内部消息(受影响,工作,下一个升级窗口)。
T+30/60分钟:升级到下一个级别(平台/DB/安全/提供商),除非有持续的动态。
定期升级:SEV-0:每15分钟;SEV-1:每30枚地雷;SEV-2+:每小时。
7)自动升级规则(触发策略)
记录为代码并连接到监视/警报:- 在短窗口和长窗口中,误差预算超过阈值。
- 外部样本的法定人数:≥2个区域记录HTTP/TLS/DNS的退化情况。
- 业务SLI(付款/注册成功)低于SLO。
- 安全签名:涉嫌泄漏/损害。
- 提供者信号:"主要外展"状态的webhook。
8)从发现到解决方案的过程
1.事件声明(IC):SEV,报道,freeze,播放游戏。
2.诊断(TL):假设,半径隔离(区域,提供商,场景),检查(DNS/TLS/CDN/DB/缓存/总线)。
3.联想行动(快速胜利):回滚/金丝雀↓,幻灯片降级,failover提供商,rate-limit,kesh-overlay。
4.通讯(CL):状态页面、客户/合作伙伴、法律/公关、按计划更新。
5.恢复确认:外部合成+真实度量(SLI),去除冻结。
6.降级:降低SEV,过渡到N分钟/小时监视。
7.关闭和RCA:后太平间准备,行动项目,所有者和时间表。
9)与外部供应商合作
对来自多个地区的提供商进行自己的样本+镜像日志查询/错误示例。
升级协议(联系人,响应的SLA,优先级,状态网络手册)。
提供商SLO上的自动故障传递/流量重新分配。
证据基础:时间线,样本查询/答案,潜伏期/错误图表,提供商ID字幕。
10)监管、安全和公关
Security/P0:隔离、文物收集、最大限度地减少披露、强制性通知(内部/外部/监管)。
法律:统一外部升级的措辞,记录合同SLA/罚款。
PR/客户服务:现成的答桉模板,问答,报销/贷款(如果适用)。
11)消息模板
初级(T+15):- "我们正在调查影响[职能/地区]的SEV-1事件。症状:[简要]。我们激活了解决方法[说明]。下次更新是在[时间]"
- "诊断:[假设/确认]。活动:[切换提供商/回滚版本/启用降级]。影响减少到[百分比/队列]。下一个更新是[时间]"
- "事件SEV-1解决。原因:[根]。恢复时间:[MTTR]。以下步骤:[fix/验证/N小时监视]。后太平间-[何时/何地]"
12)花花公子(大约)
支付成功率下降:降低提供商A的份额,将X%转移到B;启用"degrade-payments-UX";在限额内包括转发;警告fin命令。
p99 API的增长:减少新版本的金丝雀;关掉沉重的仙女;增加kesh-TTL;检查DB索引/连接。
DNS/TLS/CDN问题:验证证书/链条;更新记录;切换到备用CDN;越过kesh。
安全怀疑:节点隔离,关键旋转,启用mTLS手柄,文物收集,法律通知。
13)降级和标准"决定"
如果:- SLI/SLO在绿区≥ N间隔中稳定;
- 在没有追索权的情况下执行联想行动和观察;
- 安全类-已确认向量的私密性,已轮换键/秘密。
关闭-只有在固定时间线、动作项目所有者和时间表之后。
14) mortem后(非辛苦)
结构是:1.事实(用户/度量标准看到的时间线)。
2.根原因(技术/处理)。
3.在升级中有效/不起作用。
4.预防措施(测试,异同,限制,架构)。
5.与截止日期和所有者的行动计划。
6.与错误预算关联并修订SLO/过程。
15)过程成熟度度量
在用户投诉之前申报的事件百分比。
SEV级别的MTTA;连接所需角色的时间。
遵守升级间隔(Comm SLA)。
花花公子在没有手动"创造力"的情况下解决的事件百分比。
按时从后验尸中执行动作项目。
16)反模式
"有人做任何事情"-没有IC/角色。
战争室中的多角度-版本争议而不是动作。
迟到的宣言→浪费时间聚集人们。
没有冻结和发行注释-并行更改掩盖了原因。
缺乏外部沟通-投诉/公关风险升级。
没有后验尸和操作的关闭-我们重复相同的错误。
17)IC支票清单(袖珍卡)
- 分配SEV并打开战争室。
- 指定TL、CL、Scribe,检查呼叫是否存在。
- 启用freeze版本(使用SEV-1+)。
- 确认真相来源:SLI dashbords,合成,logi,tracing。
- 采取快速联想行动(回滚/标志/失败)。
- 提供定期的定期升级。
- 固定Criteria for Resolve和恢复后观察。
- 启动后验尸并指定行动项目的所有者。
18)嵌入日常操作
训练(游戏日):模拟关键场景。
花花公子目录:经过验证,测试,并带有参数。
工具:ChatOps命令"/declare","/page","/status","/rollback"。
集成:ticketing, states-page, post-mortems, CMDB/服务目录。
与SLO/Error Budget匹配:自动升级触发器和冻结规则。
19)结果
升级是一种操作纪律,而不仅仅是打电话给值班人员。明确的SEV级别,分配给IC,现成的花花公子,更新时间框以及与SLO指标和预算策略的集成,使混乱的火灾变成了可预测的结果的可管理过程-快速恢复服务,最小的公关/监管风险以及每次事件发生后的系统改进。