接到线上问题应该如何去做
处理线上问题第一原则:先保障线上服务可用性,第一时间降低故障影响范围。
机动人员处理问题流程:
- 第一时间在问题群内同步自己开始跟进问题
- 评估问题影响范围,确认问题的严重性,考虑是否回滚和走降级流程,将结果反馈到研发owner
目前监控平台:实时数据监控平台prajna,实时错误日志平台CAT和 打点日志平台GALAXY。
prajna上实时可查数据,理想情况下有对各个指标有相关域值,可查看当日异常数据情况
CAT上可以观测到当天的异常报错数据,对比前一天和上周同一天同事间段的数据,是否错误异常。
GALAXY上可以收集到当日之前的打点数据,可以拉取前一天和上周同一天同事间段的数据来模拟当日的数据。 - 分析定位问题,在问题群中及时更新处理进度
分析定位问题:
需要同步的处理情况如下:
1. 已查明可能导致故障的原因
2. 故障处理进度,包括尝试的解决方案及效果
3. 故障跟进人变更(排除本模块问题,转移给其他模块RD调查)
4. 故障升级(故障超时未解决,故障升级)
如何用数据协助定位问题
1. 查看prajna上或cat上项目面板上的各报错日志数量和内容是否异常
2. 如果拿到问题用户token,在日志系统(prajna,cat,后端日志)中拉取该用户的行 为记录,复原问题出现的流程和场景
研发owner处理问题流程:
- 根据机动人员反馈的影响范围,决定是否回滚或者降级,并且通知到产品和QA
- 指定人员解决分析定位问题,将人员安排同步到问题群
- 执行问题升级流程
1. 指定的解决问题人员10分钟内不能定位问题,则安排全员一起排查问题
2. 全员10分钟内不能定位,研发owner将目前的情况汇报到上层 - 问题定位并且解决后,准备线上恢复工作。
a. 如果采用的是回滚方案,将bugfix分支经由QA测试回归,确定好重新提审的日期,执行正常的发布流程
b. 如果是采取降级流程,线上恢复后通知到QA做回归测试,开发人员在监控系统上对异常数据继续观测半个小时,如果数据稳定则确认为问题解决。
5. 线上问题解决后,安排相关人员完成casestudy和事后复盘工作。
小程序常见问题排查方法
登陆提示“服务出错了”,一般会出现在导航页,支付确认页,购物车页。查看登陆请求的http状态码如果是403则是被风控,正常则为账户中心返回异常
支付提示“该笔交易异常,请稍后重试”。用户被微信风控
缓存问题 不应该出现的数据,在关闭页面后,5分钟内新开页面却带有该数据,很有可能是微信缓存的问题。
支付提示服务错误 很有可能健康检查的问题,建议拉取后端查看相关日志
弹框“微信登录失败” 访问账户中心超时
故障处理过程中的沟通方法
故障处理需要和第三方沟通时一定要注意信息传递的及时和完整大象沟通,除了反馈问题现象,同时要把已经掌握问题的分析数据反馈到第三方,使第三方尽快的熟知问题。
(图中的案例,没有把我们的分析问题的数据直接反馈到第三方,也不是第一时间取得的沟通)
如果第三方没有回复,直接电话取得沟通,更快地解决线上的问题对业务和第三方都是必须要做的,不要有所顾虑。
如果联系到的第三方负责人不能给出应有的回馈,及时联系该团队leader尽快找到熟悉该业务的人员配合做处理。