线上故障排查处理的实践思路

对于网络应用产品来说,出现线上故障往往是很致命的,会导致用户无法使用产品引起用户流失从而造成经济损失。对于很多靠流量赚钱的网络服务来说,线上故障会直接造成经济损失,还会给企业带来很严重的负面影响。所以如何快速处理系统的线上故障拯救系统,成为了很多网络产品必须要考虑的问题。这里介绍一下自己总结的排查处理线上问题的一些比较接地气的实践思路。

问题发生时的那些救命措施

问题发生的第一时间需要做的事情,并不是马上找到根本问题把锅甩出去,而是降低由于问题带来的损失。

如果是由于新版本更新引起的问题,马上关停新版本更新,防止问题进一步扩大,将影响范围控制在可控范围内。然后找到之前最近的稳定版代码,依据该代码打一个新包,设置为更新,让之更新到有问题版本的用户更新回来。等到将问题影响控制住了,接下来的事情才是定位解决问题和追责。

如何由于线上问题,导致服务端过载或瘫痪,需要对服务端进行重启和限流操作,保障服务端的可用性。最简单的方法就是设置Ngnix的并发数进行用户并发设置进行限流,然后重启服务端。如果出问题的模块不是核心模块,可以暂时对该模块进行降级操作,在进行处理业务的时候暂时绕过该模块。

应对问题的前期准备工作

1.建立以用户功能业务为出发点的,服务调用和资源使用依赖的地图。当某个功能出问题的时候,能根据地图快速摸排定位可能出问题的服务或者资源。然后依据地图找到该问题服务或资源可能对哪些功能产生影响。

2.对地图中的服务和资源设定监控指标,当发生问题的时候能够及时报警。同时还应该配套相应的运维流程和辅助工具,以及对应的应急响应方案。

3.依据不同的功能的优先级和重要性,设定故障的等级,针对不同的故障采用不同的应对措施。

4.在产品发布之前,先进行内部小范围内的灰度测试,将问题提前暴露出来,防止发布之后才发现一些非常严重的问题。

5.提前针对问题发生做一些演习,模拟线上故障,进行练习,这样真正的问题发生的时候才能应对从容,不慌不忙。

针对类似问题排查的复盘

1.每次完成线上故障处理之后,都要针对问题的处理步骤进行复盘,把问题处理的流程细节记录一下。然后根据处理流程进行分析,寻找可以提升处理效率的方法。

2.每次出问题,都要有记录,记录问题发生的原因和分析报告,为以后相应的问题,提供经验素材。

3.出问题之后不要将问题解决了就不了了之。要针对问题多问为什么,进行思考,挖掘深层次原因,根据问题制定整改措施,举一反三的解决所有的问题。

线上问题整改优化方向

1.缩短问题发现和定位的时间。可不可以建立对应的监控系统,在问题发生的时候第一时间预警,缩短发现问题和定位问题的时间。有哪些步骤可以离开人工介入,实现自动化,提升效率。

2.问题的处理思路和策略,是不是最优的,还有没有更好的解决方案。问题处理的人员安排是否合理,信息分享和发布是否及时,问题分析和定位的逻辑和方法论是否合理。

3.该问题暴露了哪些架构设计、功能开发测试上的问题,可不可以对架构进行优化,对开发测试流程进行优化。还有没有其他类似的隐患。

4.提升开发人员的工程意识和开发能力,提前发现代码中的隐患,避免一些低级问题。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农飞飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值