发明内容
本发明提供了一种基于流路径分析的故障定位方法及装置,能够提高故障定位效率。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种基于流路径分析的故障定位方法,包括:
针对网络中的每一个交换设备的每一个已开启sflow监测功能的sflow接口,采样所述sflow接口的流数据信息;
周期性的基于当前时间段内采集到的所述流数据信息,统计当前时间段内的业务流集,且所述业务流集中业务流的数量不为零时,所述业务流集还包括内部每一个业务流的流路径集;
非首次统计所述业务流集时,若统计的上一个业务流集和统计的当前业务流集的交集非空,则将所述交集中的每一个业务流依次作为目标业务流,并执行:
根据所述上一个业务流集中所述目标业务流的上一个流路径集,以及所述当前业务流集中所述目标业务流的当前流路径集,判断所述目标业务流是否传输正常,若否,确定所述目标业务流传输故障,并针对所述目标业务流执行故障定位处理。
进一步地,所述判断所述目标业务流是否传输正常,若否,确定所述目标业务流传输故障,包括:
A1:判断所述上一个流路径集和所述当前流路径集是否相同,若是,生成针对所述目标业务流的业务流正常通告,并执行A4,否则,执行A2;
A2:对于所述当前流路径集中的每一个第一流路径,其中,所述上一个流路径集中不存在与所述第一流路径相同的流路径,判断每一个所述第一流路径的末位交换设备是否均为应到达的终端交换设备,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A3;
A3:判断每一个所述第一流路径的末位交换设备是否均与目的虚机相连,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A5;
A4:确定所述目标业务流传输正常并结束当前流程;
A5:确定所述目标业务流传输故障。
进一步地,所述针对所述目标业务流执行故障定位处理,包括:
确定所述当前流路径集中的每一个第二流路径,其中,任一所述第二流路径的存在均使得所述目标业务流未传输正常;
针对每一个所述第二流路径均执行:
确定所述上一个流路径集中的目标流路径,其中,当前第二流路径为所述目标流路径的一部分;
确定所述当前第二流路径的末位交换设备;
根据所述目标流路径,确定该末位交换设备在所述目标流路径中的出sflow接口,以及确定所述目标流路径中该末位交换设备的下一跳交换设备,在所述目标流路径中的入sflow接口;
判断当前时间段内是否分别采样到所述出sflow接口和所述入sflow接口的流数据信息;
判断结果均为是时,生成针对所述目标业务流的业务流故障告警;
判断结果为采样到所述出sflow接口的流数据信息,但未采样到所述入sflow接口的流数据信息时,生成针对所述入sflow接口的物理设备故障告警;
判断结果为未采样到所述出sflow接口的流数据信息,但采样到所述入sflow接口的流数据信息时,生成针对所述出sflow接口的物理设备故障告警。
进一步地,该方法进一步包括:非首次统计所述业务流集时,若存在至少一个第一业务流,其中,所述上一个业务流集包括所述第一业务流,所述当前业务流集不包括所述第一业务流,则生成针对每一个所述第一业务流的业务流完成通告;
非首次统计所述业务流集时,若存在至少一个第二业务流,其中,所述上一个业务流集不包括所述第二业务流,所述当前业务流集包括所述第二业务流,则生成针对每一个所述第二业务流的业务流增加通告。
进一步地,所述流数据信息包括:VXLAN数据包或VLAN数据包、所在交换设备的Agent IP、出入接口索引信息;
在所述采样每一个所述sflow接口的流数据信息之前,进一步包括:开启各个所述sflow接口的所述sflow监测功能,并配置所述sflow接口的采样方式为流采样、采样方向为入方向采样;配置各个所述交换设备的Agent IP为其设备管理口IP地址;获取网络整体拓扑结构信息,所述网络整体拓扑结构信息包括各个所述交换设备的管理口IP地址与设备ID间的对应关系、网络中交换设备间的链接关系;配置流平稳所需时间;
在所述采样每一个所述sflow接口的流数据信息之后,进一步包括:执行预设的流路径整合算法,以根据流数据信息中的数据包标识业务流,根据流数据信息中的Agent IP标识交换设备,并结合所述链接关系以及流数据信息中的出入接口索引信息,整合出每一个业务流的流路径集;
所述周期性的基于当前时间段内采集到的所述流数据信息,统计当前时间段内的业务流集,包括:周期性的统计当前时间段内整合出的业务流集,且该业务流集中的各业务流均满足所述流平稳所需时间。
另一方面,本发明提供了一种基于流路径分析的故障定位装置,包括:
采样单元,用于针对网络中的每一个交换设备的每一个已开启sflow监测功能的sflow接口,采样所述sflow接口的流数据信息;
统计单元,用于周期性的基于当前时间段内采集到的所述流数据信息,统计当前时间段内的业务流集,且所述业务流集中业务流的数量不为零时,所述业务流集还包括内部每一个业务流的流路径集;
处理单元,用于非首次统计所述业务流集时,若统计的上一个业务流集和统计的当前业务流集的交集非空,则将所述交集中的每一个业务流依次作为目标业务流,并执行:根据所述上一个业务流集中所述目标业务流的上一个流路径集,以及所述当前业务流集中所述目标业务流的当前流路径集,判断所述目标业务流是否传输正常,若否,确定所述目标业务流传输故障,并针对所述目标业务流执行故障定位处理。
进一步地,所述处理单元,用于执行下述流程:
A1:判断所述上一个流路径集和所述当前流路径集是否相同,若是,生成针对所述目标业务流的业务流正常通告,并执行A4,否则,执行A2;
A2:对于所述当前流路径集中的每一个第一流路径,其中,所述上一个流路径集中不存在与所述第一流路径相同的流路径,判断每一个所述第一流路径的末位交换设备是否均为应到达的终端交换设备,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A3;
A3:判断每一个所述第一流路径的末位交换设备是否均与目的虚机相连,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A5;
A4:确定所述目标业务流传输正常并结束;
A5:确定所述目标业务流传输故障。
进一步地,所述处理单元,用于确定所述当前流路径集中的每一个第二流路径,其中,任一所述第二流路径的存在均使得所述目标业务流未传输正常;针对每一个所述第二流路径均执行:确定所述上一个流路径集中的目标流路径,其中,当前第二流路径为所述目标流路径的一部分;确定所述当前第二流路径的末位交换设备;根据所述目标流路径,确定该末位交换设备在所述目标流路径中的出sflow接口,以及确定所述目标流路径中该末位交换设备的下一跳交换设备,在所述目标流路径中的入sflow接口;判断当前时间段内是否分别采样到所述出sflow接口和所述入sflow接口的流数据信息;判断结果均为是时,生成针对所述目标业务流的业务流故障告警;判断结果为采样到所述出sflow接口的流数据信息,但未采样到所述入sflow接口的流数据信息时,生成针对所述入sflow接口的物理设备故障告警;判断结果为未采样到所述出sflow接口的流数据信息,但采样到所述入sflow接口的流数据信息时,生成针对所述出sflow接口的物理设备故障告警。
进一步地,所述处理单元,用于非首次统计所述业务流集时,若存在至少一个第一业务流,其中,所述上一个业务流集包括所述第一业务流,所述当前业务流集不包括所述第一业务流,则生成针对每一个所述第一业务流的业务流完成通告;非首次统计所述业务流集时,若存在至少一个第二业务流,其中,所述上一个业务流集不包括所述第二业务流,所述当前业务流集包括所述第二业务流,则生成针对每一个所述第二业务流的业务流增加通告。
进一步地,该基于流路径分析的故障定位装置还包括:配置单元;
其中,所述流数据信息包括:VXLAN数据包或VLAN数据包、所在交换设备的AgentIP、出入接口索引信息;
所述配置单元,用于开启各个所述sflow接口的所述sflow监测功能,并配置所述sflow接口的采样方式为流采样、采样方向为入方向采样;配置各个所述交换设备的AgentIP为其设备管理口IP地址;获取网络整体拓扑结构信息,所述网络整体拓扑结构信息包括各个所述交换设备的管理口IP地址与设备ID间的对应关系、网络中交换设备间的链接关系;配置流平稳所需时间;
所述统计单元,用于执行预设的流路径整合算法,以根据流数据信息中的数据包标识业务流,根据流数据信息中的Agent IP标识交换设备,并结合所述链接关系以及流数据信息中的出入接口索引信息,整合出每一个业务流的流路径集;周期性的统计当前时间段内整合出的业务流集,且该业务流集中的各业务流均满足所述流平稳所需时间。
本发明提供了一种基于流路径分析的故障定位方法及装置,该方法包括:采样网络中各交换设备的各已开启sflow监测功能的sflow接口的流数据信息;周期性的基于当前时间段内采集到的流数据信息,统计当前时间段内的业务流集;非首次统计业务流集时,若上一个业务流集和当前业务流集的交集非空,则针对交集中的各业务流均执行:根据上一个业务流集中该业务流的流路径集和当前业务流集中该业务流的流路径集,判断该业务流是否传输正常,若否,确定该业务流传输故障,并针对该业务流执行故障定位处理。存在传输失败的业务流时,仅针对这些业务流进行故障排查,而非针对全局网络进行故障排查。因此,本发明能够提高故障定位效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于流路径分析的故障定位方法,可以包括以下步骤:
步骤101:针对网络中的每一个交换设备的每一个已开启sflow监测功能的sflow接口,采样所述sflow接口的流数据信息。
步骤102:周期性的基于当前时间段内采集到的所述流数据信息,统计当前时间段内的业务流集,且所述业务流集中业务流的数量不为零时,所述业务流集还包括内部每一个业务流的流路径集。
步骤103:非首次统计所述业务流集时,若统计的上一个业务流集和统计的当前业务流集的交集非空,则将所述交集中的每一个业务流依次作为目标业务流,并执行:根据所述上一个业务流集中所述目标业务流的上一个流路径集,以及所述当前业务流集中所述目标业务流的当前流路径集,判断所述目标业务流是否传输正常,若否,确定所述目标业务流传输故障,并针对所述目标业务流执行故障定位处理。
本发明实施例提供了一种基于流路径分析的故障定位方法,该方法包括:采样网络中各交换设备的各已开启sflow监测功能的sflow接口的流数据信息;周期性的基于当前时间段内采集到的流数据信息,统计当前时间段内的业务流集;非首次统计业务流集时,若上一个业务流集和当前业务流集的交集非空,则针对交集中的各业务流均执行:根据上一个业务流集中该业务流的流路径集和当前业务流集中该业务流的流路径集,判断该业务流是否传输正常,若否,确定该业务流传输故障,并针对该业务流执行故障定位处理。存在传输失败的业务流时,仅针对这些业务流进行故障排查,而非针对全局网络进行故障排查。因此,本发明实施例能够提高故障定位效率。
需要说明的是,除了具有提高故障定位效率的有益效果之外,本发明实施例至少还具有如下两个有益效果:
有益效果1:能够及时发现设备故障;
有益效果2:不增加网络设备的转发压力。
详细地,针对上述有益效果1,可作如下说明:
由于业务流通常可以存在多个流路径,故某个网络交换设备故障时,通常并不会影响到业务流的每一个流路径,使得业务流仍可通过未被影响到的流路径而完成传输。如此,系统会认为该业务流传输成功,而非传输失败。
如此,对于现有的业务流传输失败时才针对全局网络进行故障排查的这一故障定位方式,由于监测不出业务流层面的异常,故不会启动传统故障定位方法,从而无法及时发现故障设备,加大了网络后续业务异常的风险。可见,针对全局网络的故障排查,通常是物理层面的故障分析,而不能定位业务流级别的故障。
而本发明实施例是基于不同时间段内同一业务流的流路径集,来判定业务流是否传输失败,即考虑到了业务流的每一条流路径,便于及时发现传输失败的流路径,从而保证了物理故障的及时发现,减少故障存在带来的风险。
因此,本发明实施例可支持规模化网络场景中业务级的流状态分析与故障定位,实现精准分析业务流状态,快速定位故障点,使得整体维护效率更高、服务质量更优、用户体验更好。
详细地,针对上述有益效果2,可作如下说明:
现有研究提出,也可通过监测业务的QoS(Quality of Service,服务质量)指标来实现业务级的故障定位。比如,可由目的节点负责实时监测业务的QoS,当QoS突降时将信息反馈给源节点,触发检测与定位方法,此时再由源节点和目的节点各自生成的一个故障检索报文,分别沿着业务转发的路径和逆路径转发,找出不可达的点,再封装成报文再判断。
但随着网络规模的增大,网络拓扑的复杂,这种通过转发报文来实现故障定位方法会增加时间开销,无法保证及时定位故障源,有一定的局限性。同时故障检索报文以及定位报文的加入会加大网络设备的转发压力,容易带来潜在的网络拥塞可能性。
而本发明实施例是基于sflow监测功能,通过采样网络交换设备的各个sflow接口的流数据信息,来了解业务流及其流路径的变化情况,无需涉及额外的辅助报文,从而不会出现因辅助报文转发而导致的网络设备转发压力增加的问题。
因此,本发明实施例通过流路径来分析业务流,不引入任何辅助报文,避免了网络设备转发压力的增加,有效缩小业务流故障排查范围,减少故障定位时间开销,提升维护效率以及用户体验度。
综上所述,本发明实施例可基于流路径分析以实现智能业务级故障定位,从而可从业务流及流路径的角度,去及时分析业务流状态并推演故障类型,进而定位故障根源,故解决了现有实现方式中存在的,针对大型网络中业务流发生故障时难以精准及时定位的缺陷。
详细地,sflow技术是一种以设备端口为基本单元的数据流随机采样的流量监控技术,因此在执行上述步骤101之前,需要对每一台网络交换设备的每个端口,或称sflow接口,开启sflow监测功能。
如此,在大型网络中使用隧道级流量监测与拓扑发现的结合技术进行业务级别的故障定位时,首先需要对网络中各交换设备进行初始化配置,以开启各sflow接口的sflow监测功能。如此,即可基于该sflow监测功能,采样各sflow接口的流数据信息,并根据流数据信息以得到业务流的各个流路径。
如上述步骤102所述,可以周期性的统计当前时间段内的业务流集,以便于后续的周期性故障判定。
由于需要对比两时间段内的业务流集以判定故障,故请参考上述步骤103,可以在非首次统计业务流集时,执行故障判定。
若一业务流在上一时间段内业务完成,故不存在于当前时间段内,即该业务流不属于上述交集。
若一业务流在当前时间段内首次出现,为新增业务流,由于没有对比基础,故该业务流同样不属于上述交集。
若上一时间段和当前时间段内均存在有同一业务流,则需对比分析该业务流的流路径变化情况,该业务流属于上述交集。
针对交集中的各个业务流,可以对比该业务流在上一时间段内的流路径集和该业务流在当前时间段内的流路径集,以判定该业务流传输正常或传输故障。
此外,基于上述内容,在本发明一个实施例中,针对如上所述的业务流完成和新增业务流的情况,所以,该方法可以进一步包括:非首次统计所述业务流集时,若存在至少一个第一业务流,其中,所述上一个业务流集包括所述第一业务流,所述当前业务流集不包括所述第一业务流,则生成针对每一个所述第一业务流的业务流完成通告;
非首次统计所述业务流集时,若存在至少一个第二业务流,其中,所述上一个业务流集不包括所述第二业务流,所述当前业务流集包括所述第二业务流,则生成针对每一个所述第二业务流的业务流增加通告。
在本发明一个实施例中,生成业务流完成通告时,可以将其发送给控制台,并更新数据库;生成业务流增加通告时,将其发送给控制台,并将新增加的业务流的流信息及流路径集存入数据库。
在本发明一个实施例中,为了说明一种判断业务流是否传输故障的可能实现方式,所以,所述判断所述目标业务流是否传输正常,若否,确定所述目标业务流传输故障,包括:
A1:判断所述上一个流路径集和所述当前流路径集是否相同,若是,生成针对所述目标业务流的业务流正常通告,并执行A4,否则,执行A2;
A2:对于所述当前流路径集中的每一个第一流路径,其中,所述上一个流路径集中不存在与所述第一流路径相同的流路径,判断每一个所述第一流路径的末位交换设备是否均为应到达的终端交换设备,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A3;
A3:判断每一个所述第一流路径的末位交换设备是否均与目的虚机相连,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A5;
A4:确定所述目标业务流传输正常并结束当前流程;
A5:确定所述目标业务流传输故障。
通常情况下,业务流在传输过程中,可能会出现正常传输、路径转移、传输故障的情况。其中,负载均衡策略和目的虚机转移,均会引发路径转移。如此,上述第一流路径为出现路径转移或传输故障的流路径。
正常传输时,路径保持不变。若因负载均衡策略而发生路径转移,则流路径会发生改变,但流路径的末位交换设备仍为应到达的终端交换设备;若因目的虚机转移而发生路径转移,则流路径会发生改变,但流路径的末位交换设备会与目的虚机直连。否则,即可认为流路径传输故障。业务流的至少一个流路径故障时,即可认为该业务流传输故障,进而可执行故障定位处理。
在本发明一个实施例中,A1中生成业务流正常通告时,可以将其发送给控制台;A2中生成业务流变更通告时,可以将其发送给控制台,并将当前状态下的流路径信息入库,以完成数据库信息更新;A3中生成业务流变更通告时,可以将其发送给控制台,并将当前状态下的流路径信息入库,以完成数据库信息更新。
基于上述内容,请参考图2至图5,分别展示了同一简单网络场景下,基于流路径分析的智能业务级故障定位示例。
如图2所示,展示了某个大二层网络下的某两个业务流(flow1、flow2)的传输路径。由于负载均衡功能,flow1有两个流路径(path1和path2)。Flow2有一个流路径(path3)。
图2中,业务流及其流路径展示如下:
flow1:Server 1/VM1-Server2/VM1;
flow2:Server 1/VM2-Server2/VM2;
path1:S1/1-S1/2→S2/1-S2/2→S3/1-S3/2→S4/1-S4/2;
path2:S1/1-S1/2→S2/1-S2/4→S6/3-S6/2→S4/3-S4/2;
path3:S1/1-S1/3→S5/1-S5/2→S6/1-S6/2→S4/3-S4/2。
举例1:
基于图2所示内容,若其下一时间段中,path2发生路径变更。如此,步骤103中,可以依次将flow1和flow2作为目标业务流。分析flow1时,A1的判断结果为否,A2中的第一流路径为path2,A2的判断结果为是,故可认为flow1传输正常、path2发生路径变更。分析flow2时,A1的判断结果为是,故可认为flow2传输正常。
如此,经故障定位处理后,可以得到图3所示的可视化呈现以及通告。
举例2:
基于图2所示内容,若其下一时间段中,path1因物理故障而发生流异常。如此,步骤103中,可以依次将flow1和flow2作为目标业务流。分析flow1时,A1的判断结果为否,A2中的第一流路径分别为path1和path2,A2的判断结果为否,A3的判断结果为否,故可认为flow1传输故障。分析flow2时,A1的判断结果为是,故可认为flow2传输正常。
如此,经故障定位处理后,可以得到图4所示的可视化呈现以及通告。
举例3:
基于图2所示内容,若其下一时间段中,path3因业务故障(假设此时能检测到发包)而发生流异常。如此,步骤103中,可以依次将flow1和flow2作为目标业务流。分析flow1时,A1的判断结果为否,A2中的第一流路径分别为path1和path2,A2的判断结果为是,故可认为flow1传输正常。分析flow2时,A1、A2、A3的判断结果均为否,故可认为path3传输故障。
如此,经故障定位处理后,可以得到图5所示的可视化呈现以及通告。
当然,若举例3中未能监测到发包,说明path3已成功传输完毕,属于正常的业务结束,故flow2不位于上述交集中。
请参考上述图2至图5,在本发明一个实施例中,在执行故障定位处理的基础之上,还可以将统计的业务流集及流路径集进行可视化展示,以及对故障定位处理结果进行可视化展示。
本发明实施例中,基于流路径进行分析,在实现业务级故障定位的同时,还可实现对流路径变更的可视化呈现,便于直观分析。通过及时有效且直观的定位信息,有效提升维护效率与服务质量。通过对流路径的可读,可以结合路径分布来分析各设备的负载情况,为后续路径调整或者拓扑重构提供了有效的分析途径。从而进一步实现拥塞避免,实现提高链路利用率、加快业务流传输、提升用户体验等目标。
在本发明一个实施例中,为了说明一种故障定位处理的可能实现方式,所以,所述针对所述目标业务流执行故障定位处理,包括:确定所述当前流路径集中的每一个第二流路径,其中,任一所述第二流路径的存在均使得所述目标业务流未传输正常;针对每一个所述第二流路径均执行:确定所述上一个流路径集中的目标流路径,其中,当前第二流路径为所述目标流路径的一部分;确定所述当前第二流路径的末位交换设备;根据所述目标流路径,确定该末位交换设备在所述目标流路径中的出sflow接口,以及确定所述目标流路径中该末位交换设备的下一跳交换设备,在所述目标流路径中的入sflow接口;判断当前时间段内是否分别采样到所述出sflow接口和所述入sflow接口的流数据信息;判断结果均为是时,生成针对所述目标业务流的业务流故障告警;判断结果为采样到所述出sflow接口的流数据信息,但未采样到所述入sflow接口的流数据信息时,生成针对所述入sflow接口的物理设备故障告警;判断结果为未采样到所述出sflow接口的流数据信息,但采样到所述入sflow接口的流数据信息时,生成针对所述出sflow接口的物理设备故障告警。
针对传输故障的业务流执行故障定位处理,实际上是针对该业务流的、各个传输故障的流路径执行故障定位处理。
通常情况下,若目的虚机迁移,相应的拓扑发现会及时记录更新。
上面提到,业务流在传输过程中,可能会出现正常传输、路径转移、传输故障的情况。由于流路径的正常传输和路径转移并不会导致相应业务流传输故障,故上述第二流路径为出现传输故障的流路径。若上述A3中,对一流路径的判断结果为否时,即可将该流路径确定为第二流路径。
举例来说,请参考上述图4所示内容,图4中的path1(S1/1-S1/2→S2/1-S2/2→S3/1)为第二流路径,相应的目标流路径为图2中的path1(S1/1-S1/2→S2/1-S2/2→S3/1-S3/2→S4/1-S4/2)。如此,末位交换设备为S3,S3在目标流路径中的出sflow接口为S3/2,下一跳交换设备在目标流路径中的入sflow接口为S4/1,两者间的连接为S3/2-S4/1。
可见,本发明实施例可以准确输出具体故障类型与故障点,从而保证了物理故障及业务故障的及时发现。
本发明实施例中,实现了业务级的流分析与故障定位,不再局限于物理故障导致的流异常,而将故障分为两种类型,一种是物理故障,即原路径上所有包均不通,另一种是业务故障,即原路径有别的流,但当前业务流在法宝后,在全网没有完整的可达路径,从而可对这两种故障类型进行区分。
本发明实施例中,可基于将隧道级流量监控和网络拓扑感知相结合的流路径分析技术,进行面向规模化网络场景的业务级故障推演与定位,从而不仅可实现物理层面的故障分析,还可及时准确的定位业务流级别的故障。
在本发明一个实施例中,在生成上述任一故障告警时,可以将其发送给控制台,并将相应故障信息记录到故障信息集中。如此,运维人员可及时根据控制台显示的故障信息,进行进一步检查修整。
在本发明一个实施例中,所述流数据信息包括:VXLAN数据包或VLAN数据包、所在交换设备的Agent IP、出入接口索引信息;
在所述采样每一个所述sflow接口的流数据信息之前,进一步包括:开启各个所述sflow接口的所述sflow监测功能,并配置所述sflow接口的采样方式为流采样、采样方向为入方向采样;配置各个所述交换设备的Agent IP为其设备管理口IP地址;获取网络整体拓扑结构信息,所述网络整体拓扑结构信息包括各个所述交换设备的管理口IP地址与设备ID间的对应关系、网络中交换设备间的链接关系;配置流平稳所需时间;
在所述采样每一个所述sflow接口的流数据信息之后,进一步包括:执行预设的流路径整合算法,以根据流数据信息中的数据包标识业务流,根据流数据信息中的Agent IP标识交换设备,并结合所述链接关系以及流数据信息中的出入接口索引信息,整合出每一个业务流的流路径集;
所述周期性的基于当前时间段内采集到的所述流数据信息,统计当前时间段内的业务流集,包括:周期性的统计当前时间段内整合出的业务流集,且该业务流集中的各业务流均满足所述流平稳所需时间。
本发明实施例中,对网络中各交换设备进行初始化配置,以开启端口的sflow监测功能时,可以同时配置采样方式为流采样,采样方向为入方向采样,对每个设备配置AgentIP为该设备管理口IP地址。
本发明一个实施例中,可以使用LLDP(Link Layer Discovery Protocol,链路层发现协议)进行拓扑发现,以及通过SNMP(Simple Network Management Protocol,简单网络管理协议)、NETCONF(一个基于XML的网络配置协议)或者OpenFlow(一种网上通信协议),读取网络中各交换设备的拓扑连接关系、设备具体信息以及设备ID与IP地址的对应关系。
在采样到流数据信息时,可以依据报文类型进行解析,通常可同时支持对VXLAN、VLAN的报文解析。比如,对于每条VXLAN报文,使用VNI以及内层封装的原始报文五元组信息(即Src IP、Dst IP、Src Port、Dst port、protocol)标识不同的应用流。而对于每条VLAN报文,使用VLAN ID以及sflow报文中五元组信息(即Src IP、Dst IP、Src Port、Dst port、protocol)标识不同的应用流。然后,可将sflow报文中的Agent IP、出/入接口索引信息提取出来,同流标识信息一同存入数据库,同时记录每个监测报文的时间戳。
本发明实施例中,设置了一个可配置的流平稳所需最优时间参数,在业务流稳定后再参与对比分析判断,以过滤掉临时的路径振荡,避免了对后续路径分析造成干扰,故实现了流分析的稳态判定对比。
如此,监测报文的时间戳与起始时间的差值达到或大于该流平稳时间时,才开始执行当前次的业务流集统计以及后续的传输故障定位处理。比如,可以通过该流平稳时间来划分时间段,基于该时间段进行周期性统计时,可保证各个时间段内所统计的各业务流已稳定。
综上所述,本发明实施例解决了大规模网络场景中故障排查效率低下且缺少业务级故障监测的问题,通过在对网络中业务流进行监控和拓扑进行感知,进而获取流路径信息的基础上设计业务级的故障推演以及定位方式,精准分析业务流状态,实现对业务故障和物理故障的区分,快速定位故障点,从而提升服务质量、维护速度和用户体验。
本发明实施例中,在物理网络中开启各交换设备的sflow功能,通过sflow功能基于接口以实时采样统计流数据信息;定时获取交换设备间、交换设备与物理主机间的互联情况;获取每条基于隧道级的业务流的具体流路径,最后通过流路径分析模块实时对流路径进行分析,判断业务流当前状态,推演故障类型并最终实现故障定位,便于及时调整解决,保证业务不间断正常运行,提升用户体验。
如图6所示,本发明一个实施例提供了一种基于流路径分析的故障定位装置,可以包括:
采样单元601,用于针对网络中的每一个交换设备的每一个已开启sflow监测功能的sflow接口,采样所述sflow接口的流数据信息;
统计单元602,用于周期性的基于当前时间段内采集到的所述流数据信息,统计当前时间段内的业务流集,且所述业务流集中业务流的数量不为零时,所述业务流集还包括内部每一个业务流的流路径集;
处理单元603,用于非首次统计所述业务流集时,若统计的上一个业务流集和统计的当前业务流集的交集非空,则将所述交集中的每一个业务流依次作为目标业务流,并执行:根据所述上一个业务流集中所述目标业务流的上一个流路径集,以及所述当前业务流集中所述目标业务流的当前流路径集,判断所述目标业务流是否传输正常,若否,确定所述目标业务流传输故障,并针对所述目标业务流执行故障定位处理。
在本发明一个实施例中,所述处理单元603,用于执行下述流程:
A1:判断所述上一个流路径集和所述当前流路径集是否相同,若是,生成针对所述目标业务流的业务流正常通告,并执行A4,否则,执行A2;
A2:对于所述当前流路径集中的每一个第一流路径,其中,所述上一个流路径集中不存在与所述第一流路径相同的流路径,判断每一个所述第一流路径的末位交换设备是否均为应到达的终端交换设备,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A3;
A3:判断每一个所述第一流路径的末位交换设备是否均与目的虚机相连,若是,生成针对所述目标业务流的业务流变更通告,并执行A4,否则,执行A5;
A4:确定所述目标业务流传输正常并结束;
A5:确定所述目标业务流传输故障。
在本发明一个实施例中,所述处理单元603,用于确定所述当前流路径集中的每一个第二流路径,其中,任一所述第二流路径的存在均使得所述目标业务流未传输正常;针对每一个所述第二流路径均执行:确定所述上一个流路径集中的目标流路径,其中,当前第二流路径为所述目标流路径的一部分;确定所述当前第二流路径的末位交换设备;根据所述目标流路径,确定该末位交换设备在所述目标流路径中的出sflow接口,以及确定所述目标流路径中该末位交换设备的下一跳交换设备,在所述目标流路径中的入sflow接口;判断当前时间段内是否分别采样到所述出sflow接口和所述入sflow接口的流数据信息;判断结果均为是时,生成针对所述目标业务流的业务流故障告警;判断结果为采样到所述出sflow接口的流数据信息,但未采样到所述入sflow接口的流数据信息时,生成针对所述入sflow接口的物理设备故障告警;判断结果为未采样到所述出sflow接口的流数据信息,但采样到所述入sflow接口的流数据信息时,生成针对所述出sflow接口的物理设备故障告警。
在本发明一个实施例中,所述处理单元603,用于非首次统计所述业务流集时,若存在至少一个第一业务流,其中,所述上一个业务流集包括所述第一业务流,所述当前业务流集不包括所述第一业务流,则生成针对每一个所述第一业务流的业务流完成通告;非首次统计所述业务流集时,若存在至少一个第二业务流,其中,所述上一个业务流集不包括所述第二业务流,所述当前业务流集包括所述第二业务流,则生成针对每一个所述第二业务流的业务流增加通告。
在本发明一个实施例中,请参考图7,该基于流路径分析的故障定位装置还包括:配置单元701;
其中,所述流数据信息包括:VXLAN数据包或VLAN数据包、所在交换设备的AgentIP、出入接口索引信息;
所述配置单元701,用于开启各个所述sflow接口的所述sflow监测功能,并配置所述sflow接口的采样方式为流采样、采样方向为入方向采样;配置各个所述交换设备的Agent IP为其设备管理口IP地址;获取网络整体拓扑结构信息,所述网络整体拓扑结构信息包括各个所述交换设备的管理口IP地址与设备ID间的对应关系、网络中交换设备间的链接关系;配置流平稳所需时间;
所述统计单元602,用于执行预设的流路径整合算法,以根据流数据信息中的数据包标识业务流,根据流数据信息中的Agent IP标识交换设备,并结合所述链接关系以及流数据信息中的出入接口索引信息,整合出每一个业务流的流路径集;周期性的统计当前时间段内整合出的业务流集,且该业务流集中的各业务流均满足所述流平稳所需时间。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
在本发明一个实施例中,上述基于流路径分析的故障定位装置可以为图2至图5中所示出的collector。请参考图8,该collector可包括调度平面、管理平台,以实现基础网络的连接关系收集以及流数据监测信息的统计等。
请参考图8,collector的调度平面包括拓扑发现模块和sflow流信息采样统计模块。
拓扑发现模块可通过多类型南向接口,从交换设备和服务器获取到链路连接关系信息。
sflow流信息采样统计模块,可通过开启交换设备内嵌芯片中的sflow功能,并完成采样方向的配置,对端口通过的流数据包进行周期性入方向采样,完成隧道级的业务解析,获取每个端口通过的数据包信息。
请参考图8,collector的管理平台包括sflow解析模块、流路径整合模块、故障定位模块。
sflow解析模块可解析采样到的数据包信息。
流路径整合模块首先对VXLAN和VLAN进行区分,对于VXLAN中的业务流以VNI加内层五元组信息来标识,对于VLAN中的业务流以五元组来标识,通过算法设计的标识字段区分出不同的业务流,然后通过关联流监测信息以及拓扑连接信息,分析整合出每条流的具体流路径信息,存入数据库。
故障定位模块首先设置一个可配置的时间段参数t,t表示流状态稳定所需的最优时间,通过t来划分时间段。然后分析当前时间段下采集到的业务流集与前一时间段的业务流集包含关系。若两集合不相等,通过交集、补集相结合判断是否存在新的业务流或者存在业务正常关闭。其余情况,通过对每条业务流路径集进行遍历,判断前后路径是否一致,一致则表示该业务流正常,若不一致则判断业务流的路径是否到达终端设备,若已到达但具体路径信息与初始状态下的不一致,则向控制台发出流路径变更通告,此处可能是业务迁移或者负载均衡功能所导致的。若当前业务流路径没有到达终端设备,先判断当前终止点设备与目的虚机的连接关系,从而确定是虚机迁移引起的路径变更还是故障引起的业务中断,若是网络故障则进一步判断是否是全网无可达路径且原路径上有其他流信息,若是则向控制台发出业务故障报警,否则向控制台发出物理故障报警并通过溯源算法,进一步定位故障点,根据当前路径终止点的信息来推断故障根源。
此外,本发明一个实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一所述的基于流路径分析的故障定位方法。
此外,本发明一个实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一所述的基于流路径分析的故障定位方法。
综上所述,本发明的实施例具有至少如下有益效果:
1、本发明实施例中,采样网络中各交换设备的各已开启sflow监测功能的sflow接口的流数据信息;周期性的基于当前时间段内采集到的流数据信息,统计当前时间段内的业务流集;非首次统计业务流集时,若上一个业务流集和当前业务流集的交集非空,则针对交集中的各业务流均执行:根据上一个业务流集中该业务流的流路径集和当前业务流集中该业务流的流路径集,判断该业务流是否传输正常,若否,确定该业务流传输故障,并针对该业务流执行故障定位处理。存在传输失败的业务流时,仅针对这些业务流进行故障排查,而非针对全局网络进行故障排查。因此,本发明实施例能够提高故障定位效率。
2、本发明实施例具有能够及时发现设备故障、不增加网络设备的转发压力的效果。
3、本发明实施例中,基于流路径进行分析,在实现业务级故障定位的同时,还可实现对流路径变更的可视化呈现,便于直观分析。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。