一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种混沌工程平台集成私有云的方法、系统及装置与流程

2022-11-09 21:55:51 来源:中国专利 TAG:


1.本发明涉及集群管理技术领域,尤其是一种混沌工程平台集成私有云的方法、系统及装置。


背景技术:

2.chaosblade是阿里巴巴2019年开源的混沌工程项目,包含混沌工程实验工具chaosblade和混沌工程平台chaosblade-box,旨在通过混沌工程帮助企业解决云原生过程中高可用问题。实验工具chaosblade支持3大系统平台,4种编程语言应用,共涉及200多个实验场景,3000多个实验参数,可以精细化地控制实验范围。混沌工程平台chaosblade-box支持实验工具托管,除已托管chaosblade外,还支持litmuschaos实验工具。
3.混沌工程平台chaosblade-box当前提供了主机和k8s集群维度的机器管理,而实际的应用中,这远远不够,各个公司都有自己的私有云,若想使用混沌工程原生的故障库,则需要对私有云进行纳管,现有技术中缺乏对私有云纳管的通用方法。


技术实现要素:

4.本发明提供了一种混沌工程平台集成私有云的方法、系统及装置,用于解决现有技术中缺乏对私有云纳管通用方法的问题。
5.为实现上述目的,本发明采用下述技术方案:
6.本发明第一方面提供了一种混沌工程平台集成私有云的方法,所述方法包括以下步骤:
7.响应于界面输入的私有云用户信息,将当前私有云用户信息对应的集群内设备信息收集至数据库中,所述设备信息通过私有云开放接口获取;
8.基于预设的故障场景,根据监控主体的独立性,选择环境类型,并基于当前监控主体配置监控策略。
9.进一步地,所述私有云用户信息包括集群ip、集群登录的用户名和密码。
10.进一步地,所述数据库内包括群表和机器表;所述群表存储集群ip、用户名、密码和集群状态信息,所述机器表存储机器类型、所属集群id、集群名称、及其状态和更新时间信息。
11.进一步地,所述将当前私有云用户信息对应的集群内设备信息收集至数据库中的具体过程为:
12.将私有云用户信息写入群表中,基于群表中当前私有云用户信息,分别获取交换机列表信息、存储池列表信息、主机列表信息和虚拟机列表信息,并将获取到的列表信息写入机器表中。
13.进一步地,所述将当前私有云用户信息对应的集群内设备信息收集至数据库中,还包括:
14.设置定时机制,更新机器表内的列表信息。
15.进一步地,所述监控主体为主机,且对当前故障场景的监控过程通过主机本体得到;或所述监控主体为虚拟机,且对当前故障场景的监控过程通过虚拟机本体得到,则当前监控主体独立,否则不独立。
16.进一步地,所述根据监控主体的独立性,选择环境类型,并基于当前监控主体配置监控策略具体为:
17.监控主体独立时,配置当前监控主体无依赖的故障场景监控项;
18.监控主体不独立时,基于故障场景,选择当前监控主体的依赖主体,并配置当前监控主体对应维度的监控项。
19.本发明第二方面提供了一种混沌工程平台集成私有云的系统,所述系统包括:
20.信息采集单元,响应于界面输入的私有云用户信息,将当前私有云用户信息对应的集群内设备信息收集至数据库中,所述设备信息通过私有云开放接口获取;
21.复合场景监控单元,基于预设的故障场景,根据监控主体的独立性,选择环境类型,并基于当前监控主体配置监控策略。
22.本发明第三方面提供了一种混沌工程平台集成私有云的装置,包括混沌平台和私有云,所述装置还包括设置在混沌平台内所述的系统,所述系统在运行时,采集私有云用户信息,并构建复合场景,结合所述复合场景设置对应的监控项。
23.本发明第四方面提供了一种计算机存储介质,所述计算机存储介质中存储有计算机指令,所述计算机指令在所述系统上运行时,使所述系统执行所述方法的步骤。
24.本发明第二方面的所述混沌工程平台集成私有云的系统能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。
25.发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
26.本发明通过混沌工程的输入界面,获取私有云用户信息,基于该信息及私有云的开放接口获取实时的机器信息,将机器作为监控主体,构建监控主体间的复合场景库,并分场景式对纳管私有云进行故障注入,结合场景进行监控项与场景的耦合,实现了混沌工程对私有云的纳管。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是本发明所述方法实施例的流程示意图;
29.图2是本发明所述方法步骤s1的实现流程示意图;
30.图3是本发明所述方法步骤s2的实现流程示意图;
31.图4是本发明所述系统实施例的结构示意图;
32.图5是本发明所述装置实施例的结构示意图。
具体实施方式
33.为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发
明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
34.如图1所示,本发明实施例提供了一种混沌工程平台集成私有云的方法,包括以下步骤:
35.s1,响应于界面输入的私有云用户信息,将当前私有云用户信息对应的集群内设备信息收集至数据库中,所述设备信息通过私有云开放接口获取;
36.s2,基于预设的故障场景,根据监控主体的独立性,选择环境类型,并基于当前监控主体配置监控策略。
37.如图2所示,步骤s1中,通过私有云用户信息将私有云纳管入数据库。
38.界面输入:私有云用户信息包含:集群ip,登录集群所需用户名和密码。
39.所述数据库在混沌工程中,包括群表clusters和机器表machines:群表clusters表中包含id,集群ip,用户名,密码,集群状态;机器表machines中包含id,机器类型,所属集群id,机器名称,机器状态,更新时间。
40.通过界面输入私有云用户信息,将私有云信息写入群表clusters记录一行line,集群状态为正常,其他按照输入参数即可;
41.通过line,调用私有云开放接口进行机器信息收集,调用获取交换机列表信息,写入machines表,每个交换机写入一行信息,具体为:
42.调用获取存储池列表信息,写入machines表,每个存储池写入一行信息;
43.调用获取主机列表信息,写入machines表,每台主机写入一行信息;
44.调用获取虚拟机列表信息,写入machines表,每台虚拟机写入一行信息;
45.在混沌平台设置数据库时,同时设置定时机制,如每30秒,对数据库进行一次数据同步。
46.每30秒,进行clusters表数据遍历,通过数据库中保存的集群ip,用户名,密码来登录环境,若环境可登录,则保持原状态不表,若环境不可登录则状态更新为异常。
47.若状态正常,则进行machines表的交换机、存储池、云主机、虚拟机的同步遍历,将新获取的信息与历史信息进行比较,进行machines表的更新,具体为:
48.比较通过接口重新获取的交换机信息,若一致则进行更新时间的更新,若被删除,则删除该行记录;若信息改变,则更新改变行的数据和更新时间;
49.比较通过接口重新获取的存储池信息,若一致则进行更新时间的更新,若被删除,则删除该行记录;若信息改变,则更新改变行的数据和更新时间;
50.比较通过接口重新获取的云主机信息,若一致则进行更新时间的更新,若被删除,则删除该行记录;若信息改变,则更新改变行的数据和更新时间;
51.比较通过接口重新获取的虚拟机信息,若一致则进行更新时间的更新,若被删除,则删除该行记录;若信息改变,则更新改变行的数据和更新时间。
52.若状态异常,则将machines表的所属该异常集群的交换机、存储池、云主机、虚拟机的状态更新为不可用,并更新时间。
53.步骤s2中,构建cpu、网络、内存、磁盘复合场景库,并从代码层分场景式对纳管私有云进行故障注入,并结合场景进行监控项与场景的耦合。
54.如图2所示,进行故障场景的设置,判断当前故障的监控主体是否独立,若独立,则基于故障场景的选择,配置监控信息。独立基于故障场景判断,如对于主机或虚拟机cpu性能的监控,仅通过主机或虚拟机即可实现,无需依赖其他机器,则称当前故障场景对应的监控主体独立;若不独立,则选择所依赖的环境类型,进行监控项的设置,具体为:
55.若监控主体类型为主机,则选择主机下的虚拟机,选择cpu,内存,磁盘,网络的任意一种,进行故障设置,并通过接口调用主机维度的监控;如故障场景为主机io性能的监控,需要依赖网络,则选择网络进行监控项的设置。
56.若监控主体类型为交换机,则可选择交换机所属主机,并选择所属主机中虚拟机,选择网络,进行故障设置,并通过接口调用选择交换机维度的网络监控;如故障场景为交换容量的监控,涉及数据发送端和接收端,需要依赖主机或虚拟机,则选择主机或虚拟机进行监控项的设置。
57.若监控主体类型为存储池,则可选择存储池所属主机,并选择所属主机中虚拟机,选择存储,进行故障设置,并通过接口调用选择存储维度的磁盘等等的监控。
58.若监控主体类型为虚拟机,则可选择多台虚拟机,并通过所属主机,选择cpu,内存,磁盘,网络的任意一种,进行故障设置,并通过接口调用选择虚拟机、交换机、存储、主机维度的监控。
59.如图4所示,本发明实施例还提供了一种混沌工程平台集成私有云的系统,系统包括信息采集单元1和复合场景监控单元2。
60.信息采集单元1响应于界面输入的私有云用户信息,将当前私有云用户信息对应的集群内设备信息收集至数据库中,所述设备信息通过私有云开放接口获取;复合场景监控单元2基于预设的故障场景,根据监控主体的独立性,选择环境类型,并基于当前监控主体配置监控策略。
61.如图5所示,本发明实施例还提供了一种混沌工程平台集成私有云的装置,包括混沌平台和私有云,所述装置还包括设置在混沌平台内的上述实施例所述的系统,所述系统在运行时,采集私有云用户信息,并构建复合场景,结合所述复合场景设置对应的监控项。
62.本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机指令,所述计算机指令在所述系统上运行时,使所述系统执行所述方法的步骤。
63.本发明上述实施例使用java语言将私有云集成到混沌工程平台,从而更扩宽了混沌平台的适用性。除此之外,打破了混沌平台故障库仅支持独立主机的故障注入限制,从集群维度来管理,这种丰富了混沌平台与私有云产品的结合,其场景更易用且切合实际,从而使混沌平台能有更多的市场。
64.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献