一种分布式系统的可视化监控方法和系统与流程

文档序号:28298857发布日期:2021-12-31 23:30阅读:80来源:国知局
一种分布式系统的可视化监控方法和系统与流程

1.本发明涉及分布式系统监控技术领域,尤其涉及一种分布式系统的可视化监控方法和系统。


背景技术:

2.分布式系统已经成为当前云计算、云存储、智能计算中心的核心底层框架。基于hadoop、spark等分布式存储、计算框架已经能够集成网络传输、负载均衡、ai处理等多项传统的复杂任务,其底层设计全面性、复杂性也远超之前的各种分布式系统。
3.分布式系统的可视化监测成为当前分布式系统管理的一项重要研究。目前对分布式系统的可视化监控主要采用建立环状图、折线图、柱状图、气泡图等3

5维度可视化图表的形式显示监控信息,这种采用多图表方式的可视化监控方式会割裂整体的运行状态,不但单一图表信息提供不全,而且运维人员在查看一幅图表的同时,会忽略其他部分,万一有异常状态会导致系统调控不及时,造成严重的后果。


技术实现要素:

4.鉴于上述的分析,本发明实施例旨在提供一种分布式系统的可视化监控方法和系统,用以解决现有分布式系统采用多图表显示监控信息,无法整体显示系统的运行状态的问题。
5.一方面,本发明实施例提供了一种分布式系统的可视化监控方法,包括:根据所述分布式系统的节点路由表,获取所述分布式系统的节点层级,采用正多边形分形图表示所述分布式系统的节点层级结构,所述分形图中的一个子分形图对应所述分布式系统的一个节点,每个子分形图采用虚线绘制;
6.获取分布式系统当前任务的子任务信息和资源分配信息,基于所述子任务信息和资源分配信息,获取每个子任务的运行资源对应的运行节点,在所述分形图中查找所述运行节点,将所述运行节点对应的子分形图绘制为实线图;
7.实时获取每个运行节点的监控信息,基于所述监控信息,在所述运行节点对应的子分形图的边线上绘制显示所述监控信息。
8.上述技术方案的有益效果如下:基于分形理论,分布式系统的节点结构无限扩充时,可以在一张图内同时显示系统节点层级结构、各工作节点的各类资源的实时运行状态,提高了监控的效率,并且避免了监控信息的遗漏。
9.进一步地,采用正多边形分形图表示所述分布式系统的节点层级结构,包括:
10.采用正n边形表示所述节点层级结构的最上层节点,形成零阶子分形图;
11.对第j

1阶的子分形图中的每一个正n边形,根据所述节点路由表获取当前正n边形代表的节点的子节点数量m,采用分割线将所述正n边形的内切圆平均分割为m份扇形区域,以每一个分割线的中点为圆心,以所述分割线的一半为直径绘制一个圆,在所述圆中绘制正n边形,形成j阶子分形图;所述圆为该正n边形的内切圆;
12.其中,n值根据所述分布式系统的监控维度确定,t表示所述分布式系统的节点层级数;j=1,2,

t

1。
13.上述技术方案的有益效果如下:可快速生成分形图,结构简单清晰,便于监控人员查看。
14.进一步地,所述监控维度包括cpu资源、内存资源、磁盘资源和gpu资源,所述监控信息包括资源的占用率和资源的状态。
15.上述技术方案的有益效果如下:可以方便快捷的同时监控分布式系统的多维资源占用情况和工作状态,从而避免出现遗漏信息。
16.进一步地,基于所述监控信息,在所述运行节点对应的子分形图的边线上绘制显示所述监控信息,包括:
17.基于图形索引在所述正多边形分形图中查找所述运行节点对应的子分形图;
18.以所述子分形图的边长乘以所述资源的占用率为监控信息显示线的长度,以所述资源的状态等级对应的颜色为监控信息显示线的颜色,在所述资源对应的子分形图的边线位置绘制所述监控信息显示线。
19.上述技术方案的有益效果如下:通过将正多边形的每个边对应于一个监控维度,可以在一个正多边形中同时显示多个监控维度,通过采用不同颜色和长度表示监控信息,可全面的显示监控信息。
20.进一步地,采用opengl或directx图形api绘制所述分形图。
21.另一方面,本发明实施例提供了一种分布式系统的可视化监控系统,包括以下模块:
22.初始分形图生成模块,用于根据所述分布式系统的节点路由表,获取所述分布式系统的节点层级,采用正多边形分形图表示所述分布式系统的节点层级结构,所述分形图中的一个子分形图对应所述分布式系统的一个节点,每个子分形图采用虚线绘制;
23.运行状态显示模块,用于获取分布式系统当前任务的子任务信息和资源分配信息,基于所述子任务信息和资源分配信息,获取每个子任务的运行资源对应的运行节点,在所述分形图中查找所述运行节点,将所述运行节点对应的子分形图绘制为实线图;
24.监控信息显示模块,用于实时获取每个运行节点的监控信息,基于所述监控信息,在所述运行节点对应的子分形图的边线上绘制显示所述监控信息。
25.进一步地,所述初始分形图生成模块采用以下方法生成正多边形分形图:
26.采用正n边形表示所述节点层级结构的最上层节点,形成零阶子分形图;
27.对第j

