您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[-]:基于1-5-10的业务稳定性治理和故障应急实践 - 发现报告

基于1-5-10的业务稳定性治理和故障应急实践

2024-11-04--B***
AI智能总结
查看更多
基于1-5-10的业务稳定性治理和故障应急实践

个人简介 张 鹤 哔 哩 哔 哩/业 务S R E负 责 人 2020年加入B站,负责哔哩哔哩业务稳定性保障相关工作,深度参与多活,活动保障,容量治理相关的建设,负责B站S赛、跨年晚会、拜年纪等相关活动的基础架构保障工作 B站应急响应体系设计理念 应急响应中心建设 目录 基于故障的数据运营 未来规划与展望 B站应急响应体系设计理念 为什么我们要建设应急响应体系? 行业故障频发,引起高度重视 •行业故障频发,热搜不断•B站也不例外,各种各样case不断… 故障处理时效达不到预期 •故障处理时间长、应急协同混乱•多次出现热搜类故障•同样类型的故障多次出现 故障处置数据难以追溯、衡量 •相比去年稳定性做的好还是不好?缺乏量化数据•故障1-5-10数据怎么样、如何提高?•故障召回率低,客服和技术脱节?•... 稳定性保障面临的挑战 定界、定位困难 发现时间不稳定,耗时难以预测 服务语言多样,监控指标不统一,关键监控覆盖不全、告警噪音多 链路复杂变更难以对齐、根因分析不完善、缺乏可观测 04 03 故障诱因多样,入口多 预案少、新鲜度低,应急手忙脚乱 代码变更、配置变更、定时策略、缓存过期、压测、突发活动 B站应急响应体系发展历程 B站应急响应体系 02应急响应中心建设 ERC:应急响应中心 Emergency Response Center:应急响应中心 •对故障全生命周期管理•1分钟发现,5分钟处置,10分钟恢复•防止能预见的问题•快速恢复不能预防的问题•不再重复已发生的问题 M e a n T i m e T oF i x 定界:确定故障影响范围和大概范围,为了更加准确的应急定位:找到故障的具体原因,问题根源 止损:防止故障扩散,更快的处置行为恢复到可接受状态恢复:业务完全恢复到故障前的状态 例如:变更导致可用率下跌 例如:xx功能能异常止损:业务开启热降级,功能基本可用恢复:业务完全可用 定界:通过可观测找到应用coredump 定位:debug找到具体某行代码 面向故障建设平台能力 故障召回 •SLO•工程低阈值指标•业务指标•客服•单业务客诉>N•客服和技术应急打通•内部报障•内部人员反馈•告警升级、舆情 策略管理 •应急协同策略管理•SLO预定义、客服反馈&业务干系人关系•故障升级策略 •联动故障预案 其他 •故障全生命周期管理 故障召回:故障预定义 通用故障能力 SLO低阈值、业务指标 客服召回:客诉业务域、客诉量 •应用SLO、场景SLO•故障阈值管理、持续时间管理•自动创建应急协同群、复用原有群•干系人管理•故障升级策略 •告警升级故障•开放api,业务自定义故障,复用故障能力 •… •客诉业务域、技术组织域关联关系•规约:首次客诉时间、客诉聚集性•业务域故障通用话术•… 故障召回:客服 客服&技术应急响应 痛点 •客诉反馈&技术组织业务树打通,一键应急响应•客诉>N,直接触发故障应急•2分钟无人响应,电话升级 •没有故障优先级,紧急故障容易被淹没•没有紧急故障规约,紧急故障得不到高优处理•故障干系人拉不全,协同效率低•没有升级渠道•消息触达老板慢•…. 线上客诉反馈故障,处理效率提升10倍 故障召回:技术指标 痛点 SLO&业务指标应急协同 •面向告警的匆忙应急,可能对用户压根没影响•核心场景缺乏电话告警•故障干系人拉不全,协同效率低•消息触达老板慢•…. •自动建故障应急群、故障处理过程可视•关注故障的同学一键入群•一键故障通告:TC故障推送•电话升级:3分钟无人接手 应急协同:故障过程可观测 根因推荐 处置过程可观测 基础分析下钻 •基于链路告警分析•变更墙快速定位变更诱因•基于链路故障下钻、根因推荐•… •故障发生、发现、响应、进展更新、恢复过程可观测•止损、恢复方式可观测•操作记录可观测•… •可用区聚集性、错误码分布、Top占比实例•链路变更可观测•可观测大盘 应急协同:快恢 微服务快恢 多活快恢 •东西向切量、南北向切流•单可用区快弹能力•… 组建快恢 业务快恢 •分布式,具备基础容灾•限流:防止组建过载,SLB限流、DB限流、SQL黑名单,GW联动App流控•故障切换:主从切换、SLB域名迁移、DCDN切换自建【三方】•集群重建:一键重建SLB、缓存、MQ•… •数据降级、复杂度降级•玩法降级•端上入口隐藏•… 应急协同:预案平台建设 预案平台要解决的问题? •预案散落各地,内部文档、在线文档、平台类操作•预案可执行性:新鲜度保持•依赖特定执行人•和故障、根因分析割裂,预案推荐、联动、预案可观测缺失•… 预案平台能力建设 •对接内部各个平台,提供通用预案原子能力建设•联动根因分析,预案推荐、执行•预案编排:支持业务基于原子预案编排业务场景预案•新鲜度保持:自定义执行时间、灰度策略,预案执行报告推送•… 实践中遇到的问题? 干系人拉的过多 一个故障,多个突发群? 技术指标、客服指标召回相互独立,缺乏联动 故障基于CMDB角色拉人,拉人容易放大 非技术类故障也被召回了? 拉了不该拉的干系人 产品、运营类问题也被召回了 我们的解法 避免干扰、收敛人 多渠道召回、收敛群 •打通各渠道召回,收敛群•底层故障,基于组织收敛群•群短时复用 •去除预期内限流,限流以告警方式处置•以结果指标为导向•支持基于值班组、固定人的应急协同 干系人错位 非技术类故障被召回? •意料之外,情理之中,促进非技术类优化,关注问题收敛 •加强客服宣导、优化影响业务文字描述•这个只是为了快速应急,对声誉真的没影响 故障复盘:做有价值的复盘 有效的故障复盘能避免故障重复发生 反思总结 影响分析 处理过程回溯 改进措施 定级定责 •架构设计、编码层面暴露的问题•变更类故障是否可阻断、规避•发现优化、是否可召回•处置优化、量化1-3-5-10 •影响摘要•影响面•影响时间•影响损失 •改进事项•完成时间•负责人•验收人•优先级 •损失统计•故障等级•责任方 •时间•阶段•用户•操作 03基于故障的数据运营 故障运营思路 故障自动召回覆盖、准确性: 风险预防效果、故障恢复后的改进成果: 故障时效: •故障数趋势•同类型故障重复发生率•安全生产逃逸率•故障分•… •自动召回率•召回准确率•技术指标召回率•… •1-3-5-10达成率,分位值•MTTR均值、分位值•根因分析准确率•预案执行有效率•… 故障召回:黄金指标 提升故障召回率,特别是技术指标召回 提升故障准确率,避免狼来了 黄金指标 •平均自动召回率80%+,其中技术指标召回40%+•业务指标、基础服务、数据链路召回加速覆盖 •平均故障准确率80%+•以结果指标为导向,过程指标通过告警方式处置就够了•预期内限流不是故障! 故障准确率 故障处置:1-3-5-10计算口径 故障处置:量化故障处置质量 故障月报:数据通晒 故障月报(技术全员) •整体故障数、定级故障,环比上月变化•部门故障Top、故障原因占比•责任事故、变更类故障通晒 故障处置质量 •1-3-5-10达成情况•故障召回率、准确率•根因分析准确率•1-3-5-10长尾case通晒 待办跟进 •季度待办完成情况•部门待办分布•本月新增待办情况 04未来规划与展望 道阻且长,我们在路上 •基于历史故障知识库推荐•预案平台场景覆盖•… •平台、组件故障召回•基础设施故障召回•业务召回持续深化•… 哔哩哔哩技术 T h a n k s 荣誉出品