- 8
- 0
- 约4.55千字
- 约 36页
- 2021-07-07 发布于北京
- 举报
从“救火”走向“防火”
——商业平台业务运维实践
救火
防火
时间都去哪儿了
救火
防火
• 越是做到高级阶段,防火的工作所占的
比重就会越高。
• 从救火到防火,不是一蹴而就的事情,
应该是个逐渐演进的过程
思考点
发生
发现
响应
全部恢复
时间
故障发现
故障响应
故障修复
开始处理
故障定位
提升故障
发现率
提升故障处理速度
降低故障率
目标
故障预防
过程
Agenda
如何提升故障处理速度
如何提升故障发现率
如何降低故障率
1
2
3
故障响应规范
应急处理预案
这些都做了,还有提升的空间吗?
准确识别
故障响应时间
目标与措施
快速判断
故障定位时间
快速执行
故障修复时间
•
•
•
•
•
7*24值班规范 • 分析数据及图表 • 流量切换工具
• 报警内容 • 服务降级工具
职责与分工 • 故障运维手册 • 数据修复工具
故障预演 • 任务修复工具
• 回滚工具
• 数据提取工具
• ……
主要受哪些影响因素
影响因素
1、新手
2、故障处理步骤繁杂
应对方法
优化报警内容,使报警内容变得
可依赖。报警内容除了报告问题,还将
故障的判断和处理方法附在其中。
利用数据任务调度管理系统,
对数据任务进行统一管理
优化报警内容
该报警对应的运维专员联系方式
该报警对应的开发人员联系方式
减少对运
维人员经
验的依赖,
使得新人
和值班人
员都可以
快速处理
灵活配置报警内容
降低维护成本,
提升工作效率
繁杂数据故障处理
存在的问题:
• 不能快速识别哪些任务失败了,影响了谁
• 一个任务失败会导致多个任务失败,每个任务的任务都会发一个报警
• 处理多个任务失败时,需要人工确认修复顺序,还要等待每个任务执
行完成后再人工执行下一个
• 如果所需数据源存在短暂延迟到位,会导致任务执行失败并报警,有
时会对运维人员产生干扰
A
B
C
D
E
F
G
H
I
J
K
L
M
…
繁杂数据故障处理
数据任务调度管理系统:
• 实时自动的可视化数据任务关系图
• 能快速识别哪些执行失败及影响范围
• 父节点任务失败后报警,子任务节点不再执行(也不会报警)
• 恢复关键路径节点任务时,只需选择带依赖执行,后续子节点任务会
自动执行,无需人工干预,等待
• 支持每个任务自定义重试次数和间隔,如果任务所需数据源存在延迟
提供现象,不会马上报警,直到达到最大重试次数为止,降低对运维
人员的干扰
A
B
C
D
E
F
G
H
I
J
M
L
K
…
…
繁杂数据故障处理
Agenda
如何提升故障处理速度
如何提升故障发现率
如何降低故障率
1
2
3
•
•
•
•
•
•
•
•
网络连通性
机器存活
远程可达
丢包检测
容量监控
磁盘故障
磁盘坏道
内存条检测
基础资源类
完善监控指标
常规业务类
自定义业务类
•
•
•
•
端口
进程
Curl
工作日志
•
•
•
•
•
•
•
•
任务始止类
关键组件监控
一致性类
跨界类监控
数据流监控
超时/延时类
失败率/成功率
……
自定义业务类监控
……
……
监
控
项
低位警界线
业务系统健康度趋势
高位警界线
监
控
项
加强关注!
加强关注!
导致
全面
短信报警过多
产生
麻木心理
降噪
•监控的系统:300+
•监控的实例:20000+
•运维人员短信接收:人均每天6条
•报警策略
•报警分层
•精准下发
取得的效果
采用的手段
报警分层
网段可用
机器存活
远程可达
业务类
A
B
C
D
E
F
G
H
I
J
M
L
K
…
…
数据依赖任务
报警精准下发
运维值班1
运维值班2
运维专员1
运维专员2
运维专员3
运维专员4
运维专员N
开发人员1
开发人员2
开发人员N
Agenda
如何提升故障处理速度
如何提升故障发现率
如何降低故障率
1
2
3
它山之石,可以攻玉
数据说话
有针对性的推动改进!
避免重复性故障!
代码发布是故障的导火索
上线次数趋势图
异常处理趋势图
推动开发人员有针对性解决
• 程序Bug
• 设计缺陷
• 代码配置
• 部署问题
变更操作是故障的导火索
•
•
•
•
•
业务模块新增机器
原创力文档

文档评论(0)