从救火”走向防火”-商业平台业务运维实践

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

从“救火”走向“防火”——商业平台业务运维实践救火防火时间都去哪儿了救火防火•越是做到高级阶段,防火的工作所占的比重就会越高。•从救火到防火,不是一蹴而就的事情,应该是个逐渐演进的过程思考点发生发现响应全部恢复时间故障发现故障响应故障修复开始处理故障定位提升故障发现率提升故障处理速度降低故障率目标故障预防过程Agenda如何提升故障处理速度如何提升故障发现率如何降低故障率123故障响应规范应急处理预案这些都做了,还有提升的空间吗?准确识别故障响应时间目标与措施快速判断故障定位时间快速执行故障修复时间•••••7*24值班规范•分析数据及图表•流量切换工具•报警内容•服务降级工具职责与分工•故障运维手册•数据修复工具故障预演•任务修复工具•回滚工具•数据提取工具•……主要受哪些影响因素影响因素1、新手2、故障处理步骤繁杂应对方法优化报警内容,使报警内容变得可依赖。报警内容除了报告问题,还将故障的判断和处理方法附在其中。利用数据任务调度管理系统,对数据任务进行统一管理优化报警内容该报警对应的运维专员联系方式该报警对应的开发人员联系方式减少对运维人员经验的依赖,使得新人和值班人员都可以快速处理灵活配置报警内容降低维护成本,提升工作效率繁杂数据故障处理存在的问题:•不能快速识别哪些任务失败了,影响了谁•一个任务失败会导致多个任务失败,每个任务的任务都会发一个报警•处理多个任务失败时,需要人工确认修复顺序,还要等待每个任务执行完成后再人工执行下一个•如果所需数据源存在短暂延迟到位,会导致任务执行失败并报警,有时会对运维人员产生干扰ABCDEFGHIJKLM…繁杂数据故障处理数据任务调度管理系统:•实时自动的可视化数据任务关系图•能快速识别哪些执行失败及影响范围•父节点任务失败后报警,子任务节点不再执行(也不会报警)•恢复关键路径节点任务时,只需选择带依赖执行,后续子节点任务会自动执行,无需人工干预,等待•支持每个任务自定义重试次数和间隔,如果任务所需数据源存在延迟提供现象,不会马上报警,直到达到最大重试次数为止,降低对运维人员的干扰ABCDEFGHIJMLK……繁杂数据故障处理Agenda如何提升故障处理速度如何提升故障发现率如何降低故障率123••••••••网络连通性机器存活远程可达丢包检测容量监控磁盘故障磁盘坏道内存条检测基础资源类完善监控指标常规业务类自定义业务类••••端口进程Curl工作日志••••••••任务始止类关键组件监控一致性类跨界类监控数据流监控超时/延时类失败率/成功率……自定义业务类监控…………监控项低位警界线业务系统健康度趋势高位警界线监控项加强关注!加强关注!导致全面短信报警过多产生麻木心理降噪•监控的系统:300+•监控的实例:20000+•运维人员短信接收:人均每天6条•报警策略•报警分层•精准下发取得的效果采用的手段报警分层网段可用机器存活远程可达业务类ABCDEFGHIJMLK……数据依赖任务报警精准下发运维值班1运维值班2运维专员1运维专员2运维专员3运维专员4运维专员N开发人员1开发人员2开发人员NAgenda如何提升故障处理速度如何提升故障发现率如何降低故障率123它山之石,可以攻玉数据说话有针对性的推动改进!避免重复性故障!代码发布是故障的导火索上线次数趋势图异常处理趋势图推动开发人员有针对性解决•程序Bug•设计缺陷•代码配置•部署问题变更操作是故障的导火索•••••业务模块新增机器机房迁移,变更IP机器故障更换下线业务模块……••••••维护系统配置部署相关监控维护应用环境及配置维护访问控制关系更新代码配置(研发人员)……常见运维变更涉及哪方面的操作涉及大量的IP、访问关系等信息,操作繁杂!机器1机器2…机器N……………………系统配置监控策略访问关系其他操作繁杂,易出错某个业务抽象运维对象减少人工干预优化技术架构抽象运维对象机器1机器2…机器N系统配置监控策略访问关系系统配置监控策略访问关系AppID机器1机器2…机器N……………………其他运维人员之前之后级别等……配置策略服务管理……报警策略监控策略…自动机制机器列表新机器发现自动生成监控项基础监控部署App1机器1…机器N策略变更嗅探通用配置分发私有监控部署……App2机器1…机器N自动生成配置策略树私有配置分发自动更新发布目的地AppN机器1…机器N机器规模越大效果越明显1.当某App中有新机器到位时,会对该机器自动部署相关的系统配置、监控项,同时自动更新对应App的代码发布地址列表2.当某个App有系统配置更新、监控策略更新时,会下发到所有相关的机器减少人工干预只需针对Appid设置一次相关策略,其他工作全部自动完成…………机器11机器12…机器1NApp1机器21机器22…机器2NApp2机器31机器32…机器3NApp3机器41机器42…机器4NApp4机器51机器52…机器5NApp5机器61机器62…机器6NApp6机器71机器72…机器7NApp7机器81机器82…机器8NApp8应用间复杂且不透明的访问关系服务端要确认被哪些客户端访问,才能保证正确的开通访问白名单:机器+接口+方法机器11、机器12……机器1N机器31、机器32……机器3N机器61、机器62……机器6N客户端需要访问服务端:机器11、机器12……机器1N机器21、机器22……机器2N规范化后的开发架构客户端(服务使用者)服务端(服务提供者)1.2.3.4.5.人工在管理界面中进行服务注册与维护,管理服务端及接口,以及客户端对哪些接口访问等客户端启动时获取服务端机器及URL列表服务端启动时获取访问控制列表服务端及接口发生变更时自动推送给客户端,更新调用服务器的机器及URL列表客户端及接口发生变化时自动推送给服务端更新访问控制列表RPC协议客户端代理RPC协议客户端代理…RPC协议服务端代理客户端代理负载均衡器并发访问拦截器白名单拦截器服务对象代理3524管理UI1服务注册中心服务治理框架层RPC协议层业务层…………机器11机器12…机器1NApp1机器21机器22…机器2NApp2机器31机器32…机器3NApp3…机器5NApp5机机器器5512…机器6NApp6机机器器6612小范围试点,效果显著,推广使用访问控制、自动路由、负载均衡如果App1有新机器到位:•框架会自动通知App5、App6的所有机器,App1已有新机器为他们提供服务,各机器自动将请求均衡落到App1的各台机器上•同时,自动通知App2的所有机器,有新机器需要纳入到他们的访问白名单自动容错、负载均衡如果App2有机器宕机:•框架会自动通知访问它的App1、App3、App6的所有机器,App2有机器故障已不能提供服务•各机器的访问请求不再向故障机器发送,并自动将请求均衡落到App2存活的机器上WarOrRPM标准化发布方式App1机器1机器1机器N机器N机器分组A机…器2机器分组B机…器2自动部署重启回滚检查一致性安装卸载启动停止主任务子任务WarOrRPMApp2………………从救火走向防火发生发现响应全部恢复时间故障发现时间故障响应时间故障修复时间开始处理故障定位时间提升故障发现率(及时全面准确)提升故障处理速度(快速有效)降低故障率(有效防御)数据修复工具流量切换工具服务降级工具回滚工具数据提取工具……职责与分工7*24值班规范故障响应规范故障处理预案故障预演量化问题管理抽象运维对象减少人工干预优化技术架构目标措施预防故障发生完善监控指标建立业务健康度分析体系降低误报率,提升准确度故障运维手册分析数据及图表报警内容可依赖准确识别快速判断快速执行后续努力方向•更智能–智能监控–智能故障修复–智能健康度评估•更轻量–简单易控–随时随地

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功