1阶的子分形图中的每一个正n边形,根据所述节点路由表获取当前正n边形代表的节点的子节点数量m,采用分割线将所述正n边形的内切圆平均分割为m份扇形区域,以每一个分割线的中点为圆心,以所述分割线的一半为直径绘制一个圆,在所述圆中绘制正n边形,形成j阶子分形图;所述圆为该正n边形的内切圆;
28.其中,n值根据所述分布式系统的监控维度确定,t表示所述分布式系统的节点层级数;j=1,2,

t

1。
29.进一步地,所述监控维度包括cpu资源、内存资源、磁盘资源和gpu资源,所述监控信息包括资源的占用率和资源的状态。
30.进一步地,所述监控信息显示模块采用以下步骤显示监控信息:
31.基于图形索引在所述正多边形分形图中查找所述运行节点对应的子分形图;
32.以所述子分形图的边长乘以所述资源的占用率为监控信息显示线的长度,以所述资源的状态等级对应的颜色为监控信息显示线的颜色,在所述资源对应的子分形图的边线位置绘制所述监控信息显示线。
33.进一步地,采用opengl或directx图形api绘制所述分形图。
34.本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
35.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
36.图1为本发明实施例提供的分布式系统的可视化监控方法的流程图;
37.图2为本发明实施例提供的分布式系统的可视化监控系统的结构框图;
38.图3为本发明实施例提供的分形图示意图。
具体实施方式
39.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
40.分布式系统已经成为当前云计算、云存储、智能计算中心的核心底层框架。基于hadoop、spark等分布式存储、计算框架已经能够集成网络传输、负载均衡、ai处理等多项传统的复杂任务,其底层设计全面性、复杂性也远超之前的各种分布式系统。
41.分布式系统的可视化监测成为当前分布式系统管理的一项重要研究。目前对分布式系统的可视化监控主要采用建立环状图、折线图、柱状图、气泡图等3

5维度可视化图表的形式显示监控信息,这种采用多图表方式的可视化监控方式会割裂整体的运行状态,不但单一图表信息提供不全,而且用户在观测1幅图表的同时,会忽略其他部分,万一有异常状态会导致系统调控不及时,造成严重的后果。
42.基于此,本技术的一个具体的实施例公开了一种分布式系统的可视化监控方法,采用分形图在一张图表中整体性的显示分布式系统的监控信息,不仅能显示节点间的从属关系,而且可以全面的显示分布式系统的每个节点的运行状态,方便监控人员对系统进行监控,可及时发现系统出现的异常状态。如图1所示,方法包括以下步骤:
43.s1、根据所述分布式系统的节点路由表,获取所述分布式系统的节点层级,采用正多边形分形图表示所述分布式系统的节点层级结构,所述分形图中的一个子分形图对应所述分布式系统的一个节点,每个子分形图采用虚线绘制。
44.分布式系统通常采用主从式结构,可能是两层级结构也可能是多层级结构,分布式系统的主节点中维护着其下级从节点信息,因此,根据主节点的路由信息表获取其下层从节点的信息,从而获取整个分布式系统的节点层级结构。
45.分形图形的局部与它的整体具有一定程度的相似关系,即父图像与子图像的结构
相似,但子图像是父图像的一部分。通过递归的方式,理论上可对分形图进行无限层级的绘制,因此适用于表示分布式系统的节点层级结构。分形图中的每个子分形对应分布式系统的一个节点。通过父子分形图可清楚表示节点的附属层级,同时每个子图与父图结构相似,每个子图能显示的信息维度与父图相同,并且由于子图是父图的一部分,因此可以在一幅图中显示所有监控信息,从而可以整体的监控分布式系统的运行状态,不会因对监控信息进行割裂显示而造成监控遗漏的问题。
46.具体的,根据监控的维度确定正多边形的边数。通常分布式系统的监控维度包括cpu资源、内存资源、磁盘资源和gpu资源,对这些资源的监控可以获取的监控信息包括资源的占用率以及资源的状态。监控维度也可包括其他维度,例如网络资源、jvm资源等,根据监控维度的不同,获取对应的监控信息。
47.主流的分布式系统都包括有监控接口,可通过监控接口获取上述监控信息。例如hadoop的http监控端口或jmx端口。也可通过第三方监控工具提供的监控接口获得监控信息,例如ganglia工具。将正多边形的每个边对应一个监控维度,获取的监控信息可以显示为正多边形的边线信息,从而在一个图形中显示多个维度的监控信息。
48.采用正n边形表示所述节点层级结构的最上层节点,形成零阶子分形图;
49.对第j

