排障思路分析归纳

2024-06-18 02:44
文章标签 分析 归纳 思路 排障

本文主要是介绍排障思路分析归纳,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、排除法、分组分层法

日常项目问题概述:

例子:

例子1:客户说内网电脑访问不到公网的某一个网站了。

例子2:客户说早上九点内网无法上网,集体断网,过了一会就恢复了,问题原因是什么?

分层法思路总结

分组法总结

2、单一变量法

例子:

例子1:客户说内网电脑微信发图片卡慢,跳过AF就正常,需要协助排查?

例子2:客户反馈安装了EDR后,导致业务软件的图片打不开,需协助排查?

例子3:客户反馈外网下载内网文件服务器文件,一旦超过10M的文件就会下载失败,经过抓包排查设备未对数据产生影响,但客户依旧认为是设备的问题,怎么说服客户?

3、对比法

例子:

例子1:客户反馈建立了sangfor_vpn后,总部ping分支存在丢包情况,需要排查?

例子:【aDesk】客户反馈某款新部署的软件在桌面云环境的win10虚拟机里面打开几秒后闪退,其他软件可以正常打开,异常的软件之前物理机使用都正常,需要排查问题原因?

4、逆向思维分析法

例子:

例子1:客户说sangfor vpn对接不起来,需要协助。

构建清晰的排障思路,从而达到快速解决问题能力。


1、排除法、分组分层法

排除法的基本思路是逐步排除可能导致问题的因素,直到找到问题的根本原因。具体步骤如下:

  • 确认问题的具体现象,明确问题的范围与影响。
  • 根据问题的表现和影响,列出可能导致问题的因素。
  • 从可能的原因列表中逐一进行验证和排查。
  • 根据验证的结果判断是否结果或是否需要调整策略。
  • 最终找到问题的根本原因,万事大吉。

使用场景: 网络数据不通、环境复杂、问题可能原因众多等需梳理排查思路的场景,逐层有条理的排除。

分层、分组分析:

分层分析: 分层分析法是一种将问题分解为多个层次,并逐层分析和解决问题的方法。具体步骤如下:

确定问题的层次结构:将问题分解为多个层次,从整体到细节,形成一个层次结构。

逐层分析和解决问题:从层次结构的底层开始,逐层分析和解决问题。

观察结果和调整策略:根据每层分析的结果,观察问题是否得到解决或是否有新的线索出现。

分组分析: 分组法是将问题的相关因素进行分组,并逐个分析和解决每个分组的问题的方法。具体步骤如下:

  • 确定相关因素:将问题的相关因素进行分类和分组。
  • 逐个分析和解决分组的问题:从一个分组开始,逐个分析和解决每个分组的问题。
  • 观察结果和调整策略:根据每个分组分析的结果,观察问题是否得到解决或是否有新的线索出现。

日常项目问题概述:

例子:

例子1:客户说内网电脑访问不到公网的某一个网站了。

网络拓扑:

一般排查思路:

  • 终端ping这个域名试试是否可以解析出地址,无法解析换一下dns测试看看是否恢复正常。
  • 防火墙去ping这个域名看是否可以通,如果可以进行下一步。
  • 防火墙开个直通加个白测试看看是否恢复正常。
  • 检查AF路由、地址转换配置是否正确。
  • 抓包分析。
  • XXXX。

分层排查法排查思路:

基于PC访问网页数据交互逻辑分层-缩小问题范围

PC访问域名的逻辑,整个通信过程会分为两个阶段:

  • 访问DNS服务器阶段:公网网站一般为域名形式,那么PC要能与网站服务器建立连接,是需要基于ip做路由转发的,所以要先解析此域名,获取到域名对应的公网ip。
  • 访问web服务器阶段:有了服务器的公网ip,下一步就是建立传输层连接与应用层交互了。PC会先与此公网ip建立TCP连接并发送HTTP请求。服务器响应后,在浏览器中渲染展示。

dns解析异常、传输层端口不通、应用层交五异常?

通过简单梳理数据流通信逻辑,PC访问域名不通,问题可大致分为两个维度:

  • 域名dns解析是否存在异常
  • 与服务器通信是否存在异常(传输层端口不通、应用层交互异常)

排查过程(判断/排除方法):

  • PC使用nslookup解析www.xxxx.com
  • telnet IP 端口

基于网络拓扑中数据包转发阶段-分层梳理问题可能原因:

具体排查时,AF转发数据可以再次分为三个阶段:数据到防火墙之前、数据被防火墙处理转发、数据被防火墙转发出去到公网传输,那可能出现的原因可以分为三层:

  • 内网环境问题导致
  • 防火墙自身问题导致
  • 外网环境问题导致

