服务器异常识别方法、装置、计算机设备及可读存储介质与流程

文档序号:28598949发布日期:2022-01-22 10:55阅读:73来源:国知局
服务器异常识别方法、装置、计算机设备及可读存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种服务器异常识别方法、装置、计算机设备及可读存储介质。


背景技术:

2.服务集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器的服务器集合,因此,服务器在所述服务集群中的运行状况,对于服务集群能否正常运行就显得非常重要。当前通常采用监听服务集群中的性能指标,并判断该性能指标是否超过预置的指标阈值的方法,对服务器是否出现异常进行判断。
3.然而,发明人意识到,这种单纯的使用阈值对性能指标进行判断的方式,会因没有综合考虑当前服务集群整体面临的请求处理情况,导致对处于高并发环境下服务集群进行多次异常报警,以及因无法识别处于低并发环境下的服务集群中出现异常的服务器,进而导致异常识别不准确的问题发生。


技术实现要素:

4.本发明的目的是提供一种服务器异常识别方法、装置、计算机设备及可读存储介质,用于解决现有技术存在的对处于高并发环境下服务集群进行多次异常报警,以及因无法识别处于低并发环境下的服务集群中出现异常的服务器,进而导致异常识别不准确的问题。
5.为实现上述目的,本发明提供一种服务器异常识别方法,包括:
6.与服务集群建立通信连接,识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单;其中,所述服务集群包括内部集群和外部集群,通过预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集组件提取所述外部集群中服务器的属性信息;
7.接收控制端发送的采集信息,从所述服务清单中获取与所述采集信息对应的属性信息,并将与所述属性信息对应的服务器设为目标服务器;
8.提取所述采集信息中的类别信息,根据所述类别信息从所述目标服务器中获取指标数据;
9.通过预置的聚类算法根据所述指标数据将所述目标服务器构建成散点图,并圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器;
10.将所述异常服务器的服务器编号发送至控制端,其中,所述服务器编号是所述异常服务器的唯一性标识。
11.上述方案中,所述识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单,包括:
12.扫描服务集群中运行的服务器;
13.从所述服务器的配置文件中获取所述属性信息;
14.将所述属性信息录入预置的注册表中,用以创制所述服务清单。
15.上述方案中,所述从所述服务清单中获取与所述采集信息对应的属性信息,并将与所述属性信息对应的服务器设为目标服务器,包括:
16.提取所述采集信息中的采集单元信息,提取所述服务清单中单元属性信息与所述采集单元信息一致的属性信息并汇总,得到单元集合;
17.提取所述采集信息中的采集节点信息,提取所述单元集合中节点属性信息与所述采集节点信息一致的属性信息并汇总,得到节点集合;
18.识别与所述节点集合中属性信息对应的服务器,并将所述服务器设为所述目标服务器。
19.上述方案中,所述提取所述采集信息中的类别信息之前,所述方法还包括:
20.提取所述采集信息中的集群编码,用以识别所述集群编码所对应的服务集群;
21.若所述服务集群为内部集群,则启动预置的内部采集组件,作为所述根据所述类别信息从所述目标服务器中获取指标数据的采集工具;其中,所述内部集群是指服务于内部网络的服务集群;
22.若所述服务集群为外部集群,则启动预置的外部采集组件,作为所述根据所述类别信息从所述目标服务器中获取指标数据的采集工具;其中,所述外部集群是指服务于公共网络或外部机构的内部网络的服务集群。
23.上述方案中,所述通过预置的聚类算法根据所述指标数据将所述目标服务器构建成散点图,并圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器,包括:
24.以所述目标服务器为散点,以所述指标数据作为所述散点的维度坐标构建散点图;
25.通过预置的聚类算法识别所述散点图中的中心点,获取所述中心点的中心坐标,通过预置的浮动上限计算所述中心坐标得到上限坐标,通过预置的浮动下限计算所述中心坐标得到下限坐标;
26.在所述散点图中圈定以所述上限坐标和所述下限坐标为顶点的所述正常范围,并将所述正常范围之外的散点所对应的目标服务器设为异常服务器;其中,所述正常范围的形状为多边形、或圆形、或椭圆形;
27.所述将所述正常范围之外的散点所对应的目标服务器设为异常服务器之后,所述方法还包括:
28.将所述异常服务器的服务器编号上传至区块链中。
29.上述方案中,所述根据所述类别信息从所述目标服务器中获取指标数据之后,所述方法还包括:
30.通过预置的计算模型对所述指标数据进行运算得到计算结果,获取与所述类别信息对应的指标阈值,判断所述计算结果是否超过所述指标阈值;若是,则判定所述目标服务器为异常服务器;若否,则判定所述目标服务器为正常服务器。
31.上述方案中,所述根据所述类别信息从所述目标服务器中获取指标数据之后,所述方法还包括:
32.通过预置的计算模型对所述指标数据进行运算得到计算结果,并计算各所述指标
数据与所述计算结果之间的指标差值;获取与所述类别信息对应的差值阈值,判断所述指标差值是否超过所述差值阈值;若是,则判定所述指标差值对应的目标服务器为异常服务器;若否,则判定所述目标服务器为正常服务器。
33.为实现上述目的,本发明还提供一种服务器异常识别装置,包括:
34.清单构建模块,用于与服务集群建立通信连接,识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单;其中,所述服务集群包括内部集群和外部集群,通过预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集组件提取所述外部集群中服务器的属性信息;
35.目标锁定模块,用于接收控制端发送的采集信息,从所述服务清单中获取与所述采集信息对应的属性信息,并将与所述属性信息对应的服务器设为目标服务器;
36.指标获取模块,用于提取所述采集信息中的类别信息,根据所述类别信息从所述目标服务器中获取指标数据;
37.异常识别模块,用于通过预置的聚类算法根据所述指标数据将所述目标服务器构建成散点图,并圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器;
38.异常报警模块,用于将所述异常服务器的服务器编号发送至控制端,其中,所述服务器编号是所述异常服务器的唯一性标识。
39.为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述服务器异常识别方法的步骤。
40.为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述服务器异常识别方法的步骤。
41.本发明提供的服务器异常识别方法、装置、计算机设备及可读存储介质,通过聚类算法圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器,实现了综合考虑当前服务集群整体面临的请求处理情况,实现服务集群在处于高并发环境下时,由于所有服务器均处于较高运行负荷,使得各服务器的指标数据将高于其他环境下的表现,这是处理高并发环境的正常表现,此时,如果某一服务器脱离所述正常范围,即:其指标数据远高于其他服务器,或远低于其他服务器,就说明该服务器的性能,或负载均衡器对该服务器路由的请求出现了异常,进而将其设为异常服务器;以及,实现服务集群处于低并发环境时,由于所有服务器均处于较低运行负荷,使得各服务器的指标数据将远低于其他环境下的表现,此时,如果某一服务器脱离所述正常范围,将其设为异常服务器;因此,通过所述聚类算法实现了基于服务集群及其服务器所处环境识别出现异常服务器的技术效果,提高了服务器异常情况判断准确度。
附图说明
42.图1为本发明服务器异常识别方法实施例一的流程图;
43.图2为本发明服务器异常识别方法实施例二中服务器异常识别方法的环境应用示意图;
44.图3是本发明服务器异常识别方法实施例二中服务器异常识别方法的具体方法流程图;
45.图4为本发明服务器异常识别装置实施例三的程序模块示意图;
46.图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
47.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.本发明提供的服务器异常识别方法、装置、计算机设备及可读存储介质,适用于人工智能技术领域,为提供一种基于清单构建模块、目标锁定模块、指标获取模块、异常识别模块、异常报警模块的服务器异常识别方法。本发明通过与服务集群建立通信连接,识别服务集群中的服务器,并提取服务器的属性信息,根据属性信息创制服务清单,从服务清单中获取与采集信息对应的属性信息,并将与属性信息对应的服务器设为目标服务器,提取采集信息中的类别信息,根据类别信息从目标服务器中获取指标数据,通过预置的聚类算法根据指标数据将目标服务器构建成散点图,并圈定散点图的正常范围,将脱离正常范围的目标服务器设为异常服务器。
49.实施例一:
50.请参阅图1,本实施例的一种服务器异常识别方法,包括:
51.s101:与服务集群建立通信连接,识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单;其中,所述服务集群包括内部集群和外部集群,通过预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集组件提取所述外部集群中服务器的属性信息。
52.s102:接收控制端发送的采集信息,从所述服务清单中获取与所述采集信息对应的属性信息,并将与所述属性信息对应的服务器设为目标服务器。
53.s103:提取所述采集信息中的类别信息,根据所述类别信息从所述目标服务器中获取指标数据。
54.s104:通过预置的聚类算法根据所述指标数据将所述目标服务器构建成散点图,并圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器。
55.s107:将所述异常服务器的服务器编号发送至控制端,其中,所述服务器编号是所述异常服务器的唯一性标识。
56.在示例性的实施例中,所述属性信息包括作为所述服务器唯一性标识的服务编码,描述所述服务器中运行的逻辑单元的单元属性信息,描述所述逻辑单元之下运行的逻辑节点的节点属性信息,以及描述所述服务器所在服务集群的集群编码。因此,通过与服务集群建立通信连接,识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单的方式,实现了自动识别并维护所述服务清单,避免人工识别新增服务器并手动录入其属性信息,导致效率低下,容易出现疏漏的问题发生。进一步地,通过采用预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集
组件提取所述外部集群中服务器的属性信息的方式,采集内部集群和外部集群中服务器的属性信息,进而避免人工实时识别并更新本地的新增或下线的服务器,导致效率低下,容易出现疏漏的问题发生。
57.所述采集信息中记载了需要提取指标数据的服务集群的集群编码,以及描述服务器中运行的逻辑单元的采集单元信息,和描述服务器中运行的逻辑节点的采集节点信息。其中,所述逻辑单元是指逻辑单元(lu)是进入ibm系统网络体系结构(sna)的网络端口,通过它用户可以访问网络资源,或一个程序员与另一个程序员通信;所述逻辑节点是基于所述逻辑单元,根据用户端发送的运行指令进行运算服务,并向用户端返回相应运行结果的计算机代码模块。
58.所述指标数据为所述服务器的运行数据,所述类别信息描述了服务器中指标数据的类型,例如:所述类别信息包括但不限于:
59.requests per second(avg rps):平均每秒钟响应次数=总请求时间/秒数;
60.failed requests:失败的请求;
61.failed hits:失败的点击次数;
62.failed hits per second:每秒失败的点击次数。
63.所述聚类算法为基于密度的聚类算法;以指标数据为坐标构建目标服务器的散点,汇总各所述散点形成散点图,通过所述聚类算法根据所述散点识别所述散点图的中心点,并在所述中心点的附近圈定所述正常范围,将脱离所述正常范围的目标服务器设为异常服务器。其中,所述正常范围的边界与所述中心点之间的距离可根据需要设置。
64.因此,根据采集信息的定义,通过聚类算法自动识别各服务集群中服务器的指标数据,并对其进行聚类运算以识别出现异常的服务器,实现了基于多种类别维度对服务器的运行进行评价的技术效果,进而使控制端能够根据自身需求,自由配置需要监控的服务器,以及从该服务器中获取的性能指标,实现了监控可配置化的技术效果。
65.通过聚类算法圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器,实现了综合考虑当前服务集群整体面临的请求处理情况,实现服务集群在处于高并发环境下时,由于所有服务器均处于较高运行负荷,使得各服务器的指标数据将高于其他环境下的表现,这是处理高并发环境的正常表现,此时,如果某一服务器脱离所述正常范围,即:其指标数据远高于其他服务器,或远低于其他服务器,就说明该服务器的性能,或负载均衡器对该服务器路由的请求出现了异常,进而将其设为异常服务器;以及,实现服务集群处于低并发环境时,由于所有服务器均处于较低运行负荷,使得各服务器的指标数据将远低于其他环境下的表现,此时,如果某一服务器脱离所述正常范围,即:其指标数据远高于其他服务器,就说明该服务器的性能,或负载均衡器对该服务器路由的请求出现了异常,进而将其设为异常服务器;
66.因此,通过所述聚类算法实现了基于服务集群及其服务器所处环境识别出现异常服务器的技术效果,提高了服务器异常情况判断准确度。
67.于本实施例中,所述聚类算法为密度聚类算法,该算法是假设聚类结构能够通过样本分布的紧密程度确定,以数据集在空间分布上的稠密程度为依据进行聚类,即只要一个区域中的样本密度大于某个阈值,就把它划入与之相近的簇中。因此,对于假设服务集群中绝大部分的服务器是正常,且服务器的指标数据维度至少具有一个的场景来说,本技术
提供的仅需将是划分到正常范围的散点设为正常服务器,而在正常范围之外的服务器设为异常服务器的方式,不仅运算负担小,适用于实时监控服务集群中服务器运行情况的环境,而且无需考虑该异常服务器是基于何种维度的指标数据所获得的情况,进而避免了因考虑维度过多而将正常服务器和异常服务器混为一起的情况发生。
68.实施例二:
69.本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
70.下面,以在运行有服务器异常识别方法的服务器中,根据目标服务器的指标数据将目标服务器构建成散点图,并圈定散点图的正常范围,将脱离正常范围的目标服务器设为异常服务器为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
71.图2示意性示出了根据本技术实施例二的服务器异常识别方法的环境应用示意图。
72.在示例性的实施例中,服务器异常识别方法所在的服务器2通过网络3分别连接控制端4;所述服务器2可以通过一个或多个网络3提供服务,网络3可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,wi-fi链路和/或类似物;所述控制端4可为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。
73.图3是本发明一个实施例提供的一种服务器异常识别方法的具体方法流程图,该方法具体包括步骤s201至s208。
74.s201:与服务集群建立通信连接,识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单;其中,所述服务集群包括内部集群和外部集群,通过预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集组件提取所述外部集群中服务器的属性信息。
75.本步骤中,所述属性信息包括作为所述服务器唯一性标识的服务编码,描述所述服务器中运行的逻辑单元的单元属性信息,描述所述逻辑单元之下运行的逻辑节点的节点属性信息,以及描述所述服务器所在服务集群的集群编码。因此,通过与服务集群建立通信连接,识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单的方式,实现了自动识别并维护所述服务清单,避免人工识别新增服务器并手动录入其属性信息,导致效率低下,容易出现疏漏的问题发生。进一步地,通过采用预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集组件提取所述外部集群中服务器的属性信息的方式,采集内部集群和外部集群中服务器的属性信息,进而避免人工实时识别并更新本地的新增或下线的服务器,导致效率低下、疏漏频发以及更新不及时的问题发生,提高了对内部集群和外部集群的管控效率和准确度。
76.于本实施例中,使用apm-server作为所述内部采集组件,使用apm-proxy作为所述外部采集组件,其中,apm-server是指apm内网服务器,其用于采集内部网络的服务集群中的数据,所述apm-proxy是指apm代理服务器,其用于采集公共网络和外部机构的内部网络的服务集群的数据,因此,通过apm内网服务器和代理服务器,实现了对内部网络、公共网络
和其他机构的内部网络的数据采集,进而提高了数据采集的全面性。
77.在一个优选的实施例中,所述识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单,包括:
78.s11:扫描服务集群中运行的服务器。
79.s12:从所述服务器的配置文件中获取所述属性信息。
80.s13:将所述属性信息录入预置的注册表中,用以创制所述服务清单。
81.于本实施例中,通过ping命令识别所述服务集群中的服务器,其中,所述ping命令是一种tcp/ip工具,其用于用来检测服务集群中各服务器之间网络的连通情况和分析网络速度,根据服务集群的域名得到其中各服务器的服务编码(例如:ip,即:所述服务器编号),并根据所述服务编码访问所述服务器的配置文件获取所述属性信息,将所述属性信息保存在注册表中以创建所述服务清单,所述注册表是预置在数据库服务器中的表格,如:excel表格。
82.s202:接收控制端发送的采集信息,从所述服务清单中获取与所述采集信息对应的属性信息,并将与所述属性信息对应的服务器设为目标服务器。
83.本步骤中,所述采集信息中记载了需要提取指标数据的服务集群的集群编码,以及描述服务器中运行的逻辑单元的采集单元信息,和描述服务器中运行的逻辑节点的采集节点信息。其中,所述逻辑单元是指逻辑单元(lu)是进入ibm系统网络体系结构(sna)的网络端口,通过它用户可以访问网络资源,或一个程序员与另一个程序员通信;所述逻辑节点是基于所述逻辑单元,根据用户端发送的运行指令进行运算服务,并向用户端返回相应运行结果的计算机代码模块。
84.在一个优选的实施例中,所述从所述服务清单中获取与所述采集信息对应的属性信息,并将与所述属性信息对应的服务器设为目标服务器,包括:
85.s21:提取所述采集信息中的采集单元信息,提取所述服务清单中单元属性信息与所述采集单元信息一致的属性信息并汇总,得到单元集合;
86.s22:提取所述采集信息中的采集节点信息,提取所述单元集合中节点属性信息与所述采集节点信息一致的属性信息并汇总,得到节点集合;
87.s23:识别与所述节点集合中属性信息对应的服务器,并将所述服务器设为所述目标服务器。
88.s203:提取所述采集信息中的类别信息,根据所述类别信息从所述目标服务器中获取指标数据。
89.本步骤中,所述指标数据为所述服务器的运行数据,所述类别信息描述了服务器中指标数据的类型,例如:所述类别信息包括但不限于:cpu占用率、内存占用率,以及,
90.requests per second(avg rps):平均每秒钟响应次数=总请求时间/秒数;
91.failed requests:失败的请求;
92.failed hits:失败的点击次数;
93.failed hits per second:每秒失败的点击次数。
94.在一个优选的实施例中,所述提取所述采集信息中的类别信息之前,所述方法还包括:
95.s31:提取所述采集信息中的集群编码,用以识别所述集群编码所对应的服务集
群;
96.本步骤中,所述集群编码描述了所述服务器所在服务集群的集群编码,所述集群编码记载了所述服务集群的ip地址,通过所述ip地址即可识别所述服务集群属于内部集群还是外部集群。
97.s32:若所述服务集群为内部集群,则启动预置的内部采集组件,作为所述根据所述类别信息从所述目标服务器中获取指标数据的采集工具;其中,所述内部集群是指服务于内部网络的服务集群。
98.本步骤中,所述内部集群为sf网络域,其全称是server farm zone,俗称内部服务区,通常用来部署应用服务器和数据库服务器。它无法直接与公网连接,但是可以通过设置被其他两个网络域访问。进一步地,使用apm-server作为所述内部采集组件。
99.s33:若所述服务集群为外部集群,则启动预置的外部采集组件,作为所述根据所述类别信息从所述目标服务器中获取指标数据的采集工具;其中,所述外部集群是指服务于公共网络或外部机构的内部网络的服务集群;
100.本步骤中,所述外部集群可为ptr网络域,其全称是partner zone,俗称合作伙伴接入区,用来接入监管机构和其他合作伙伴,能够与合作伙伴的数据中心建立内部专线,通常用来部署前置机或代理系统。以所述ptr网络域作为所述外部机构的内部网络。
101.所述外部集群还可为dmz网络域,其全称是demilitarized zone,俗称隔离区,可以通过nat网关、igw网关或elb等服务和公网连接,通常用来部署前端系统。以所述dmz网络域作为所述公共网络。
102.进一步地,使用apm-proxy作为所述外部采集组件。
103.示例性地,所述服务集群中的内部集群为本区域管理的服务集群,例如:企业本地服务器,所述外部集群为其他企业或其他区域管理的服务集群,例如:关联企业、联盟企业、子公司等机构的本地服务器。对于跨平台业务,例如:“跨行转账”,“利用本地保险平台的优惠券购买其他电商平台的产品”等,或者涉及到跨区域业务,例如:作为总部的上海总公司,需要调用子公司“四川公司”的功能或服务;虽然运营维护理论上应由该企业进行管理,但是,因跨平台服务和跨区域服务,需要涉及到不同企业之间业务联动,以及不同区域服务器之间业务互动,对其他企业的本地服务器,以及跨区域的子公司的本地服务器的运行状态监控将会至关重要。因此通过采用预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集组件提取所述外部集群中服务器的属性信息的方式本监控其他关联企业的本地服务器的运行状态,一旦发现某一跨平台业务开展不顺,能够及时锁定出现异常的服务器,实现对跨区域的服务器进行管控的技术效果,以便于后续采用维修本地服务器或通知外地服务器管理人的方法进行处理。又由于本技术所获取的信息仅为指标数据,也就是服务器性能信息,而不涉及到业务数据,因此,避免了信息安全风险。
104.需要说明的是,apm(application performance management,即应用性能管理,在分布式领域也称为分布式跟踪管理)用于对企业的应用系统进行实时监控,以实现对应用程序性能管理和故障管理的系统化。于本实施例中,所述apm-server是指apm内网服务器,其用于采集内部网络的服务集群中的数据,所述apm-proxy是指apm代理服务器,其用于采集公共网络和外部机构的内部网络的服务集群的数据,因此,通过apm内网服务器和代理服务器,实现了对内部网络、公共网络和其他机构的内部网络的数据采集,进而提高了数据采
集的全面性。进一步地,所述apm可为pinpoint、或zipkin、或skywalking、或prometheus、或cat、或hawkular。其中,pinpoint韩国开源的一个功能完备的apm系统,支持jvm性能数据采集、服务trace、告警等功能。它具有应用程序无侵入的应用特性。zipkin是twitter开源的trace工具,通过java程序中引入客户端,可隐式拦截http、thrift等形式服务调用。通过http、kafka、scribe等方式同步监控数据到服务端,zipkin带有web ui,但没有告警功能。skywalking是一个开源apm系统,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链路以及指标,skywalking apm会感知应用间关系和服务间关系,并进行相应的指标统计。prometheus从官方介绍来说,他是一个开源的系统监控和报警工具,最初由soundcloud推出。自2012成立以来,许多公司和组织都采用了prometheus,项目有一个非常活跃的开发者和用户社区。它是一个独立的开源项目,并独立于任何公司。cat是美团点评开源的功能完备的apm系统,支持jvm性能数据采集、服务跟踪、告警等功能,但需要写监控代码。hawkular是一个功能完备的apm系统,应用程序中嵌入hawkular客户端,主动将采集数据通过http或者kafka传递给hawkular。hawkular支持jvm性能数据采集、服务trace、告警等功能。其中jvm性能数据采集使用jmx,服务trace使用zipkin客户端。
105.s204:通过预置的聚类算法根据所述指标数据将所述目标服务器构建成散点图,并圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器。
106.本步骤中,所述聚类算法为基于密度的聚类算法;以指标数据为坐标构建目标服务器的散点,汇总各所述散点形成散点图,通过所述聚类算法根据所述散点识别所述散点图的中心点,并在所述中心点的附近圈定所述正常范围,将脱离所述正常范围的目标服务器设为异常服务器。其中,所述正常范围的边界与所述中心点之间的距离可根据需要设置。
107.因此,根据采集信息的定义,通过聚类算法自动识别各服务集群中服务器的指标数据,并对其进行聚类运算以识别出现异常的服务器,实现了基于多种类别维度对服务器的运行进行评价的技术效果,
108.通过聚类算法圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器,实现了综合考虑当前服务集群整体面临的请求处理情况,实现服务集群在处于高并发环境下时,由于所有服务器均处于较高运行负荷,使得各服务器的指标数据将高于其他环境下的表现,这是处理高并发环境的正常表现,此时,如果某一服务器脱离所述正常范围,即:其指标数据远高于其他服务器,或远低于其他服务器,就说明该服务器的性能,或负载均衡器对该服务器路由的请求出现了异常,进而将其设为异常服务器;以及,实现服务集群处于低并发环境时,由于所有服务器均处于较低运行负荷,使得各服务器的指标数据将远低于其他环境下的表现,此时,如果某一服务器脱离所述正常范围,即:其指标数据远高于其他服务器,就说明该服务器的性能,或负载均衡器对该服务器路由的请求出现了异常,进而将其设为异常服务器;
109.因此,通过所述聚类算法实现了基于服务集群及其服务器所处环境识别出现异常服务器的技术效果,提高了服务器异常情况判断准确度。
110.在一个应用场景中,对于假设服务集群中绝大部分的服务器是正常,且服务器的指标数据维度至少具有一个的场景来说,本技术提供的仅需将是划分到正常范围的散点设为正常服务器,而在正常范围之外的服务器设为异常服务器的方式,不仅运算负担小,适用
于实时监控服务集群中服务器运行情况的环境,而且无需考虑该异常服务器是基于何种维度的指标数据所获得的情况,进而避免了因考虑维度过多而将正常服务器和异常服务器混为一起的情况发生。
111.需要说明的是,所述基于密度的聚类算法是是把一个类别视为数据集中大于某阈值的一个区域,例如:dbscan算法和optics算法。
112.在一个优选的实施例中,所述通过预置的聚类算法根据所述指标数据将所述目标服务器构建成散点图,并圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器,包括:
113.s41:以所述目标服务器为散点,以所述指标数据作为所述散点的维度坐标构建散点图。
114.s42:通过预置的聚类算法识别所述散点图中的中心点,获取所述中心点的中心坐标,通过预置的浮动上限计算所述中心坐标得到上限坐标,通过预置的浮动下限计算所述中心坐标得到下限坐标。
115.s43:在所述散点图中圈定以所述上限坐标和所述下限坐标为顶点的所述正常范围,并将所述正常范围之外的散点所对应的目标服务器设为异常服务器;其中,所述正常范围的形状为多边形、或圆形、或椭圆形。
116.进一步地,所述将所述正常范围之外的散点所对应的目标服务器设为异常服务器之后,所述方法还包括:
117.将所述异常服务器的服务器编号上传至区块链中。
118.需要说明的是,基于服务器编号得到对应的摘要信息,具体来说,摘要信息由服务器编号进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证服务器编号是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
119.s205:通过预置的计算模型对所述指标数据进行运算得到计算结果,获取与所述类别信息对应的指标阈值,判断所述计算结果是否超过所述指标阈值;若是,则判定所述目标服务器为异常服务器;若否,则判定所述目标服务器为正常服务器。
120.本步骤中,所述计算模型为以预置的计算函数作为目标函数的数学模型,所述计算函数为求平均数函数或加权平均数函数。于本实施例中,所述计算结果包括基于各目标服务器的单元属性信息的指标数据的单元平均值。
121.因此,本步骤通过计算模型对所述指标数据进行运算得到计算结果,获取与所述类别信息对应的指标阈值,判断所述计算结果是否超过所述指标阈值的方式,将运行有同一逻辑单元的目标服务器视作为整体集群,如果该整体中某一目标服务器出现异常,则说明该整体内部各目标服务器之间的请求路由出现问题,需要控制端对所述整体的请求路由进行调整,实现准确识别出现异常的服务器的技术效果。
122.进一步地,所述计算结果还包括基于各目标服务器的节点属性信息的指标数据的
节点平均值;
123.所述判定所述目标服务器为异常服务器之后,所述方法还包括:
124.判断所述节点平均值是否超过所述指标阈值;
125.若是,则判定所述节点平均值所对应的节点属性信息为异常节点;
126.若否,则判定所述节点平均值对应的节点属性信息为正常节点。
127.于本实施例中,可使用matlab为所述数学模型,matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除矩阵运算、绘制函数/数据图像等常用功能外,matlab还可用来创建用户界面,以及调用其它语言(包括c、c++、java、python、fortran)编写的程序。
128.示例性地,以响应时间为所述类型信息,逻辑单元为a,逻辑节点为s和r,如:逻辑单元a下有3台服务器分别是10.1.1.1、10.1.1.2、10.1.1.3,都运行着同样的逻辑节点s和逻辑节点r,现采集到逻辑节点s和逻辑节点r的响应时间如下:a_10.1.1.1_s_响应=10ms、a_10.1.1.2_s_响应=20ms、a_10.1.1.3_s_响应=30ms,a_10.1.1.1_r_响应=20ms、a_10.1.1.2_r_响应=50ms、a_10.1.1.3_r_响应=70ms。
129.通过所述计算模型得到如下计算结果:
130.逻辑节点s的平均响应的聚合:a_*_s_响应:avg=20ms,即所述节点平均值;
131.逻辑节点r的平均响应的聚合:a_*_s_响应:avg=46.7ms,即所述节点平均值;
132.逻辑单元a中逻辑节点s和r的平均响应聚合:a_*_*_响应:avg=33.3ms,即所述单元平均值。
133.如果响应时间对应的指标阈值为20ms,则判定服务器分别是10.1.1.1、10.1.1.2、10.1.1.3均为异常服务器,其中,逻辑节点s为正常,逻辑节点r为异常;如果响应时间对应的指标阈值为50ms,则判定服务器分别是10.1.1.1、10.1.1.2、10.1.1.3均为正常服务器。
134.于所述图3中,所述s205通过以下标注展示:
135.s51:通过预置的计算模型对所述指标数据进行运算得到计算结果,获取与所述类别信息对应的指标阈值;
136.s52:判断所述计算结果是否超过所述指标阈值;
137.s53:若是,则判定所述目标服务器为异常服务器;
138.s54:若否,则判定所述目标服务器为正常服务器。
139.s206:通过预置的计算模型对所述指标数据进行运算得到计算结果,并计算各所述指标数据与所述计算结果之间的指标差值;获取与所述类别信息对应的差值阈值,判断所述指标差值是否超过所述差值阈值;若是,则判定所述指标差值对应的目标服务器为异常服务器;若否,则判定所述目标服务器为正常服务器。
140.本步骤中,所述计算模型为以预置的计算函数作为目标函数的数学模型,所述计算函数为求平均数函数和差值函数的结合,即:通过所述求平均数函数根据所述指标数据得到所述计算结果,通过所述差值函数计算指标数据与计算结果之间的指标差值;于本实施例中,所述计算结果包括基于各目标服务器的单元属性信息的指标数据的单元差值。
141.因此,本步骤通过计算模型对所述指标数据进行运算得到计算结果,获取与所述类别信息对应的指标阈值,判断所述计算结果是否超过所述指标阈值的方式,将运行有同一逻辑单元的目标服务器视作为整体集群,如果该整体中某一目标服务器出现异常,则说
明该整体内部各目标服务器之间的请求路由出现问题,需要控制端对所述整体的请求路由进行调整,实现准确识别出现异常的服务器的技术效果。
142.进一步地,所述计算结果还包括基于各目标服务器的节点属性信息的指标数据的节点差值;
143.所述判定所述指标差值对应的目标服务器为异常服务器之后,所述方法还包括:
144.判断所述节点差值是否超过所述指标阈值;
145.若是,则判定所述节点差值所对应的节点属性信息为异常节点;
146.若否,则判定所述节点差值对应的节点属性信息为正常节点。
147.于本实施例中,可使用matlab为所述数学模型,matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除矩阵运算、绘制函数/数据图像等常用功能外,matlab还可用来创建用户界面,以及调用其它语言(包括c、c++、java、python、fortran)编写的程序。
148.示例性地,以响应时间为所述类型信息,如:逻辑单元a下有3台服务器分别是10.1.1.1、10.1.1.2、10.1.1.3,都运行着同样的逻辑节点s和逻辑节点r,现采集到逻辑节点s和逻辑节点r的响应时间如下:a_10.1.1.1_s_响应=10ms、a_10.1.1.2_s_响应=20ms、a_10.1.1.3_s_响应=30ms,a_10.1.1.1_r_响应=20ms、a_10.1.1.2_r_响应=50ms、a_10.1.1.3_r_响应=70ms。
149.通过所述计算模型得到如下计算结果:
150.逻辑节点s的指标差值为:a_*_s_10.1.1.1:差值=10ms,a_*_s_10.1.1.2:差值=0ms,a_*_s_10.1.1.3:差值=10ms;
151.逻辑节点r的指标差值为:a_*_r_10.1.1.1:差值=26.7ms,a_*_r_10.1.1.2:差值=4.3ms,a_*_r_10.1.1.3:差值=23.3ms;
152.逻辑单元a中逻辑节点s和r的指标差值:
153.a_*_*_10.1.1.1:差值=18.3ms,a_*_*_10.1.1.2:差值=1.7ms,a_*_*_10.1.1.3:差值=16.7ms;
154.如果响应时间对应的指标阈值为12ms,则判定服务器分别是10.1.1.1、10.1.1.3为异常服务器,其中,服务器10.1.1.1的逻辑节点r为正常,服务器10.1.1.3逻辑节点r为异常。
155.于所述图3中,所述s206通过以下标注展示:
156.s61:通过预置的计算模型对所述指标数据进行运算得到计算结果,并计算各所述指标数据与所述计算结果之间的指标差值;
157.s62:获取与所述类别信息对应的差值阈值;
158.s63:判断所述指标差值是否超过所述差值阈值;
159.s64:若是,则判定所述指标差值对应的目标服务器为异常服务器;
160.s65:若否,则判定所述目标服务器为正常服务器。
161.s207:将所述异常服务器的服务器编号发送至控制端,其中,所述服务器编号是所述异常服务器的唯一性标识。
162.本步骤中,通过向所述控制端发送邮件、短信等形式,将所述异常服务器的服务器编号发送至所述控制端。因此,通过识别cpu占用率异常、内存占用异常及时发现出现运行
异常的服务器;并且,通过识别响应实现异常,实现了服务器响应反馈缓慢的情况,以及通过识别失败的请求、失败的点击次数、每秒失败的点击次数,实现对服务器中运行的逻辑单元和逻辑节点的运行情况的监测,以及时发现运行异常的服务器。
163.s208:从所述异常服务器中获取用户身份信息和用户行为信息;
164.判断所述用户身份信息是否属于预置的身份风险名单,若是,则将所述用户身份信息拉入预置的黑名单中,以禁止所述用户端访问所述服务集群;若否则结束;
165.判断所述用户行为信息是否属于预置的行为风险名单,若是,则将所述用户行为信息对应的用户身份信息拉入预置的黑名单中,以禁止所述用户身份信息对应的用户端访问所述服务集群;若否,则结束;
166.其中,所述用户身份信息反映了用户身份属性特征,所述用户行为信息反映了用户在所述目标服务器中所进行的请求及访问操作。
167.于本实施例中,所述用户身份信息和所述用户行为信息保存在所述目标服务器的数据库或系统日志中。
168.所述身份风险名单是根据对用户进行长期观察所构建的,可能会发出恶意访问或请求的用户身份信息清单。
169.所述黑名单是禁止访问所述服务集群的用户端的身份信息清单。
170.所述行为风险名单是记录有恶意操作行为的目录清单,若某一用户行为信息属于所述行为风险名单中的某一恶意操作行为,则将该用户行为信息对应的用户身份信息拉入黑名单中,进而实现禁止其用户端访问服务集群的技术效果。
171.于所述图3中,所述s208通过以下标注展示:
172.s81:从所述异常服务器中获取用户身份信息和用户行为信息;
173.s82:判断所述用户身份信息是否属于预置的身份风险名单;
174.s83:若是,则将所述用户身份信息拉入预置的黑名单中,以禁止所述用户端访问所述服务集群;
175.s84:若否,则结束;
176.s85:判断所述用户行为信息是否属于预置的行为风险名单;
177.s86:若是,则将所述用户行为信息对应的用户身份信息拉入预置的黑名单中,以禁止所述用户身份信息对应的用户端访问所述服务集群;
178.s87:若否,则结束。
179.实施例三:
180.请参阅图4,本实施例的一种服务器异常识别装置1,包括:
181.清单构建模块11,用于与服务集群建立通信连接,识别所述服务集群中的服务器,并提取所述服务器的属性信息,根据所述属性信息创制服务清单;其中,所述服务集群包括内部集群和外部集群,通过预置的内部采集组件提取所述内部集群中服务器的属性信息,通过预置的外部采集组件提取所述外部集群中服务器的属性信息;
182.目标锁定模块12,用于接收控制端发送的采集信息,从所述服务清单中获取与所述采集信息对应的属性信息,并将与所述属性信息对应的服务器设为目标服务器;
183.指标获取模块13,用于提取所述采集信息中的类别信息,根据所述类别信息从所述目标服务器中获取指标数据;
184.异常识别模块14,用于通过预置的聚类算法根据所述指标数据将所述目标服务器构建成散点图,并圈定所述散点图的正常范围,将脱离所述正常范围的目标服务器设为异常服务器;
185.异常报警模块17,用于将所述异常服务器的服务器编号发送至控制端,其中,所述服务器编号是所述异常服务器的唯一性标识。
186.可选的,所述服务器异常识别装置1还包括:
187.结果异常模块15,用于通过预置的计算模型对所述指标数据进行运算得到计算结果,获取与所述类别信息对应的指标阈值,判断所述计算结果是否超过所述指标阈值;若是,则判定所述目标服务器为异常服务器;若否,则判定所述目标服务器为正常服务器。
188.差值异常模块16,用于通过预置的计算模型对所述指标数据进行运算得到计算结果,并计算各所述指标数据与所述计算结果之间的指标差值;获取与所述类别信息对应的差值阈值,判断所述指标差值是否超过所述差值阈值;若是,则判定所述指标差值对应的目标服务器为异常服务器;若否,则判定所述目标服务器为正常服务器。
189.名单管理模块18,用于从所述异常服务器中获取用户身份信息和用户行为信息;判断所述用户身份信息是否属于预置的身份风险名单,若是,则将所述用户身份信息拉入预置的黑名单中,以禁止所述用户端访问所述服务集群;判断所述用户行为信息是否属于预置的行为风险名单,若是,则将所述用户行为信息对应的用户身份信息拉入预置的黑名单中,以禁止所述用户身份信息对应的用户端访问所述服务集群;其中,所述用户身份信息反映了用户身份属性特征,所述用户行为信息反映了用户在所述目标服务器中所进行的请求及访问操作。
190.可选的,所述清单构建模块11还包括:
191.扫描单元111,用于扫描服务集群中运行的服务器;
192.属性获取单元112,用于从所述服务器的配置文件中获取所述属性信息;
193.清单创制单元113,用于将所述属性信息录入预置的注册表中,用以创制所述服务清单。
194.可选的,所述目标锁定模块12还包括:
195.单元识别单元121,用于提取所述采集信息中的采集单元信息,提取所述服务清单中单元属性信息与所述采集单元信息一致的属性信息并汇总,得到单元集合;
196.节点识别单元122,用于提取所述采集信息中的采集节点信息,提取所述单元集合中节点属性信息与所述采集节点信息一致的属性信息并汇总,得到节点集合;
197.目标识别单元123,用于识别与所述节点集合中属性信息对应的服务器,并将所述服务器设为所述目标服务器。
198.可选的,所述指标获取模块13还包括:
199.集群识别单元131,用于提取所述采集信息中的集群编码,用以识别所述集群编码所对应的服务集群;
200.内部集群单元132,用于在所述服务集群为内部集群时,则启动预置的内部采集组件,作为所述根据所述类别信息从所述目标服务器中获取指标数据的采集工具;其中,所述内部集群是指服务于内部网络的服务集群。
201.外部集群单元133,用于在所述服务集群为外部集群时,则启动预置的外部采集组
件,作为所述根据所述类别信息从所述目标服务器中获取指标数据的采集工具;其中,所述外部集群是指服务于公共网络或外部机构的内部网络的服务集群。
202.可选的,所述异常识别模块14还包括:
203.散点构建单元141,用于以所述目标服务器为散点,以所述指标数据作为所述散点的维度坐标构建散点图;
204.坐标识别单元142,用于通过预置的聚类算法识别所述散点图中的中心点,获取所述中心点的中心坐标,通过预置的浮动上限计算所述中心坐标得到上限坐标,通过预置的浮动下限计算所述中心坐标得到下限坐标;
205.异常识别单元143,用于在所述散点图中圈定以所述上限坐标和所述下限坐标为顶点的所述正常范围,并将所述正常范围之外的散点所对应的目标服务器设为异常服务器;其中,所述正常范围的形状为多边形、或圆形、或椭圆形。
206.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
207.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
208.因此,本技术通过人工智能领域的智能决策技术,通过聚类算法作为分类模型根据指标数据将目标服务器构建成散点图,并圈定散点图的正常范围,将脱离正常范围的目标服务器设为异常服务器。
209.实施例四:
210.为实现上述目的,本发明还提供一种计算机设备5,实施例三的服务器异常识别装置的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器51、处理器52,如图5所示。需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
211.本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的服务器异常识别装置的程序代码
等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
212.处理器52在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行服务器异常识别装置,以实现实施例一和实施例二的服务器异常识别方法。
213.实施例五:
214.为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储实现所述服务器异常识别方法的计算机程序,被处理器52执行时实现实施例一和实施例二的服务器异常识别方法。
215.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
216.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
217.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1