首页 > 其他分享 >线上故障的正确打开方式

线上故障的正确打开方式

时间:2023-06-25 13:55:23浏览次数:34  
标签:处理 业务 打开方式 故障 线上 监控 复盘

对技术同学来说,线上故障是一个绕不开的话题。

一方面,线上故障会极大的影响个人的绩效和心态;另一方面,处理线上故障也是很好的提升解决问题能力的机会。

因为线上故障的原因是多种多样的,会逼迫你去收集信息,从各种角度分析定位根因,然后想办法去优化解决。

处理线上故障的过程,是一个复杂的判断和筛选过程,而解决故障后沉淀的经验,对技术同学来说,是很宝贵的职场收获。

这篇文章,来聊聊应对线上故障比较通用的一些方法。

 

思维导图

先看下面的这张应对线上故障的流程图:

将这个故障处理的思维导图分为事前、事中、事后三个阶段,分别对应的是发现故障、处理故障、复盘故障。

这三个阶段涉及到多个角色参与,并且不同角色之间要做的事情都有上下游的依赖关系。

 

事前:发现故障

首先要明白的一点是:线上故障是无法避免的。

无论我们从技术上做各种提升优化,还是从流程机制方面进行保障,最大的作用是提升系统整体的稳定性,以及面对故障时能以更高的效率响应和解决,降低故障带来的风险和影响。

从软件工程角度来说,最终目标也不是完全不出问题,而是在整个研发交付过程中控制风险范围,降低风险带来的影响

线上故障随时可能发生,且可能出现在任何环节,想要降低线上故障带来的影响,第一步就要尽可能快的发现故障,在出现故障苗头的时候就发现并解决。常见的发现故障的方法有如下几种:

  • 监控告警:建立完善的监控告警平台,除了如CPU、内存等基础指标监控外,还有诸如链路追踪、业务监控等;
  • 定时巡检:通过自动化手段定时开展基于业务场景的巡检,这也是线上稳定性保障最核心的一点:业务防资损;
  • 异常治理:对于偶尔抛出来的异常也要提高重视,定期分析筛选,针对可能带来更大影响的风险进行专项处理;

当故障出现并且被观测到之后,需要及时通知到对应的值班研发和运维介入处理,同时将信息同步给测试以及产品同学。

有些故障是单纯的技术问题,可以很快修复。但有些故障的修复方案可能会影响到业务,因此需要让产品介入进行评估。

当然,如果遇到重大的问题,需要及时的信息上报,让更具经验和权责的领导进行决策指挥。

一般来说,中小型企业都是运维兼任监控观测的职责。但如果团队规模比较大,且业务和技术架构比较复杂的话,建议由专门的人员来负责监控观测盯盘,以及信息的汇总和分发。

这个NOC角色还需要在事后组织故障复盘,跟进复盘落地进度,并不仅仅是一个单纯的工具人。

 

事中:处理故障

在处理故障的过程中,下面是几点个人认为比较重要的经验之谈:

  • 优先止血:即故障发生后,以恢复正常的业务运行为首要目标。
  • 保留现场:比如服务集群挂了,踢出不健康的服务集群并重启时,建议保留至少一个故障服务实例。这样做的好处在于:一方面便于研发和运维同学更好的排查定位原因,另一方面也可以作为复盘时的证据,客观分析后沉淀案例库,便于后续的复盘改进。
  • 单一决策:出现故障后最怕的就是病急乱投医,因为引起故障的原因可能有多个,不能只通过故障的表现就头疼医头脚疼医脚,而是需要尽可能收集相关的监控数据、日志,结合业务场景综合判断评估,才能比较合理的解决问题。这也是为什么上面提到的需要有专人来负责信息数据的汇总分发,以及上级领导决策的原因。
  • 应急预案:面对线上故障,技术同学要做的更多是发现和预防应对,而不是四处救火。因为故障是无法避免的,也可能随时发生,四处救火只会疲于奔命。因此需要在前期做好风险评估,制定对应的线上故障应急预案并演练,这样在故障出现时可以更快的响应和解决,将故障带来的影响控制在可接受范围内。

 

事后:复盘故障

故障解决,线上业务恢复正常运行后,还需要进行复盘,持续改进。复盘时需要注意如下几点:

  • 借助现场证据(故障应用/监控数据和日志),客观分析深层次的原因;
  • 故障改进措施需要具备良好的可行性,且从改进方案中应沉淀出应急预案;
  • 改进措施应该有明确的deadline和目标,且需要进行验证,确保改进的有效性;
  • 故障复盘对事不对人,故障定级应该有合理且被大家接受的方式,否则很容易变成甩锅大会;

总的来说,复盘是重新梳理业务和技术实现的过程,可以找到更深层次的潜在风险。通过复盘可以发现以往工作中存在的流程机制方面的不足,并通过持续改进来不断提升团队的应急能力,最终提升线上业务和应用的稳定性。

 

