排障思路分析归纳

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

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

MOLE 2.5 分析分子通道和孔隙

软件介绍 生物大分子通道和孔隙在生物学中发挥着重要作用,例如在分子识别和酶底物特异性方面。 我们介绍了一种名为 MOLE 2.5 的高级软件工具,该工具旨在分析分子通道和孔隙。 与其他可用软件工具的基准测试表明,MOLE 2.5 相比更快、更强大、功能更丰富。作为一项新功能,MOLE 2.5 可以估算已识别通道的物理化学性质。 软件下载 https://pan.quark.cn/s/57

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

【软考】希尔排序算法分析

目录 1. c代码2. 运行截图3. 运行解析 1. c代码 #include <stdio.h>#include <stdlib.h> void shellSort(int data[], int n){// 划分的数组,例如8个数则为[4, 2, 1]int *delta;int k;// i控制delta的轮次int i;// 临时变量,换值int temp;in

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除