1阶的子分形图中的每一个正n边形,根据所述节点路由表获取当前正n边形代表的节点的子节点数量m,采用分割线将所述正n边形的内切圆平均分割为m份扇形区域,以每一个分割线的中点为圆心,以所述分割线的一半为直径绘制一个圆,在所述圆中绘制正n边形,形成j阶子分形图;所述圆为该正n变形的内切圆;
50.其中,n值根据所述分布式系统的监控维度确定,t表示所述分布式系统的节点层级数;j=1,2,

t

1。
51.示例性的,以4个监控维度为例进行说明。首先在监控界面绘制一个正四边形,以此正四边形表示分布式系统的最上层的主节点,形成零阶子分形图。记录该正四边形图的图形索引及其对应的节点信息。
52.若最上层主节点有5个从节点,将零阶子分形图的正四边形的内切圆平均分割为5个扇形区域,以每个分割线的中点为圆心,以分割线长度的一半为直径,绘制小圆形,以该小圆形为内切圆,绘制正四边形,形成一阶子分形图,实施时,也可以以该小圆形为外接圆绘制正四边形。一阶子分形图的每个正四边形表示一个从节点,记录每个正四边形的图索引及对应的节点信息。
53.依照上述步骤类推,形成表示分布式系统静态结构的分形图。之所以是静态结构,是因为在分布式系统中虽然架构多个节点,对于每一个任务,是将其拆分为多个子任务,将子任务分布运行在不同的节点,对于一个分布式任务,并非所有节点都在运行其子任务,因此,在步骤s1中,将分形图中的所有子分形图绘制为虚线,表示节点还未运行子任务的状态。当节点中分配了子任务后,将节点对应的子图形绘制为实线,从而清晰的展示分布式系统的节点任务运行情况。
54.实施时,可以采用opengl或directx图形api绘制所述分形图。
55.s2、获取分布式系统当前任务的子任务信息和资源分配信息,基于所述子任务信息和资源分配信息,获取每个子任务的运行资源对应的运行节点,在所述分形图中查找所述运行节点,将所述运行节点对应的子分形图绘制为实线图。
56.分布式系统是将任务分割为子任务,将子任务根据分配调度策略分配在不同的节点上运行,一个子任务可能运行在多个节点上。分布式系统的任务调度管理中心会维护每个任务的分割信息以及节点分配信息。例如某个任务的某个子任务运行在某个(些)节点上。一个子任务的数据可能存储在一个节点上,但计算可能在另一个节点执行,即两个或多个节点配合执行一个子任务。当运行一个任务时,从任务调度管理中心的当前任务的子任务信息和节点分配信息,从而获得每个子任务对应的运行节点。在分形图中根据图索引和节点信息查询运行节点对应的子分形图,将该子分形图的绘制为实线,以此表示需要该节点运行任务。从而方便监控人员清楚完整的看到系统中哪些节点在运行任务,从而对其进行监控。
57.实施时,也可将不同子任务对应的运行节点填充为不同的颜色,从而方便监控人员进行监控,填充色应该与表示监控信息的颜色不相同。
58.s3、实时获取每个运行节点的监控信息,基于所述监控信息,在所述运行节点对应的子分形图的边线上绘制显示所述监控信息。
59.具体的,可通过分布式系统自带的监控接口或第三方监控工具获取每个运行节点的监控信息。
60.基于图形索引在所述正多边形分形图中查找所述运行节点对应的子分形图。
61.以所述子分形图的边长乘以所述资源的占用率为监控信息显示线的长度,以所述资源的状态等级对应的颜色为监控信息显示线的颜色,在所述资源对应的子分形图的边线位置绘制所述监控信息显示线。
62.具体的,根据图索引可查询到运行节点对应的子分形图信息,例如获取子分形图的顶点坐标、边长等信息。示例性的,若四边形的最下边表示磁盘资源,如图3所示,以子分形图p1的边长乘以磁盘的占用率作为监控信息显示线的长度,以磁盘的状态等级对应的颜色为监控信息显示线的颜色,磁盘的状态可根据实际监控需要分成不同的等级,例如根据磁盘的坏道数量等级分为正常normal、warning、alert,分别采用绿色、黄色、红色表示。内存读写率与比照正常值的比率确定状态等级,gpu和cpu可以按照其排队(轮询)处理任务的数量来确定状态等级。例如有10个线程排队为warning状态,有100个以上线程排队为alert状态。
63.实施时,最高级的异常也可采用高频闪烁的方式进行表达,闪烁频率为初次信号发出的时间到现在时间的时间差(以分钟计)的倒数,这样意味着异常越久,闪烁频率越高,即一定的频率将监控信息显示线绘制为不同的颜色,从而帮助监控人员及时发现异常信息,进而确保系统可以稳定运行。
64.若需要查看每个子群中的节点监控信息,可通过鼠标滚动,放大局部图像,从而方便的查看监控信息。
65.基于分形理论,分布式系统的节点结构无限扩充时,可以在一张图内同时显示网络结构、工作群组、各工作节点各类资源的运行状态,增强了运营者对系统实时状态的监控能力。
66.另一方面,本发明实施例提供了一种分布式系统的可视化监控系统,包括以下模块:
67.初始分形图生成模块,用于根据所述分布式系统的节点路由表,获取所述分布式
系统的节点层级,采用正多边形分形图表示所述分布式系统的节点层级结构,所述分形图中的一个子分形图对应所述分布式系统的一个节点,每个子分形图采用虚线绘制;
68.运行状态显示模块,用于获取分布式系统当前任务的子任务信息和资源分配信息,基于所述子任务信息和资源分配信息,获取每个子任务的运行资源对应的运行节点,在所述分形图中查找所述运行节点,将所述运行节点对应的子分形图绘制为实线图;
69.监控信息显示模块,用于实时获取每个运行节点的监控信息,基于所述监控信息,在所述运行节点对应的子分形图的边线上绘制显示所述监控信息。
70.优选的,所述初始分形图生成模块采用以下方法生成正多边形分形图:
71.采用正n边形表示所述节点层级结构的最上层节点,形成零阶子分形图;
72.对第j

