首页 > 其他分享 >线上问题排查常用分析方法

线上问题排查常用分析方法

时间:2023-11-08 15:44:21浏览次数:35  
标签:Ip trace jar 分析方法 排查 线上 arthas 10.10 Port

线上问题排查方案汇总

一、抓包排查接口请求与响应

  • 1.针对Linux原生环境的服务,常用的网络协议有udp、tcp、http、dns、ip、port、ssl等,针对Http请求接口,可抓取从源Ip到目的Ip的数据包或者抓取从源Port到指定Port的数据包。
  • 常用命令汇总:
    抓取整包(当前服务器上的调用情况)
    tcpdump -i any -s 0 -w tempTest.pcap -v
    抓取指定IP数据包
    tcpdump -i any -s 0 host 10.10.10.10 -w tempTest.pcap -v
    抓取指定Port数据包
    tcpdump -i any -s 0 port 8003 -w tempTest.pcap -v
  • 2.抓取的.pcap包可通过wireShark分析工具对数据包进行分析。通过命令可筛选过滤出源Ip、Port,目的Ip与Port,关键接口,参数的对应HTTP请求详情。
    常用命令如下:
    通过接口名筛选http contains "/student/search"
    通过源Ip或Port来筛选:
    ip.src_host==10.10.10.10 ip.dst_host==10.10.10.10
    tcp.srcport==8080 tcp.dstport==80
    通过筛选Http协议中请求方法
    http.request.method==GET
    筛选出不是源Ip的请求
    !(ip.src_host==0.10.10.10)

二、Arthas结合源码监控程序PID分析问题

Arthas常用命令:

  • 启动之前可采用ps -ef |grep 服务名 查看当前运行服务的权限,采用命令su 用户名 将权限切换到对应权限再采用java -jar arthas-boot.jar命令启动监听。
  • 有时候会存在切换权限组失败的情况,可采用命令进行修改:usermod -s /bin/bash username
  • arthas启动命令,首先确保存在java环境,其次存在需要开源的arthas整包,采用命令java -jar arthas-boot.jar启动arthas服务,根据列出的服务选择对应服务进行监听
  • 若遇到无法启动arthas监听,可能是端口占用或者权限问题。
  • 端口占用解决方式(切换端口启动arthas监听服务):java -jar arthas-boot.jar --telnet-port 9998 --http-port -1
  • 采用trace监控指定方法,命令格式为trace 全限定类名 方法名,如下所示:trace com.sjj.nb.business.trace.service.StudentHandlerServiceImpl QueryStudentList
  • 采用watch监控入参出参(params:入参,returnObj:出参,-x 4 参数层级):
    watch com.sjj.nb.business.trace.service.StudentHandlerServiceImpl QueryStudentList "{params,returnObj}" -x 4
  • 采用getstatic获取类下的静态变量
    getstatic com.sjj.nb.business.trace.service.StudentHandlerServiceImpl StudentCodeMap -x 4
  • 采用jad反编译代码可查看线上某个类或者方法对应的代码
    jad watch com.sjj.nb.business.trace.service.StudentHandlerServiceImpl QueryStudentList

标签:Ip,trace,jar,分析方法,排查,线上,arthas,10.10,Port
From: https://www.cnblogs.com/shenjiajun/p/17808671.html

相关文章

  • 编译原理--自顶向下语法分析方法
    frompixivLL(1)文法的判别LL(1)文法的定义在P71其是根据Select选择符号集来定义的Select定义在P71Select(A->α)含义为:非终结符A在遇到Select(A->α)中元素时才能够将A->α,否则会匹配不上First定义在P69First(A)含义为:非终结符A在推导(->)时遇到的第一个终结符......
  • 基于三维点云数据的主成分分析方法(PCA)的python实现
    https://github.com/mengxingshifen1218/learning-pointcloud/blob/master/%E6%B7%B1%E8%93%9D/CH1/PointCloudHomework1/pca_normal.py  KD-Tree原理详解https://zhuanlan.zhihu.com/p/112246942构建算法:Input:无序化的点云,维度kOutput:点云对应的kd-treeAlgorithm:1......
  • 使用RTMP推流到安防监控平台LiteCVR,FLV视频无法播放的原因排查 
    众所周知,在安防监控领域中,远程视频监控技术的应用非常广泛。在工地监控中,它可以帮助监管部门和工程项目管理者及时掌握现场施工情况,发现是否存在违规、危险行为,保障工人安全和现场施工质量。安防监控视频平台LiteCVR基于云边端一体化架构,具有强大的数据接入、处理及分发能力,可......
  • 一次压力测试引起的内存溢出排查(apollo)
    项目从nacos配置中心适配apollo后,线上压测运行4个小时,内存告警,FGC达到了惊人的100+次拿到压测dump文件使用mat分析发现com.ctrip.framework.apollo.spring.property.SpringValueRegistry占比达到91.68%,很明显SpringValueRegistry导致的内存泄漏 找到了导致内存泄漏的原因,那么......
  • 机器视觉在生产线上的应用:提高生产效率和产品质量
    机器视觉在生产线上的应用可以提高生产效率和产品质量。首先,机器视觉可以用于零件的识别和分类。通过图像识别技术,机器可以自动识别零件的特征,确保在生产过程中使用正确的零件,避免错误和浪费。这不仅可以提高生产效率,还可以减少废品率,提高产品质量。其次,机器视觉可以用于生产线......
  • 记一次生产数据库连接超时问题排查
    背景SpringBoot2.0.8+ Hikari+ Oracle 历史项目,很久没维护了,生产上正常运行两年有余,双活架构,突然有一天其中一台后端服务器数据库连接池报错:SQLError:0,SQLState:08006SQLError:17002,SQLState:08006JDBCConnectionException:UnabletoacquireJDBCConnection初步排查......
  • kubenetes 报错排查
    1.报code=Unknowndesc=failedtogetsandboxip:checknetworknamespaceclosed:removenetns:unlinkat/var/run/netns/cni-2502ee8a-9f06-2a44-66c6-59e2a7a277f9:deviceorresourcebusy解决方案:seecode=Unknowndesc=failedtogetsandboxip:chec......
  • 提升物流效率和可见性:RFID技术在物流线上的创新应用
    提升物流效率和可见性:RFID技术在物流线上的创新应用随着科技的进步,物联网和大数据的应用越来越广泛。RFID(无线射频识别技术)作为物联网的重要组成部分,已经广泛应用于物流行业中。RFID技术通过无线电信号识别特定目标,无需人工干预,大大提高了物流线的效率。一、RFID的工作原理RFID系统......
  • Redis通过复制rdb文件方式同步线上数据到本地以及提示:Can't handle RDB format versi
    场景Redis的持久化机制-RDB方式和AOF方式:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/105052841Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/130237326以上对于redis持久化......
  • 大量生成字节码导致元空间溢出问题排查
    前几天生产环境出现了一个问题,gc日志里面某一个时间段出现了大量的FullGC,而且都是回收元空间内存失败了,最终导致了JVM停止运行,微服务中的某个服务发生了宕机。下面记录下排查该问题的过程。首先我们根据服务器的CPU核心数和内存大小,设置了元空间的最大值为512M,这是前提。在服务G......