内网环境问题导致:数据包没有到防火墙

防火墙转发问题导致:

  • 策略拦截
  • 路由转发异常
  • 产品问题(其他问题排除完后,可能是设备产品问题,此时可以转400协助确认)

外网环境问题导致:数据转发至公网但未收到回包

例子2:客户说早上九点内网无法上网,集体断网,过了一会就恢复了,问题原因是什么?

  • 网络维护————配置类导致
  • 设备坏了————设备故障类导致
  • 运营商光纤挖断了————环境问题导致

设备配置类:

  • 查看设备操作日志是否存在问题时间出现前后的配置更改日志。
  • 查看设备流控酏置是否存在问题时间段内限速不合理配置。
  • 查看设备应用控制策略是否存在基于问题时间段的拒绝策略。
  • 查看设备行为日志,对应时间段内是否存在大量联动拒绝的日志,再进一步查看安全日志是否存在拦截情况

设备故障类:

  • 查看设备系统故障日志,比如问题出现时间出现大量error等级日志。
  • 查看设备接口流量详情以及会话数详情,对应时间点是否存在断层、或降为0的情况---一般断层则说明设备发生过重启

环境问题类:

  • 查看AF的接口流量图,确认问题时间是否存在激增大流量导致运营商限制异常流量导致。
  • 如AF网口是否配置了链路故障检测,查看问题时间是否存在故障,是否因为其他设备或运营商环境故障导致断网。

分层法思路总结

分组法总结

断网查原因、暂无明显现象、无法直接定位问题范围的场景,根据分组逻辑“逐组排除”问题,做到思路清晰有条理。

2、单一变量法

单一变量法的基本思路是逐个变量地进行测试和排查,以确定是否存在与该变量相关的问题。具体步骤如下:

  • 根据问题的现象与影响,选择一个变量进行测试和排查。
  • 改变变量的状态。
  • 根据验证的结果判断是否结果或是否需要调整策略。
  • 最终找到问题的根本原因,万事大吉。

适用场景:常应用于产品本身无日志、无明显特征的功能拦截客户业务的问题排查场景,证明非设备问题、实施排除方案,通过单一变量来辅助更加准确的定位问题。

例子:

例子1:客户说内网电脑微信发图片卡慢,跳过AF就正常,需要协助排查?

客户说:“连手机热点就能发送成功了”。(没有遵循单一变量,这样操作同时跳过了多个设备,甚至于公网ip都变了!)

我们可以尝试单独跳过或者单独过设备测试是否正常。————用于快速定位根因的范围

例子2:客户反馈安装了EDR后,导致业务软件的图片打不开,需协助排查?

我们可以卸载EDR后测试是否正常。————用于快速定位根因的范围

例子3:客户反馈外网下载内网文件服务器文件,一旦超过10M的文件就会下载失败,经过抓包排查设备未对数据产生影响,但客户依旧认为是设备的问题,怎么说服客户?

可以通过跳过AF或单独过AF测试是否正常。————用于证明非设备导致

3、对比法

对比法是通过对比不同的情况或对象,找出问题的差异和共同点,进而确定问题的原因和解决方法。具体步骤如下:

  • 根据问题的现象,选择适当的对比对象和情况。
  • 对比不同对象或情况之间的差异和共同点,找出可能导致问题的因素。
  • 根据对比的结果,确定可能导致问题的原因,并提出相应的解决方法。

适用场景:常应用于数据包分析中,vpn丢包等设备的数据转发、ipsecvpn对接不上、双机组件不起来等需对比出异同点,分析异同点的影响来定位问题,如一个流量在防火墙转发时未丢包未重传无明显异常特征,但是客户的业务过AF有异常,此时可以跳过AF抓取一个正常包与过AF的异常包进行对比寻找不同点定位根因。

例子:

例子1:客户反馈建立了sangfor_vpn后,总部ping分支存在丢包情况,需要排查?

vpn数据流详解:

vpntun口作用:vpntun口是vpn隧道中的虚拟三层接口,用于将要传输的数据包进行加密、解密、并校验完整性。

vpn数据流分析:LAN口收到数据后会查询路由转发给vpntun口,vpntun口将数据加密并封装后,从wan口发出到对端,对端wan口收到数据后,解封装并解密后转发给vpntun口,vpntun口查询路由后再转发给LAN口继续转发。