1阶的子分形图中的每一个正n边形,根据所述节点路由表获取当前正n边形代表的节点的子节点数量m,采用分割线将所述正n边形的内切圆平均分割为m份扇形区域,以每一个分割线的中点为圆心,以所述分割线的一半为直径绘制一个圆,在所述圆中绘制正n边形,形成j阶子分形图;所述圆为该正n边形的内切圆;
73.其中,n值根据所述分布式系统的监控维度确定,t表示所述分布式系统的节点层级数;j=1,2,

t

1。
74.优选的,所述监控维度包括cpu资源、内存资源、磁盘资源和gpu资源,所述监控信息包括资源的占用率和资源的状态。
75.优选的,所述监控信息显示模块采用以下步骤显示监控信息:
76.基于图形索引在所述正多边形分形图中查找所述运行节点对应的子分形图;
77.以所述子分形图的边长乘以所述资源的占用率为监控信息显示线的长度,以所述资源的状态等级对应的颜色为监控信息显示线的颜色,在所述资源对应的子分形图的边线位置绘制所述监控信息显示线。
78.优选的,采用opengl或directx图形api绘制所述分形图。
79.上述方法实施例和系统实施例,基于相同的原理,其相关之处可相互借鉴,且能达到相同的技术效果。具体实施过程参见前述实施例,此处不再赘述。
80.本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
81.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1