本发明涉及分布式集群管理,具体涉及一种集群告警上报方法、装置、设备、介质及程序产品。
背景技术:
1、在海量数据环境下,随着集群规模的不断扩大和复杂度的增加,对于分布式集群的管理和运维要求也变得越来越高和重要。为了实时了解集群的运行状态,监控各个指标成为必不可少的一环,以便在集群产生告警时能够及时向用户推送告警信息。
2、然而相关技术对分布式集群的告警上报处理模式仍存在一些弊端。第一方面:有些告警指标无法自主上报,只能通过定时任务轮询进行监控,由于定时任务的运行可能对集群性能产生影响,相关的定时任务周期通常较长,例如考虑磁盘不在位告警,当磁盘被拔掉后,节点和磁盘本身都无法感知到,在这种情况下,如果等待定时任务触发告警检测,可能导致告警不及时,使集群运维人员无法及时发现集群中已经发生的故障,给集群的维护工作带来麻烦。另一方面,定时任务检测机制缺乏灵活性。如果集群一直正常运行,某个告警项从未触发过告警,但检测定时任务却一直在运行,这可能对集群造成额外的开销,影响集群性能。
技术实现思路
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、第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的集群告警上报方法。
1.一种集群告警上报方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取第一关联字典以及第二关联字典,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述每一个待检测主体的所述历史告警信息以及所述历史缓存信息进行数据分析,得到与每一个所述缓存指标项分别对应的第一告警项,包括:
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述每一个待检测主体所对应的缓存指标项,以及与每一个所述缓存指标项分别对应的第一告警项生成所述第一关联字典,包括:
5.根据权利要求2所述的方法,其特征在于,所述每一个待检测主体之间的关联关系至少包括:每一个待检测主体之间的依赖关系,以及每一个待检测主体之间的从属关系;
6.根据权利要求2或5所述的方法,其特征在于,所述当监测到分布式集群中目标告警主体所对应的所述缓存指标项发生变化时,在所述第一关联字典中查找与所述目标告警主体对应的目标第一告警项,以及在所述第二关联字典中查找与所述目标告警主体对应的目标第二告警项,包括:
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标第一告警项以及所述目标第二告警项确定与所述目标告警主体所对应的一个或多个关联待检测主体,包括:
8.一种集群告警上报装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的集群告警上报方法。
11.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1-7中任一项所述的集群告警上报方法。
