线上问题排查流程

问题排查

  • 针对各种常见的线上问题,梳理下排查思路。

业务问题

  • 线上问题大多数时候都是业务问题引发的问题,当线上环境绝大多数请求都是正常,当有部分或者某一个用户有问题,此时怎么针对性的排查
  • 在当前微服务体系下,一般都会有分布式链路追踪系统 ,以及ELK日志系统,我们完全可以通过监控平台去找到问题的点:
  • 异常日志的抓取

在这里插入图片描述

  • 此时我们可以通过日志追踪得到当前用户的请求信息:

在这里插入图片描述

  • 利用Arths的watch命令监控对应异常接口,通过日志得到对应的参数,通过Dubbo的invoke 命令模拟线上用户的请求,从而复现问题,解决问题

非业务问题

  • Arthas工具是一个很好的在线定位问题的工具,安装简单
  • 在非业务问题上的排查流程,必然先检查CPU, 内存, 线程等计算机核心资源
  • 我们通过dashboard命令可以得到本服务中对应的信息,并且每隔几秒会获取最新数据。
    • 可以在线程监控区域看到:线程id, 名称,状态,CPU占用情况,是否守护线程等
    • 内存嘻嘻:堆内存,Eden区,Survivor区,老年代,方法区
    • 机器情况

在这里插入图片描述

  • 如上我们可以得到对应的线程信息关键的线程id

  • 接着可以通过Thread thread_id 查询某个线程的执行堆栈,甚至都不用dump

  • 还有反编译jad,在线查询对应类的源码信息,方便问题排查

  • 但是大多线上事故都不会有时间去临时查找,对应生成系统,能在线定位时间不多,

  • 我会按如下步骤进行:

    • 按顺序重启有问题的机器,看是否能解决问题,
    • 在此同时,在最后重启的哪台机器上先执行jmap -dump指令将java堆的线程情况保存下来
    • 机器重启后如果不能恢复,会回退到之前版本,保证线上业务正常
    • 将保存下的dump文件导入到本地
    • 用jdk自带的 java visualVM工具将dump文件导入
    • visualVM可以通过可视化界面查看 dump 文件中记录所使用的类,每个类中对象以及各种当前环境下具体内容线下分析具体原因后在去解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot超详细教程_CG原画插画教程:超详细线稿教程

艺学绘小编收集整理了超详细线稿教程今天我们从起稿开始1. 用圆表示出人物的头部、胸腔和骨盆,分别画出头部的十字线和身体的中线,表示头和身体的朝向。用“火柴棍”表示四肢的动作形态。▼2. 根据圆和十字线画出脸的轮廓,再在身体骨架上画出…

Asp.Net.Core WebApi 版本控制

前言在后端Api的开发过程中,无法避免的会遇到接口迭代的过程,如何保证新老接口的共存和接口的向前的兼容呢,这时候就需要对Api进行版本的控制,那如何优雅的控制Api的版本呢?开始Microsoft.AspNetCore.Mvc.Versioning 是一个微软官方推出的一个用于管理Api版本的包,配…

[Java基础]字节缓冲流

字节缓冲输出流: package InstreamPack;import java.io.BufferedOutputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets;public class BufferStreamDemo01 {public s…

用asp.net core结合fastdfs打造分布式文件存储系统

最近被安排开发文件存储微服务,要求是能够通过配置来无缝切换我们公司内部研发的文件存储系统,FastDFS,MongDb GridFS,阿里云OSS,腾讯云OSS等。根据任务紧急度暂时先完成了通过配置来无缝切换内部文件系统以及FastDFS。…

仅仅有人物没背景的图片怎么弄_五分钟写作课 人物篇 人物的出场是个关键时刻...

我看过不少故事,人物出场了,说了几句话,然后离开,读者知道他是某人的爸爸,学校的老师,某个企业的老板,除了这些定为之外,他自己是怎样的性格?怎样的形象呢?没…

数据结构与算法一篇帮助你吃下KMP算法

模式匹配 什么是模式匹配,我们用一个案例来说明: 当S “s1,s2,s3,s4 …sn” T“t1,t2,t3,t4 … tn” 在字符串S中寻找T字符串的过程就是模式匹配的过程,T就说模式串,S是主串 实现方案: 暴力破解,逐字符判…

在远程 CSM 课程中体验线上工作坊

4.11 日周六,我参与了由 Bob 老师组织讲授的一期 Certified Scrum Master(即 CSM)课程,从中收获颇丰,特记于此,与君分享。CSM 通常是现场授课,但本次由于疫情的限制导致人们不得不尽可能减少外出…

数据结构与算法--力扣108题将有序数组转换为二叉搜索树

力扣108提将有序数组转换为二叉搜索树 近一年都比较关注算法相关的知识,也刷了不少题,之前的文章中大多也是算法相关的文章,但是感觉每次遇到树相关的题型都不能应对自如,因此还是有必要在相关知识上下功夫,因此有此次…

C#验证IP是否为局域网地址的三种方法

C#验证IP是否为局域网地址的三种方法前一阵子有【广州.NET群】的客户问起这个问题,说他们需要验证客户输入的网站是否为局域网。其实局域网的 IP并没有确定的定义,只要是局域网中,即可设置为任何一个 IP。但确实存在一个 内网保留地址的定义&…

数据结构与算法--力扣109题将有序双向链表转换为二叉搜索树

将有序数组转换为二叉搜索树 近一年都比较关注算法相关的知识,也刷了不少题,之前的文章中大多也是算法相关的文章,但是感觉每次遇到树相关的题型都不能应对自如,因此还是有必要在相关知识上下功夫,因此有此次总结&…

[Java基础]字符缓冲流

代码如下: package CopyJavaPack01;import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException;public class CopyJavaDemo04 {public static void main(String[] args) throws IOException {BufferedWriter bw new BufferedWriter(new FileWri…

在C#中使用RESTful API的几种好方法

在C#中使用RESTful API的几种好方法原文来自互联网,由长沙DotNET技术社区编译。 通过Web开发的路径,您发现自己迟早需要处理外部API(应用程序编程接口)。在本文中,我的目标是列出在C#项目中使用…

SpringBoot自动装配源码解析

Spring Boot 自动装配原理 使用Spring Boot最方便的一点体验在于我们可以几零配置的搭建一个Spring Web项目,那么他是怎么做到不通过配置来对Bean完成注入的呢。这就要归功于Spring Boot的自动装配实现,他也是Spring Boot中各个Starter的实现基础&#…

自制 .NET Core 路由调试中间件

点击上方蓝字关注“汪宇杰博客”导语本文教大家如何在 .NET Core 应用中使用中间件输出路由信息以便调试程序。背景在 .NET Framework 的上古时代,有个叫做 RouteDebugger 的神器,可以在 MVC 或 Web API 应用中输出当前页面的路由信息,也可查…

玉柴spn码故障对照表_后处理的故障不总是尿素泵故障,也有可能是这些原因

之前说到后处理故障,解决的都是柴油机尿素泵、喷嘴的,而SCR箱同样是一个重要的部件,它的作用就是将尿素液与尾气中的氮氧化物充分混合并发生化学反应的场所,目前重卡SCR箱集SCR催化器和发动机排气消声器与一体。整体材料为不锈钢&…