记一次线上问题排查的过程

今天线上出现了一个问题,排查了很久才找到,不是异常,是配置的问题。

所以就感觉需要整理一下如何解决线上问题的一些思路,这部分需要慢慢的整理和排查,分清轻重缓急。

首先,这些事件单工单的问题的话,如果你资源好,基本是wiki上面会有一些处理的记录,步骤,是以前遇到这些问题的人因为需要,辛苦整理出来的,或者是现任的组长整理的,所以有时候你自己的好的思路,步骤什么的分析,其实没那么重要,因为既然是线上问题,那么需要的是你尽快解决问题i,而不是人家需要让你去慢慢的学习怎么解决问题,通过这次问题来学到什么经验,这样对于公司来讲,代价太高了。

如果是,你们部门的wiki上面没有找到这些资源的话,好的,这时候你如果对于业务的整体还是不能把握的很清楚的话,那么你可以用一下的方式。一般群里或者jira上分配了一个工单或者事件单,你都需要先去事件单中,去好好看一下,描述的是什么问题,详情,事件等级,然后如果条件允许的话,去复现一下,如果不能复现,这时候先看一下,发生的场景,时间,这些一般都有截图或者描述的,如果需要更具体的情况,可以去问问发起人。

好的,基本的情况暂时都了解了,然后接着去分析下,入口是哪一个接口.然后这个时候我们可以先分析下业务场景,接着再去排除,是否是异常日志。如果是,可以去日志系统查询(如果没有权限,一般还需要申请开通),定位下属于哪一个日志系统,然后如果日志系统不到,可以接着去Hbase日志上打印查询。(因为公司慢慢把在把日志迁移到Hbase上面了)。好的,从Hbase日志平台上,一般来说,查询的话,也需要技巧的,基本上是wiki上面都会有更新如何查询的,通过事件单去找对应的提出人,问问时间,更具体的场景,然后根据这些条件去筛选。看看日志的打印,一些需要的参数是否有打印出来。如果打印出的数据,去分析下,什么情况下会打印这些数据,根据这个日志去找对于的代码。从代码层面,如果可以分析的话,那可以试试

主要是因为线上的问题,基本上是不可以通过本地调试的。本地只能调测试环境。
然后如果找到的是异常问题,通过日志基本是可以定位到代码行,看是什么异常,一般来说,每个人去定位的思路不一样,我也不够成熟,只能慢慢的去完善,先把自己这次的理一理,下次有新的心得,再写入。

第二种情况就是,你对整体的业务已经熟悉了,这次产生的是业务上的问题,好的。你剋从下面从上抽象出一套解决的思路,最好写下来,思路一定要清晰,合理。然后根据这些思路,去一步一步的排查线上的数据,通过使用线上后台的管理系统去查询数据或者线上的数据库去查询,一步一步的去排查,注意这个时候,一定要稳一点,不能乱,把所有的可能排除掉,剩下最后一个,再去反复思考下,那答案就只剩一个了。

其实我比较想说的是,一般来讲,绝大多数异常情况,在测试期,预生产基本上市都会排除了,只是上线后,很多问题,要么是数据库奔溃,或者服务器崩溃,很多主要还是业务上的问题。

最后如果解决了问题了,记得把这次解决问题的思路,解决方法,问题的原因等等记录下来,更新到wiki上,方便同事下次参考哦。

感谢您阅读我的文章,如果满意可以帮我点歌赞,谢谢哈。
如果对文章部分还有什么见解或者疑惑,可以私信评论我,欢迎技术讨论。如果需要获取完整的文件资源,可以加我微信z985085305,获取我整理的全套笔记。
思想的碰撞最能促进技术的进步哦。

你可能感兴趣的:(记一次线上问题排查的过程)