线上问题排查流程

线上问题排查流程
线上问题的跟进,修复,排期,由测试录入Wone,记录为线上bug。然后指给产品,由产品进行排期修复(注意:如果是紧急问题,则立即修复)。
刚刚发布或切流量之后线上出现大面积反馈的,一般和发布有关,如果不具备条件重现,需要第一时间同步给相关的同事和 leader,并做好回滚准备。日常的线上问题,可以按照以下流程排查问题。
Step1 信息收集 要求客服联系用户提供以下信息:

  • uid
  • 机型
  • 系统版本
  • App 版本
  • 现场截图
  • 网络情况
  • 尽可能多的现象描述
Step2 用户引导 如果用户比较着急,引导用户做其他操作:
  • 杀进程重试
  • 切网络重试
  • 重新登录
  • 使用微信公众号、使用 web 渠道
Step3 处理问题 1.复现
  • 找相同设备复现
    当你不能独自完成这一步时,可以寻求支持 —— 寻求团队和测试团队共同复现
2.基本判断
  • 点击按钮无反应:兼容性问题 80%
  • 点击按钮有请求发出 (网络菊花) 或弹出了异常:服务问题 80%
  • 页面白屏:兼容性/服务 50%
  • 原生 webview 打开 ok,planck 打开有问题:和客户端一起排查,如判断大概率服务端问题,立即寻求服务端一起排查
3.快速区分问题 判断问题发生的前端系统
可根据 quip文档|理财项目信息汇总 初步判断主流程所在工程:
  • 利用日志
    根据问题所在的项目,如果是 Node 项目,可根据日志快速区分是兼容性问题、Node 或是 java 接口问题
  • 利用埋点
    如果有埋点,到查看用户埋点链路,分析用户卡在哪一步
  • 接口复现
    从 Node 和 Java 日志里捞用户的请求和响应数据,在工程里 mock 数据,看能否复现
4.精确排查问题 【线上问题排查流程】如果客户的问题已经解决,线上问题已经修复,但问题原因尚未查明,需要做精确排查
  • 代码 review
  • 是否有 bi 埋点干扰
  • 是否有明显异常边界未处理
  • 是否有分支情况未处理
  • Chrome、原生 webview 和客户端分别打开,区分是否是 兼容性或 webview-bridge 的问题
  • 线上资源文件本地代理,charles
  • 客户端协助调试
  • 客户端可以协助 Inspect 到 App 中的 WebView,使得前端可以在 Chrome 的控制台中调试问题。
  • 客户端可以协助定位前端无法界定边界的问题,例如点击按钮后无请求发出,可以寻求客户端断点 native 代码
  • 依托埋点和临时发布
  • 在页面中埋神策点,发布上线,定位用户 js 卡在哪一步
  • 将疑似异常的地方加 try catch 并将 error 上报

    推荐阅读