当然,复盘并不仅仅限于故障复盘,故障定级也不是单一的事项。

应该从项目立项开始就介入,前期分析评估风险,设计阶段冗余,研发实现阶段做好异常处理,测试阶段多进行一些异常和边界的测试验证,交付阶段补齐监控和告警手段。

同时,制定合理的流程、故障应急机制、线上稳定性预案,这样才能更好的保证线上服务的稳定性,将故障带来的影响控制在合理区间。

 

标签:处理,业务,打开方式,故障,线上,监控,复盘
From: https://www.cnblogs.com/imyalost/p/17502760.html

相关文章

  • 网络故障排查
    网络故障排查:1.网卡工具,服务器有多个网卡并且已经配置好运行当中,你却没记得eth0、eth1、eth2…分别对应的是哪个物理的网卡,此时可以使用如下命令:ethtooleth0此时就会看到eth0对应的物理口一个灯在不停的闪烁2.查看网卡状态ifconfigeth0UP(代表网卡开启状态)RUNNING(代表网卡的......
  • nvidia显卡故障记录
    问题一:描述重启后,显卡就找不到驱动,因为都采用了同一个型号显卡且安装了相同版本的驱动,故猜测可能是硬件问题排查过程lspci|grep-invidia可以看到pci号是01:00.0,通过此pci号,查看一下详细信息lspci-s01:00.0-vv通过图上的信息可以发现"!!!Unknownheadertype7......
  • 【转】SpringBoot 线上服务假死,CPU 内存正常
    文章来源:blog.csdn.net/zhangcongyi420/article/details/1311395991、背景开发小伙伴都知道线上服务挂掉,基本都是因为cpu或者内存不足,出现GC频繁OOM之类的情况。本篇文章区别以上的情况给小伙伴们带来不一样的服务挂掉。 2、问题排查老规矩在集群环境中同一个服务......
  • 智能控制系统控制系统控制系统故障排查:智能控制技术控制系统故障排查方法
    目录《智能控制系统控制系统控制系统故障排查:智能控制技术控制系统故障排查方法》随着智能控制系统的不断发展和应用,智能控制技术在工业、农业、医疗、交通等领域的应用也越来越广泛。但是,由于智能控制系统的复杂性和广泛的应用,系统的稳定性和可靠性也面临着巨大的挑战。因此,智......
  • 分析和排除系统故障
    分析和排除系统故障推荐步骤:日志文件分析在终端新建用户账号二次输入正确的密码切换到终端使用不存在的查看看错误日志找不到终端创建用户查看创建的账户alt+f4切换到第四个终端,使用bob在第四个终端登录查看用户登录的终端二、MBR故障模拟及修复添加磁盘查看新添加的磁盘/dev/......
  • 线上开发
    在小公司里做售后,兼职开发.开发的内容一般直接上线,学着腾讯的小步快跑,及时做更新.有时候会出现问题,做的新功能和老功能相互影响.出现预期之外的漏洞,需要及时补救.可是同时也在开发着新的任务,或者处理着一些客户的售后疑问,没有办法补救好.匆忙里容易出现更多的错误......
  • Etcd 故障排查
    Etcd故障排查Etcd磁盘空间爆满解决方案etcd默认的空间配额限制为2G,超出空间配额限制就会影响服务,所以需要定期清理设置环境变量ETCD_CA_CERT="/etc/kubernetes/pki/etcd/ca.crt"ETCD_CERT="/etc/kubernetes/pki/etcd/server.crt"ETCD_KEY="/etc/kubernetes/pki/etcd/serve......
  • 清除ILOM中的故障码,消除黄灯告警
     X86架构的机器,当出现硬件故障时,一般会在ILOM中会记录下该故障的详细信息,简称为:故障码。当进行硬件更换后,ILOM会自动清除掉该故障码,机器的黄灯告警也会自动消失。但有的时候,总会出现一些莫名其妙的情况,硬件更换后,ILOM中的故障码却无法自动清除,例如下面这个案例。 1、某Exadata......
  • SQL Server故障排除圣经
    微软SQLServer内部技术资料大曝光来自SQLServer开发小组和支持部门的梦之队打造SQLServer故障排除圣经  “本书的内容是其他任何博客、网站和图书都没有的。系统出问题时,它将成为你的救命稻草。”——PinalDave,微软MVP  “此书写得非常好,涵盖了对大量复杂问题进行故障排......
  • 基于Android的线上读书会设计
    本文通过对市场上的大多数用户量比较大的手机APP是使用的调查,并对调查结果做出需求分析后,确定了基于安卓客户端的线上读书活动的功能设计方案。实现了在手机端可以查看读书活动,同时管理端可以在后台发布相关的读书活动的一些信息。本设计的框架为Android系统,客户端界面由其相关组......