1.本发明涉及网络检测技术领域,具体地说是一种分布式存储系统的网络异常检测系统。
背景技术:
2.ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统,ceph独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。ceph集群由多种组件组成,包括mon、osd、mgr以及mds等。
3.集群内部各组件之间有着频繁的网络连接和数据交互,这些网络通信都是由消息管理器管理。当组件之间网络连接出现异常情况,无法正常通信,可能造成存储集群不能正常对外服务。此时就需要运维人员快速对问题进行定位和处理,及时恢复服务。然而目前并没有对这一类的异常连接进行检测和展示,这就造成了网络通信问题定位难的问题;另外,网络异常情况的详细信息,如连接两端的类型、ip、端口号,连接所处的状态等信息,没有提供给运维人员,造成故障定位修复时间过长的问题。
4.如何对网络异常连接及其详细信息进行检测和记录,是需要解决的技术问题。
技术实现要素:
5.本发明的技术任务是针对以上不足,提供一种分布式存储系统的网络异常检测系统,来解决如何对网络异常连接及其详细信息进行检测和记录的技术问题。
6.第一方面,本发明的一种分布式存储系统的网络异常检测系统,用于通过定时任务机制对分布式存储系统中各组件之间的网络连接进行异常识别、异常信息收集以及异常信息展示,所述网络异常检测系统包括:
7.网络连接管理模块,所述网络连接管理系统用于对存储集群内组件之间的网络连接进行生命周期管理,用于对每个组件的各个网络连接进行异常连接识别,并收集每个异常连接对应的异常信息;
8.异步消息管理模块,所述异步消息管理模块与所述网络连接管理模块交互,用于通过异步消息管理器对每个组件内各个网络连接进行管理,用于存储异常信息,用于对外提供异常连接的管理接口,并对外提供异常信息;
9.组件rank管理模块,所述组件rank管理模块与所述异步消息管理模块交互,用于启动定时任务,定时更新每个组件的健康数据及状态信息,并用于调用异步消息管理模块、将异常信息更新至对应的健康数据中;
10.信标管理模块,所述信标管理模块用于维护每个组件的健康信息,用于启动信标发送线程,通过信标发送线程周期性汇报健康数据;
11.汇总展示模块,所述汇总展示模块与所述信标管理模块交互,用于对每个组件的监控数据以状态信息进行保存和展示。
12.作为优选,所述异常连接包括两种类型,分别为:
13.网络层连接异常,所述网络层连接异常为建立套接字连接过程中,出现异常或超时的情况;
14.应用协议层连接异常,所述应用协议层连接异常为网络层连接已经成功,在应用协议层处理逻辑的各个阶段中出现异常或超时的情况。
15.作为优选,所述网络连接管理模块用于将识别到的异常信息保存到异步消息管理模块,并删除过期的异常连接信息。
16.作为优选,所述网络连接管理模块用于基于如下流程对每个组件的各个网络连接进行异常连接识别,并收集每个异常连接对应的异常信息:
17.s1、对于每个组件,确定当前组件与mon组件之间的网络连接是否正常,如果为异常连接,则认定所述组件为异常组件,执行步骤s4,如果为正常连接,执行下一步;对于异常组件,认定规则为:如果预定时间间隔内当前组件未与mon组件交互,认定所述当前组件为异常组件,所示时间间隔为由当前组件对应的组件配置项确定;
18.s2、对于要建立连接的两个组件,如果发起连接请求后,直接返回连接错误,判定为连接异常,记录异常信息并退出网络连接,如果未直接返回错误,执行下一步操作;
19.s3、启动定时任务,所述定时任务对应的时间间隔为当前组件对应的配置项中的连接超时时间;
20.s4、如果在超时时间内成功建立连接,删除原定时任务,重新注册统计空闲时间的定时任务,并且检测当前网络连接是否在保存的异常连接中,如果是,删除该异常连接;
21.如果超时时间内未成功建立连接,标记错误类型为超时,根据当前连接所处阶段,判断异常连接的类型,执行下一步;
22.s4、记录当前异常连接对应的异常信息;
23.s5、对于异常连接,将对应的异常信息保存至异步消息管理模块;
24.s6、如果所述网络连接因为长期空闲或其他原因被注销时,检测当前连接是否在保存的异常连接中,如果是,删除所述异常连接。
25.作为优选,步骤s2中,所述异常信息包括错误类型、当前网络连接中本地及对端的类型、对端ip及端口号、及连接所处的状态,所述当前网络连接中本地及对端的类型包括osd,mds,mgr;
26.步骤s4中,所述异常信息包括当前网络连接中本地及对端的类型、对端ip及端口号、及连接所处的状态,所述当前网络连接中本地及对端的类型包括osd,mds,mgr。
27.作为优选,步骤s4中判断异常连接的类型,如果处于套接字连接成功阶段之前报错或超时,则为网络层连接异常;否则为应用协议层连接异常。
28.作为优选,所述异步消息管理模块用于对外提供异常连接的管理接口,所述管理接口包括:
29.增加接口,所述增加接口用于增加一个新的异常连接,提供给网络连接管理模块发现新的异常连接时使用;
30.删除接口,所述删除接口为删除一个异常连接,用于查找有没有对应的异常连接,如果没有直接返回,如果有,则删除所述异常连接,所述删除接口提供给网络连接管理模块,在连接成功建立或者连接被注销时被使用;
31.查找接口,所述查找接口用于获取所有的已知异常连接,提供给组件rank管理模块,在rank管理模块中,可以获取到当前所有的异常连接,提供给信标管理模块使用。
32.作为优选,所述组件rank管理模块中定时更新当前组件的健康数据及状态信息,对应的更新的周期由当前组件的配置项决定。
33.作为优选,所述信标管理模块用于通过如下流程将每个组件的健康信息周期性上报到汇总展示模块:
34.增加一种异常连接相关的集群内部的健康指标类型,并且将发现异常连接时保存异常信息加入到新建健康指标类型的提示信息中;
35.如果存在异常连接,组件rank管理模块已经通过其中的定时任务将信标管理模块保存的异常连接健康信息更新为最新值;
36.对于信标管理模块保存的每一个异常连接,新建一个异常连接健康指标对象,加入到信标中,等待信标发送线程发送给汇总展示模块;
37.信标发送线程周期性的将信标发送给汇总展示模块,所述周期由对应组件的配置项确定。
38.作为优选,所述网络异常检测系统配置于消息管理器,用于辅助消息管理器对分布式存储系统中各个组件的网络连接进行管理,并对各组件之间的网络连接进行异常识别、异常信息收集以及异常信息展示。
39.本发明的一种分布式存储系统的网络异常检测系统具有以下优点:
40.1、对存储集群内各组件之间的网络连接进行异常识别,并对异常连接对应的异常信息进行保存和展示,提升分布式存储系统网络问题的监控能力,运维人员快速定位相关的逻辑问题或各类配置问题;
41.2、可对网络层连接异常和应用协议层两种不同类型的异常连接进行识别,实现了精确的网络异常检测,便于精准了解异常信息,运维人员快速定位相关的逻辑问题或各类配置问题。
附图说明
42.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.下面结合附图对本发明进一步说明。
44.图1为实施例一种分布式存储系统的网络异常检测系统的工作原理框图;
45.图2为实施例一种分布式存储系统的网络异常检测系统中网络连接管理模块发现和删除异常连接的流程框图。
具体实施方式
46.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
47.本发明实施例提供一种分布式存储系统的网络异常检测系统,用于解决的技术问题。
48.实施例:
49.现有技术中没有对网络异常连接及其详细信息进行检测和记录,比如未对连接两端的类型、名称、ip、端口号,连接所处的状态等信息进行记录,造成的网络异常定位和处理低效问题,本发明的一种分布式存储系统的网络异常检测系统,对存储集群内个组件之间的网络连接进行异常识别,异常信息收集以及异常信息展示,以提升分布式存储系统网络问题的监控能力,便于运维人员分析、定位集群网络问题,有效降低网络问题的故障修复时间。
50.本发明一种分布式存储系统的网络异常检测系统,包括网络连接管理模块、异步消息管理模块、组件rank管理模块、信标管理模块以及汇总展示模块。
51.网络连接管理模块负责存储集群内每个网络连接的生命周期管理,包括网络层连接建立、应用协议层连接建立,与网络通信维护。对于异常连接检测功能,网络连接管理模块负责异常连接的识别和信息收集,将识别到的异常连接信息保存到异步消息管理模块,并删除过期的异常连接信息。其中网络连接异常的判定标准为:建立网络连接过程中返回错误或者在指定的时间内(网络超时时间)没有完成网络连接。网络连接超时时间由配置项确定,默认为10秒。
52.其中需要识别的异常类型可以分为两种,分别为网络层连接异常和应用协议层连接异常。网络层连接异常,建立套接字连接过程中,出现异常或超时的情况;应用协议层连接异常:网络层连接已经成功,在应用协议层处理逻辑的各个阶段中出现异常或超时的情况。
53.在一个具体的实施方式中,网络连接管理模块用于基于如下流程对每个组件的各个网络连接进行异常连接识别,并收集每个异常连接对应的异常信息:
54.s1、对于每个组件,确定当前组件与mon组件之间的网络连接是否正常,如果为异常连接,则认定所述组件为异常组件,执行步骤s4,如果为正常连接,执行下一步;对于异常组件,认定规则为:如果预定时间间隔内当前组件未与mon组件交互,认定所述当前组件为异常组件,所示时间间隔为由当前组件对应的组件配置项确定;
55.s2、对于要建立连接的两个组件,如果发起连接请求后,直接返回连接错误,判定为连接异常,记录异常信息并退出网络连接,如果未直接返回错误,执行下一步操作;
56.s3、启动定时任务,所述定时任务对应的时间间隔为当前组件对应的配置项中的连接超时时间;
57.s4、如果在超时时间内成功建立连接,删除原定时任务,重新注册统计空闲时间的定时任务,并且检测当前网络连接是否在保存的异常连接中,如果是,删除该异常连接;
58.如果超时时间内未成功建立连接,标记错误类型为超时,根据当前连接所处阶段,判断异常连接的类型,执行下一步;
59.s4、记录当前异常连接对应的异常信息;
60.s5、对于异常连接,将对应的异常信息保存至异步消息管理模块;
61.s6、如果所述网络连接因为长期空闲或其他原因被注销时,检测当前连接是否在保存的异常连接中,如果是,删除所述异常连接。
62.其中,步骤s2中,所述异常信息包括错误类型、当前网络连接中本地及对端的类型、对端ip及端口号、及连接所处的状态,所述当前网络连接中本地及对端的类型包括osd,mds,mgr;
63.步骤s4中,异常信息包括当前网络连接中本地及对端的类型、对端ip及端口号、及连接所处的状态,当前网络连接中本地及对端的类型包括osd,mds,mgr。
64.步骤s4中判断异常连接的类型,如果处于套接字连接成功阶段之前报错或超时,则为网络层连接异常;否则为应用协议层连接异常。
65.基于上述网络连接管理模块上述功能,在实际工作中,网络连接管理模块通过如下流程进行异常连接识别以及异常信息的获取:
66.(1)首先,需要确定当前组件与mon组件之间连接是否正常。如果不正常,会因为连续一段时间未与mon组件交互被集群认定为异常组件。认定异常的时间间隔由各组件配置项确定,默认配置15秒。否则,当前组件正常运行,继续执行下一步;
67.(2)客户端请求或内部请求需要建立新的连接,目前存储集群默认都是使用异步连接;
68.(3)如果发起请求后,直接返回连接错误,记录错误类型,该连接中本地及对端的类型(如osd,mds,mgr等),对端ip及端口号,及连接所处的状态,退出网络连接;如果未直接返回错误,进行后续处理;
69.(4)建立连接发起请求后,启动定时任务,时间间隔为配置项中的连接超时时间;
70.(5)如果在超时时间内成功建立连接,删除原定时任务,重新注册统计空闲时间的定时任务。并且检测当前连接是否在保存的异常连接中,如果是,删除该异常连接;
71.(6)否则,超时时间内未成功建立连接,标记错误类型为超时。根据当前连接所处阶段,检测两种类型的异常:网络层连接异常和应用协议层连接异常。如果处于套接字连接成功阶段之前报错或超时,则为网络层连接异常;否则为应用协议层连接异常。
72.(7)记录该异常连接中本地及对端的类型(如osd,mds,mgr等),对端ip及端口号,及连接所处的状态。
73.(8)如果有异常连接,将其保存到异步消息管理模块。
74.(9)如果该连接因为长期空闲或其他原因被注销时,检测当前连接是否在保存的异常连接中,如果是,删除该异常连接。
75.异步消息管理模块负责存储集群内的网络通信,主要使用异步消息管理器对当前组件的各个网络连接进行管理。消息管理器是ceph集群网络通信的中枢引擎,包含网络连接、发送消息、接收数据、消息转换与消息分发等。对于异常连接检测功能,消息管理模块负责异常连接的存储,对外提供异常连接的增、删、查等接口,并对上层消息管理器使用者提供异常连接的数据。该模块对外提供的接口包括:
76.增加一个新的异常连接。提供给网络连接管理模块发现新的异常连接时使用;
77.删除一个异常连接,现在查找有没有对应的连接,如果没有直接返回,如果有,则删除该连接。也是提供给网络连接管理模块使用,在连接成功建立或者连接被注销时会使用;
78.获取所有的已知异常连接,提供给组件rank管理模块。在rank管理模块中,可以获取到当前所有的异常连接,提供给信标使用。
79.组件rank管理模块启动一个定时任务,定时更新当前组件的健康数据及状态信息,由信标管理模块发送到汇总展示模块。更新的周期由配置项决定,默认为5秒。对于异常连接检测,组件rank管理模块会在定时任务中,调用异步消息管理模块提供的获取所有的已知异常连接接口,将异常连接数据更新到健康数据当中。
80.信标管理模块维护本组件的健康信息。另外,还会启动一个信标发送线程,将当前健康信息周期性上报到汇总展示模块。信标管理模块主要处理逻辑如下:
81.增加一种异常连接相关的集群内部的健康指标类型。并且将发现异常连接时保存的错误类型,连接中本地及对端的类型(如osd,mds,mgr等),对端ip及端口号,及连接所处的状态加入到新建健康指标类型的提示信息中;
82.在此之前,如果存在异常连接,组件rank管理模块已经通过其中的定时任务将信标管理模块保存的异常连接健康信息更新为最新值;
83.对于信标管理模块保存的每一个异常连接,新建一个异常连接健康指标对象,加入到信标中,等待信标发送线程发送给汇总展示模块。
84.信标发送线程周期性的将信标发送给汇总展示模块。这一周期由配置项确定,默认为5秒。
85.汇总展示模块对其他组件的信标进行保存和展示,用户可以使用命令或者接口,从汇总展示模块获取异常连接信息。可以查看异常连接的具体对端信息及错误类型,进而快速的进行定位处理。
86.本实施例的网络异常检测系统通过定时任务识别异常连接,连接可分为网络层连接与应用协议层连接两种,异常连接信息包括对端组件类型、名称、ip地址与端口号。本发明对异常连接进行识别,保存,并展示,提升分布式存储系统网络问题的监控能力,便于运维人员分析、定位集群网络问题,有效降低网络问题的故障修复时间,提升系统的服务质量。
87.上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
技术特征:
1.一种分布式存储系统的网络异常检测系统,其特征在于用于通过定时任务机制对分布式存储系统中各组件之间的网络连接进行异常识别、异常信息收集以及异常信息展示,所述网络异常检测系统包括:网络连接管理模块,所述网络连接管理系统用于对存储集群内组件之间的网络连接进行生命周期管理,用于对每个组件的各个网络连接进行异常连接识别,并收集每个异常连接对应的异常信息;异步消息管理模块,所述异步消息管理模块与所述网络连接管理模块交互,用于通过异步消息管理器对每个组件内各个网络连接进行管理,用于存储异常信息,用于对外提供异常连接的管理接口,并对外提供异常信息;组件rank管理模块,所述组件rank管理模块与所述异步消息管理模块交互,用于启动定时任务,定时更新每个组件的健康数据及状态信息,并用于调用异步消息管理模块、将异常信息更新至对应的健康数据中;信标管理模块,所述信标管理模块用于维护每个组件的健康信息,用于启动信标发送线程,通过信标发送线程周期性汇报健康数据;汇总展示模块,所述汇总展示模块与所述信标管理模块交互,用于对每个组件的监控数据以状态信息进行保存和展示。2.根据权利要求1所述的一种分布式存储系统的网络异常检测系统,其特征在于所述异常连接包括两种类型,分别为:网络层连接异常,所述网络层连接异常为建立套接字连接过程中,出现异常或超时的情况;应用协议层连接异常,所述应用协议层连接异常为网络层连接已经成功,在应用协议层处理逻辑的各个阶段中出现异常或超时的情况。3.根据权利要求1所述的一种分布式存储系统的网络异常检测系统,其特征在于所述网络连接管理模块用于将识别到的异常信息保存到异步消息管理模块,并删除过期的异常连接信息。4.根据权利要求1、2或3所述的分一种分布式存储系统的网络异常检测系统,其特征在于所述网络连接管理模块用于基于如下流程对每个组件的各个网络连接进行异常连接识别,并收集每个异常连接对应的异常信息:s1、对于每个组件,确定当前组件与mon组件之间的网络连接是否正常,如果为异常连接,则认定所述组件为异常组件,执行步骤s4,如果为正常连接,执行下一步;对于异常组件,认定规则为:如果预定时间间隔内当前组件未与mon组件交互,认定所述当前组件为异常组件,所示时间间隔为由当前组件对应的组件配置项确定;s2、对于要建立连接的两个组件,如果发起连接请求后,直接返回连接错误,判定为连接异常,记录异常信息并退出网络连接,如果未直接返回错误,执行下一步操作;s3、启动定时任务,所述定时任务对应的时间间隔为当前组件对应的配置项中的连接超时时间;s4、如果在超时时间内成功建立连接,删除原定时任务,重新注册统计空闲时间的定时任务,并且检测当前网络连接是否在保存的异常连接中,如果是,删除该异常连接;如果超时时间内未成功建立连接,标记错误类型为超时,根据当前连接所处阶段,判断
异常连接的类型,执行下一步;s4、记录当前异常连接对应的异常信息;s5、对于异常连接,将对应的异常信息保存至异步消息管理模块;s6、如果所述网络连接因为长期空闲或其他原因被注销时,检测当前连接是否在保存的异常连接中,如果是,删除所述异常连接。5.根据权利要求4所述的一种分布式存储系统的网络异常检测系统,其特征在于步骤s2中,所述异常信息包括错误类型、当前网络连接中本地及对端的类型、对端ip及端口号、及连接所处的状态,所述当前网络连接中本地及对端的类型包括osd,mds,mgr;步骤s4中,所述异常信息包括当前网络连接中本地及对端的类型、对端ip及端口号、及连接所处的状态,所述当前网络连接中本地及对端的类型包括osd,mds,mgr。6.根据权利要求4所述的一种分布式存储系统的网络异常检测系统,其特征在于步骤s4中判断异常连接的类型,如果处于套接字连接成功阶段之前报错或超时,则为网络层连接异常;否则为应用协议层连接异常。7.根据权利要求1所述的一种分布式存储系统的网络异常检测系统,其特征在于所述异步消息管理模块用于对外提供异常连接的管理接口,所述管理接口包括:增加接口,所述增加接口用于增加一个新的异常连接,提供给网络连接管理模块发现新的异常连接时使用;删除接口,所述删除接口为删除一个异常连接,用于查找有没有对应的异常连接,如果没有直接返回,如果有,则删除所述异常连接,所述删除接口提供给网络连接管理模块,在连接成功建立或者连接被注销时被使用;查找接口,所述查找接口用于获取所有的已知异常连接,提供给组件rank管理模块,在rank管理模块中,可以获取到当前所有的异常连接,提供给信标管理模块使用。8.根据权利要求1所述的一种分布式存储系统的网络异常检测系统,其特征在于所述组件rank管理模块中定时更新当前组件的健康数据及状态信息,对应的更新的周期由当前组件的配置项决定。9.根据权利要求1所述的一种分布式存储系统的网络异常检测系统,其特征在于所述信标管理模块用于通过如下流程将每个组件的健康信息周期性上报到汇总展示模块:增加一种异常连接相关的集群内部的健康指标类型,并且将发现异常连接时保存异常信息加入到新建健康指标类型的提示信息中;如果存在异常连接,组件rank管理模块已经通过其中的定时任务将信标管理模块保存的异常连接健康信息更新为最新值;对于信标管理模块保存的每一个异常连接,新建一个异常连接健康指标对象,加入到信标中,等待信标发送线程发送给汇总展示模块;信标发送线程周期性的将信标发送给汇总展示模块,所述周期由对应组件的配置项确定。10.根据权利要求1、2、3、6、7、8或9所述的一种分布式存储系统的网络异常检测系统,其特征在于所述网络异常检测系统配置于消息管理器,用于辅助消息管理器对分布式存储系统中各个组件的网络连接进行管理,并对各组件之间的网络连接进行异常识别、异常信息收集以及异常信息展示。
技术总结
本发明公开了一种分布式存储系统的网络异常检测系统,属于网络检测技术领域,要解决的技术问题为如何对网络异常连接及其详细信息进行检测和记录。包括:网络连接管理模块,用于对每个组件的各个网络连接进行异常连接识别,并收集每个异常连接对应的异常信息;异步消息管理模块,用于存储异常信息,用于对外提供异常连接的管理接口,并对外提供异常信息;组件Rank管理模块,用于启动定时任务,定时更新每个组件的健康数据及状态信息,并用于调用异步消息管理模块、将异常信息更新至对应的健康数据中;信标管理模块,通过信标发送线程周期性汇报健康数据;汇总展示模块用于对每个组件的监控数据以状态信息进行保存和展示。件的监控数据以状态信息进行保存和展示。件的监控数据以状态信息进行保存和展示。
技术研发人员:王新雨 蒋方文 李超 肖雪 孙思清
受保护的技术使用者:浪潮云信息技术股份公司
技术研发日:2022.02.18
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-9223.html