本发明涉及云平台告警,尤其涉及一种多云服务下的统一告警方法、系统、设备及介质。
背景技术:
1、市面上存在大量的公有云和私有云业务建设,每个云都有不同的用户账号体系和告警通知方式和格式,很难进行告警统计和分析并提前发现问题,告警的可读性也较差,不能直观的快速识别故障问题;并且一旦漏配或者告警通知不到位,就会引起业务重大的损失,这对于运维人员和开发人员造成了很大的困扰,使用的云厂商越多的时候,这种人力成本就显得越发的突出。
技术实现思路
1、本发明的目的在于提供一种多云服务下的统一告警方法、系统、设备及介质,统一进行告警信息加工和处理,和内部现有资源进行打通识别,丰富告警信息,以解决上述现有技术问题的至少之一。
2、第一方面,本发明提供了一种多云服务下的统一告警方法,所述方法具体包括:
3、为每个云平台配置统一的webhook接口,根据webhook管理平台通过所述webhook接口获取每个云平台的告警消息;
4、对所述告警消息进行倒排索引后通过哈希运算生成签名串,将所述告警消息和所述签名串进行校验后发送至消息队列组件;
5、从所述消息队列组件中获取所述告警消息,根据所述告警消息的内容确定对应的接收人员,将所述告警消息进行信息加工后通过告警渠道推送给所述接收人员。
6、进一步地,所述为每个云平台配置统一的webhook接口,具体包括:
7、确定第一云平台集合和第二云平台集合,所述第一云平台集合中每个第一云平台为公有云平台,所述第二云平台中每个第二云平台为私有云平台;
8、在每个第一云平台的告警通知设置中配置webhook地址,根据所述webhook地址连接webhook接口;
9、为每个第二云平台创建统一的告警sdk,基于所述告警sdk为每个第二云平台配置与所述webhook接口的连接。
10、进一步地,所述为每个第二云平台创建统一的告警sdk,具体包括:
11、创建告警sdk,在所述告警sdk中基于跨语言框架设置通用接口函数和身份验证函数;
12、根据所述通用接口函数和身份验证函数使所述告警sdk与每个第二云平台实现数据交互;
13、在所述告警sdk中配置所述webhook地址,通过所述webhook地址使每个第二云平台与所述webhook接口连接;
14、在所述告警sdk中设置第一消息结构,所述第一消息结构包括若干个告警字段;
15、基于所述告警sdk,获取所述第二云平台的告警数据,将所述告警数据通过所述第一消息结构组装为所述告警消息。
16、进一步地,所述webhook管理平台的创建步骤包括:
17、设置webhook配置项,根据所述webhook配置项创建、配置所述webhook接口;
18、设置消息队列配置项,在所述消息队列配置项中输入所述消息队列的代理服务器信息;
19、创建webhook数据库表,根据所述webhook数据库表存储所述webhook接口每次被触发时的记录,生成webhook记录日志;
20、设置告警消息屏蔽组件,根据所述告警消息屏蔽组件对触发告警风暴事件的告警消息进行屏蔽。
21、进一步地,所述根据所述告警消息屏蔽组件对触发告警风暴事件的告警消息进行屏蔽,具体包括:
22、基于所述告警消息屏蔽组件,检测每个告警消息在有效时间内的发送数量;
23、当所述告警消息在有效时间内的发送数量超过预设数量时,将所述告警消息对应的签名串的哈希值存储到数据库redis;
24、当从所述消息队列组件中获取每条告警消息时,判断当前告警消息对应的签名串的哈希值是否有出现在所述数据库redis内,如判断为是,将当前告警消息通过所述告警消息屏蔽组件进行屏蔽。
25、进一步地,所述方法还包括:
26、根据多个云平台对第一机器资源进行监控,并为每个云平台设置通知优先级;
27、当所述第一机器资源出现异常且所述通知优先级最高的云平台无法成功发送所述告警消息时,根据所述通知优先级的高低排序更换云平台重新进行所述告警消息的发送,直到将所述告警消息发送至所述webhook接口。
28、进一步地,所述方法还包括根据统一告警分析面板对统一告警数据进行分析展示;所述根据统一告警分析面板对统一告警数据进行分析展示,具体包括:
29、将所有的告警消息存储到数据库mysql,整合为统一告警数据;
30、创建统一告警分析面板,根据不同的分析模式通过可视化工具将所述统一告警数据转换为告警分析图表;
31、对所述统一告警数据的若干个告警消息进行相关性分析,确定多个告警消息组,每个告警消息组包括一个父告警消息以及若干个子告警消息。
32、第二方面,本发明提供了一种多云服务下的统一告警系统,所述系统具体包括:
33、告警获取模块,用于为每个云平台配置统一的webhook接口,根据webhook管理平台通过所述webhook接口获取每个云平台的告警消息;
34、告警排队模块,用于对所述告警消息进行倒排索引后通过哈希运算生成签名串,将所述告警消息和所述签名串进行校验后发送至消息队列组件;
35、告警推送模块,用于从所述消息队列组件中获取所述告警消息,根据所述告警消息的内容确定对应的接收人员,将所述告警消息进行信息加工后通过告警渠道推送给所述接收人员。
36、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器及存储在存储器上的计算机程序,当所述计算机程序在处理器上被执行时,实现如上述方法中任一项所述的多云服务下的统一告警方法。
37、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,实现如上述方法中任一项所述的多云服务下的统一告警方法。
38、与现有技术相比,本发明具有以下技术效果的至少之一:
39、1、统一进行告警信息加工和处理,和内部现有资源进行打通识别,丰富告警信息。
40、2、统一管理和收集云上、云下各种产品告警信息源,只需要填入告警的webhook即能各云可用,不需要配置大量的账号专门进行告警推送绑定。
41、3、通过统一的告警分析面板,可以帮助业务方提前发现和识别业务风险。
42、4、通过多个云平台监控统一告警信息源,可切换云平台告警通道,保证了告警的可用性。
1.一种多云服务下的统一告警方法,其特征在于,所述方法具体包括:
2.根据权利要求1所述的方法,其特征在于,所述为每个云平台配置统一的webhook接口,具体包括:
3.根据权利要求2所述的方法,其特征在于,所述为每个第二云平台创建统一的告警sdk,具体包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述webhook管理平台的创建步骤包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述告警消息屏蔽组件对触发告警风暴事件的告警消息进行屏蔽,具体包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括根据统一告警分析面板对统一告警数据进行分析展示;所述根据统一告警分析面板对统一告警数据进行分析展示,具体包括:
8.一种多云服务下的统一告警系统,其特征在于,所述系统具体包括:
9.一种计算机设备,其特征在于,包括:存储器和处理器及存储在存储器上的计算机程序,当所述计算机程序在处理器上被执行时,实现如权利要求1至7中任一项所述的多云服务下的统一告警方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求1至7中任一项所述的多云服务下的统一告警方法。