本发明涉及故障测试,特别是指一种故障演练方法、装置、设备、终端设备及存储介质。
背景技术:
1、现有的故障测试方法主要针对特定场景(如kubernetes集群应用)实现,能够针对大规模的分布式系统场景进行分析和建模,虽能实现自动化混沌测试。但是在原子故障场景能力上提供不足,且故障测试点与可度量指标的对应关系无法自动化获取并分析。因此,现有的故障测试方法无法实现演练场景的自动化配置。
技术实现思路
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、在所述演练场景库中演练场景的数量大于第六预设阈值,或距上次故障演练的时间间隔大于第七预设阈值的情况下,向预设人员发送故障演练请求。
43、进一步地,所述根据所述事件消息创建演练计划,包括:
44、根据所述事件消息对应的错误日志和/或指标异常消息,确定所述演练计划;
45、其中,所述演练计划包括以下至少一项:演练系统、演练时间、演练环境以及参与人员。
46、为达到上述目的,本发明的实施例提供一种故障演练装置,包括:
47、获取模块,用于获取与事件消息的关键字匹配的目标故障事件,所述事件消息为从目标消息队列中提取的消息;所述事件消息包括故障事件消息和/或指标异常消息;
48、更新模块,用于根据所述目标故障事件,对目标故障库中的第一故障事件进行更新;
49、创建模块,用于在所述第一故障事件的数量大于第一预设阈值的情况下,在演练场景库中创建目标演练场景;
50、演练模块,用于根据所述目标演练场景的数量和所述事件消息,进行故障演练。
51、为达到上述目的,本发明的实施例提供一种故障演练设备,包括处理器和收发机,其中,
52、所述收发机用于获取与事件消息的关键字匹配的目标故障事件,所述事件消息为从目标消息队列中提取的消息;所述事件消息包括故障事件消息和/或指标异常消息;
53、所述处理器用于根据所述目标故障事件,对目标故障库中的第一故障事件进行更新;
54、在目标故障库中所述第一故障事件的数量大于第一预设阈值的情况下,在演练场景库中创建目标演练场景;
55、根据所述目标演练场景的数量和所述事件消息,进行故障演练。
56、为达到上述目的,本发明的实施例提供一种终端设备,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现如上所述的故障演练方法。
57、为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的故障演练方法中的步骤。
58、本发明的上述技术方案的有益效果如下:
59、本发明实施例的故障演练方法,通过获取与事件消息的关键字匹配的目标故障事件,能够对目标故障库中第一故障事件的数量进行更新,从而在目标故障库中的第一故障事件的数量大于所述第一预设阈值的情况下,触发目标演练场景的创建,从而能够自动配置演练场景,并根据所述目标演练场景的数量和所述事件消息进行故障演练。解决了现有技术中无法实现演练场景的自动化配置的问题。