本文主要是介绍排障思路分析归纳,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
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
分别点开总部、分支用户管理中加密算法的下拉列表,找到总部和分支都支持的算法,并在总部用户管理中选择该算法即可。
构建清晰的排障思路,从而达到快速解决问题能力。
这篇关于排障思路分析归纳的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!