目前需要确认丢包点位置,那么正常逻辑是抓包对比分析,确认丢包范围,如刚分析的数据转发情况:

  • 内网指定ping的字节长度(ping XXX.XXX.XXX.XXX-t-1 1000),然后在两端抓包:tcpdump -i any host对端公网ip or host 对端内网ip -nn 。这样可以在一个包文件中抓取到封装前、封装后的数据包。
  • 再从数据包观察推导出封装后的包长在1000-1200左右。数据包过滤包长即可得出ping包转发以及封装的数据。
  • 再通过对比正常未丢包数据、与发生丢包数据对比,即可得出结论--ping丢包是否发生在上图:1、2或6、7。
  • 再通过分支与总部的数据包对比,即可发现是否存在公网丢包。

像是丢包可以通过IPID去查,看发出去的包IPID和对方收到的IPID是否一致,但是在隧道封装过程中,报文的IPID会产生变化。

例子:【aDesk】客户反馈某款新部署的软件在桌面云环境的win10虚拟机里面打开几秒后闪退,其他软件可以正常打开,异常的软件之前物理机使用都正常,需要排查问题原因?

首先在问题排査前,我们知道是新部署软件无法打开,其他的软件可以正常的打开,跟Windows的环境有很大的强关联的:一般第方软件,在我们对软件的相关功能不太清楚的情况下,这个时候我们可以采取对比排査思路,做环境的对比,排查环境或者产品兼容性的问题。

对比法排查思路

纯净虚拟机对比测试:

  • 能排查是否软件因为agent安装影响导致的。
  • 能排查是否其他软件的安装或者windows操作系统的设置导致的问题。

物理机对比测试:

  • 能排查是否虚拟机性能导致的问题。
  • 能排查是否软件本身不支持虚拟化导致的问题。

不同操作系统对比测试:

  • 能排查是否软件对操作系统支持的测试。

不同软件版本安装对比测试:

  • 能排查是否软件本身版本的存在问题。

不同网络环境对比测试:

  • 能排查是否软件是否有网络环境的限制或必须网络通信。

排查过程

  • 环境信息确认,先获取到基本的环境的信息,确认当虚拟机的操作系统版本跟软件版本后。
  • 物理机侧能打开,确认物理机正常使用软件的操作系统,是否有包含虚拟机的操作系统【对比操作系统差异】。
  • 确认物理机操作系统一致后,再确认安装的软件版本的细化版本是否一致;【对比软件版本差异】。
  • 对比软件版本一致后,再对比网络,发现虚拟机跟公网是无法通信,但是物理机都是可以正常跟网络通信:【对比网络差异】。
  • 取消虚拟机网络的限制,发现软件可以正常的打开使用了,问题原因是该软件打开后会自动跟公网的服务器做版本校验,必须校验通过后才可以正常的使用。

4、逆向思维分析法

因果分析法是从问题的结果或影响出发,推导可能的原因和解决方法的方法。具体步骤如下:

  • 确定问题的结果或影响:明确问题的具体结果或影响逆向。
  • 推导可能的原因:从问题的结果或影响出发,逆向推导可能导致问题的原因。
  • 提出解决方法:根据逆向推导的结果,提出相应的解决方法,以解决问题的根本原因。

适用场景:断网查原因、有明确报错信息、客户操作过后出现问题的情况下分析可能的因素,快速解决问题。

例子:

例子1:客户说sangfor vpn对接不起来,需要协助。

对接协商过程:

(1)、分支通过指定的vpn线路,去请求总部TCP4009(默认),然后认证账户(账号密码、证书、共享秘钥)并交互信息(子网信息、加密算法、内网服务、传输协议等)

(2)、协商成功后,后续的业务交互就使用之前确认的传输协议,发起对应协议4009端口的数据交互。

正常排查步骤

(1)、检查我方对接使用的IP与对端对接使用的IP互访是否正常--ping测试以及分支te1net总部4009端口是否通。

(2)、检查对接SANGFOR VPN的线路是否激活-总部与分支都需要。

(3)、检查vpn内网接口是否配置了-需要配置好vpn内网口vpn服务才能起来。

(4)、检查总部配置的分支用户密码与分支用来接入的用户密码是否正确、共享秘钥是否一致。

日志提示webagent共享密钥或用户密码错误?

这种就是两边配的不一样,可以重新配置一下查看是否恢复。

日志提示加密算法不匹配,用户算法ID:xxx

分别点开总部、分支用户管理中加密算法的下拉列表,找到总部和分支都支持的算法,并在总部用户管理中选择该算法即可。

构建清晰的排障思路,从而达到快速解决问题能力。

这篇关于排障思路分析归纳的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1071092

相关文章

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1