原文来自于:https://mp.weixin.qq.com/s/N9Z5db4inp67GkwgNNKAOg

1、如果线上出现了问题,我们更多的是希望由监控告警发现我们出了线上问题,而不是等到业务侧反馈。所以,我们需要对核心接口做好监控告警的功能。

2、如果是业务代码层面的监控报警,那我们应该是可以很快地定位出是哪儿的问题,毕竟告警逻辑都是我们写的嘛。如果是服务器资源/所依赖的中间件告警,那我们可能就要花点时间去排查啦。

3、不管怎么样,无论是系统告警还是是业务侧反馈系统或者接口出了问题。我们要想想在近期有没有发布过系统,如果近期发布过系统,判断能不能立马回滚到上一个版本,恢复系统平稳正常运行(在线上环境下,可用性是相当重要的)。回滚的时候要考虑接口有无依赖性,是否需要跟业务侧同步此次的回滚以及做相关的配合。

4、因为线上大多数的问题都来源于系统的变更,可能我们只是变更了很少的代码,但只要有一丝的逻辑没留意到,就真的很可能会导致出现问题,回滚很可能是最快能恢复线上正常运行的办法。

5、如果近期都没发布过系统,是系统告的警,那追踪下告警和报错日志,应该是可以很快地就能定位出问题。

6、如果不是系统告的警,是业务侧反馈出了问题,那这时候需要业务侧明确是哪个具体的功能/接口出了问题,有没有保留请求入参,有没有返回错误的信息,有何现象

7、知道了问题的现象之后,就需要根据经验排查可能是哪块出了问题了。我的经验一般是:先查存储侧有没有瓶颈(MySQL 的CPU有没有飙高,主从同步延迟是否很大,有没有慢SQL。Redis是不是内存满了,走了淘汰策略。搜索引擎有没有慢Query),把该服务所依赖的中间件的指标看一遍,这个过程中也要去看看服务接口的QPS/RT相关的监控。如果有某项指标不对劲,那顺着写入逻辑也应该很快能看出来

8、一般到这里,大多数的问题都能查出来。可能是逻辑本身的问题,可能是请求入参导致慢查询,可能是中间件的网络抖动,可能是突发或者异常请求的问题。

9、如果都不是,回归到应用和机器本身的监控:应用GC的表现、机器本身的网络/磁盘/内存/CPU 各种的指标有没有发现异常的情况。这里可能是需要运维侧一起配合看看有没有做过改动。

10、要是还定位不出来,看能不能复现,能复现都好说,肯定是能解决的。

11、要是不能复现,只能在怀疑的地方打上详细的日志再好好观察(问题定位不出来,很多时候就是日志不够详细,而日志在正常情况下也不应该打太多)

这个我估摸想要考察的是看看你平时是怎么去定位问题的,定位问题的思路是什么,自己有没有方法论之类的。话虽如此,这也只是我这几年的定位问题的模式,也未必对,也不知道有没有缺少了哪一个重要的环节。面小公司总体下来会问些方法论的多,不会很专研某项技术的问题。

我是怎么定位线上问题的?相关推荐

  1. 有了这款工具,定位线上问题事半功倍|云效工程师指北

    大家好,我叫刘玄,负责云效流水线的开发.程序员在日常工作中经常会遇到一些线上问题需要排查,本文的主人公程序员小张也不例外.但排查的过程却时常令他困扰不已.让我们一起看看他遇到了哪些问题,又是怎么解决的 ...

  2. 前端录屏+定位源码,帮你快速定位线上bug

    前言 如何快速定位线上bug,是多数开发者都会遇到的难题 web-see 前端监控方案,提供了 前端录屏+定位源码 方式,让bug无处藏身 这是前端监控的第二篇,该篇讲解如何实现错误还原功能,第一篇 ...

  3. 抓包神器 Wireshark,帮你快速定位线上网络故障(3)

    1  复习:TCP 三次握手&四次挥手  正式分享之前,先简单复习一下 TCP 的三次握手.四次挥手. TCP 通过三次握手建立连接(一图解千愁): TCP 协议通过四次挥手断开连接(一图知所 ...

  4. 阿里神器 Arthas 有多强?教你一招定位线上Bug!

    今日推荐 扔掉 Postman,一个工具全部搞定,真香!为啥查询那么慢?还在直接用JWT做鉴权?JJWT真香推荐 15 款常用开发工具干掉 navicat:这款 DB 管理工具才是y(永)y(远)d( ...

  5. 牛逼的不停服定位线上问题-arthas

    ​ Hello,大家好我是你们可爱的小花. 前言 你是不是为了生产环境问题,无法定位.无法中断.无法解决 项目无故异常,日志无报错.报错不够明确 测试环境无法复现.生产环境问题偶发 但重启项目后问题消 ...

  6. 阿里问题定位神器 Arthas 的骚操作,定位线上BUG,超给力

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | likai 来源 | https://urlify.cn ...

  7. 不改一行代码定位线上性能问题

    背景 最近时运不佳,几乎天天被线上问题骚扰.前几天刚解决了一个 HashSet 的并发问题,周六又来了一个性能问题. 大致的现象是: 我们提供出去的一个 OpenAPI 反应时快时慢,快的时候几十毫秒 ...

  8. 如何使用Arthas定位线上 Dubbo 线程池满异常

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「Kirito的技术分享」 前言 本文是 ...

  9. 不改一行代码定位线上性能问题 1

    作者:crossoverJie 来源:crossoverJie 背景 最近时运不佳,几乎天天被线上问题骚扰.前几天刚解决了一个 HashSet 的并发问题,周六又来了一个性能问题. 大致的现象是: 我 ...

最新文章

  1. Nature-2018-抗菌药物组合有望特异性治疗耐多药性的细菌感染
  2. linux定时备份mysql数据库文件脚本
  3. HALCON示例程序inner_rectangle1.hdev木板有效区域提取
  4. android 应用专属目录,获取Android应用专属缓存存储目录的实例
  5. vueRouter使用心得
  6. 定时任务@Scheduled(cron = “* * * * * *?“) 表达式详解
  7. 研磨设计模式--外观模式
  8. VAssistX 快捷键
  9. java jxta_java现在还支不支持jxta,怎么官方都没下载了?
  10. 51单片机8位数码管显示学号变化
  11. python列表报错TypeError: list indices must be integers or slices, not str
  12. 做PPT只会直接插入图片?这样处理图片,让PPT的颜值瞬间提升几倍
  13. 【转载】HTML5 控制装置陀螺仪 ( 三轴 )
  14. windows系统自带工具dxdiag查看电脑信息
  15. CentOS 7 安装osquery监控系统
  16. 《前端》JavaScript总结
  17. php x12,小辣椒x12pro是什么处理器,一款专门为老年人服务的手机
  18. win10进不了系统怎么强制进安全模式
  19. 从一台 Windows 10 上共享文件夹到Docker中的Volume卷
  20. Python基础教程书籍案例:新闻采集(新闻聚合)【上】

热门文章

  1. vue中使用layui实现树形菜单增删改查功能
  2. R语言系统教程(三):多维数组和矩阵
  3. 宝塔面板权限问题导致php上传文件失败
  4. Go学习之编码实现区块链 - 【blockchain】
  5. ⊱人永远需要两种能力:好好说话和情绪稳定
  6. 怎么用计算机给u盘加密文件,使用u盘给电脑加密如何操作
  7. centos7dos命令下打开网络
  8. 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法
  9. cbrt c语音_如何在C语言中实现功能重载?
  10. excel分列---多页批量操作--vba宏实现