掌桥专利:专业的专利平台
掌桥专利
首页

多集群统一监控告警方法、系统、设备及存储介质

文献发布时间:2023-06-19 10:43:23


多集群统一监控告警方法、系统、设备及存储介质

技术领域

本发明涉及计算机应用技术领域,特别涉及一种多集群统一监控告警方法、系统、设备及存储介质。

背景技术

随着云计算技术的发展,docker+kubernetes(简称k8s)已成为云计算的主流,容器是现代软件交付的主流方式,而k8s是容器集群编排系统的最佳方案,为容器化的应用提供服务发现与调度、负载均衡、服务自愈、存储卷挂载、弹性扩容及缩容等一整套功能,监控、日志、告警是整个运维环节,乃至整个产品中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。

prometheus是一套开源的监控、报警、时间序列数据库的组合框架,现已广泛应用于k8s集群监控系统中,loki是一套开源的日志采集及聚合系统,它的设计具有很高的成本效益,易于操作,广泛应用于k8s集群日志系统中。但是随着k8s集群部署应用与服务的海量增长,必然会根据业务和需求形成多套k8s集群,多套集群的监控、日志、告警都是分散的,难以做到聚合展示,当集群服务出现故障,服务日志出现异常,很难做到及时发现及告警,对监控数据聚合分析和日志数据聚合分析带来一定的挑战。因此,现有技术中缺少一个对多个集群上的海量的应用和服务进行统一监控报警和数据展示的跨集群的解决方案。

发明内容

本公开实施例提供了一种多集群统一监控告警方法、系统、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

第一方面,本公开实施例提供了一种多集群统一监控告警系统,包括:

多个k8s集群,用于采集并存储监控数据以及日志数据;

monitor-logging-server组件,用于管理汇总各个集群的监控数据以及日志数据,并配置告警策略;

rule-job-server组件,用于当监控数据以及日志数据触发告警策略时,发出告警信息;

alertmanager组件,用于接收告警信息,并将告警信息发送给预设联系人;

web页面,用于聚合展示监控数据、日志数据以及告警信息;

其中,monitor-logging-server组件、rule-job-server组件、alertmanager组件、web页面均设置在ops-k8s集群内部。

在一个可选地实施例中,每个k8s集群中安装prometheus监控组件、kube-state-metrics监控组件、node-exporte监控组件、process-exporter监控组件、db-exporter监控组件、blackbox-exporter监控组件、loki日志组件、promtail日志组件。

在一个可选地实施例中,prometheus监控组件用于采集和存储当前集群监控数据;

kube-state-metrics监控组件用于采集当前集群资源监控数据;

node-exporte监控组件用于采集当前集群服务器监控数据;

process-exporter监控组件用于采集当前集群服务器进程监控数据;

db-exporter监控组件用于采集当前集群运行数据库监控数据;

blackbox-exporter监控组件用于采集当前集群服务网络及黑盒探针监控数据;

loki日志组件用于采集和存储当前集群日志数据;

promtail日志组件用于采集当前集群运行服务日志数据。

在一个可选地实施例中,还包括:

多个独立主机,用于采集并存储多个独立主机的监控数据以及日志数据。

在一个可选地实施例中,monitor-logging-server组件还用于安装独立主机监控数据采集端以及日志数据采集端,将采集端服务注册到ops-k8s集群中,用于采集、存储、聚合独立主机的监控数据和日志数据。

在一个可选地实施例中,monitor-logging-server组件还用于提供统一数据查询及操作入口,聚合查询不同集群、不同独立主机的监控数据以及日志数据。

在一个可选地实施例中,web页面还用于管理告警策略以及管理告警联系人信息。

第二方面,本公开实施例提供了一种多集群统一监控告警方法,包括:

通过多个k8s集群采集并存储监控数据以及日志数据;

通过monitor-logging-server组件管理汇总各个集群的监控数据以及日志数据,并配置告警策略;

通过rule-job-server组件判断监控数据以及日志数据是否触发告警策略,并在触发告警策略时发出告警信息;

通过alertmanager组件接收告警信息,并将告警信息发送给预设联系人;

通过web页面聚合展示监控数据、日志数据以及告警信息;

其中,monitor-logging-server组件、rule-job-server组件、alertmanager组件、web页面均设置在ops-k8s集群内部。

第三方面,本公开实施例提供了一种多集群统一监控告警设备,包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行上述实施例提供的多集群统一监控告警方法。

第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以实现上述实施例提供的一种多集群统一监控告警方法。

本公开实施例提供的技术方案可以包括以下有益效果:

本公开实施例提供的多集群统一监控告警系统,通过monitor-logging-server组件管理多个k8s集群监控数据以及日志数据,并可以管理独立主机监控数据以及日志数据,监控日志维度更广,有利于发现问题及排查问题,可以通过web页面实时聚合查询不同集群监控数据及日志数据,还可以统一监控告警策略配置及日志告警策略配置,实时触发告警信息,让集群监控和日志信息展示更清晰和明确,大大增强了数据处理的时效性,增强了业务人员便捷性,降低了系统维护成本。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种多集群统一监控告警系统的结构示意图;

图2是根据一示例性实施例示出的一种集群组件的结构示意图;

图3是根据一示例性实施例示出的一种多集群统一监控告警方法的流程示意图;

图4是根据一示例性实施例示出的一种多集群统一监控告警设备的结构示意图;

图5是根据一示例性实施例示出的一种计算机存储介质的示意图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本公开实施例提供的多集群监控日志数据聚合展示,自定义筛选不同集群监控数据以及日志数据,方便快捷展示监控数据以及日志数据,提供统一监控日志告警策略的配置,精细化配置告警联系人及告警方式,及时准确触发告警,提供主机监控日志采集端管理,监控日志数据收集,不限制于k8s集群,监控日志维度更广,有利于发现问题及排查问题,降低了系统的维护成本。

下面将结合附图1-附图2,对本申请实施例提供的多集群统一监控告警系统进行详细介绍。参见图1,该系统具体包括以下结构。

多个k8s集群,用于采集并存储监控数据以及日志数据。

本公开实施例中的多集群统一监控告警系统,包括多个kubernete集群,简称k8s集群,用于采集并存储监控数据以及日志数据。

图2是根据一示例性实施例示出的一种集群组件的结构示意图,如图2所示,每个k8s集群中安装prometheus监控组件、kube-state-metrics监控组件、node-exporte监控组件、process-exporter监控组件、db-exporter监控组件、blackbox-exporter监控组件、loki日志组件、promtail日志组件。每个组件可采用helm chart形式安装。

其中,prometheus监控组件用于采集和存储当前集群监控数据;kube-state-metrics监控组件用于采集当前集群资源监控数据;node-exporte监控组件用于采集当前集群服务器监控数据;process-exporter监控组件用于采集当前集群服务器进程监控数据;db-exporter监控组件用于采集当前集群运行数据库监控数据;blackbox-exporter监控组件用于采集当前集群服务网络及黑盒探针监控数据;loki日志组件用于采集和存储当前集群日志数据;promtail日志组件用于采集当前集群运行服务日志数据。通过在各个集群中设置上述组件,可以采集各个集群的监控数据以及日志数据。

在一种可能的实现方式中,prometheus监控组件用于采集和存储集群监控数据,可根据硬盘大小,灵活设置存储时间,例如,设置存储时间为15天。loki日志组件用于采集和存储集群日志数据,可根据硬盘大小,灵活设置存储时间,例如,设置存储时间为15天。

本公开实施例中的系统还包括预设的monitor-logging-server组件,通过monitor-logging-server组件,可以统一管理汇总各个集群的监控数据以及日志数据,还可以提供数据查询及操作入口,例如,通过monitor-logging-server组件,可以将各个k8s集群的监控数据以及日志数据汇总聚合到一起,还可以查询一部分集群的监控数据和日志数据,页面可自定义筛选不同集群信息,大大提高了业务人员的操作便捷性。

进一步地,还可以通过monitor-logging-server组件统一配置监控数据、日志数据的告警策略,其中,告警策略包括告警规则、告警联系人、告警方式等。在一种可能的实现方式中,通过monitor-logging-server组件配置每种数据的告警规则,并为每个规则配置对应的告警联系人,例如,配置联系人的姓名信息、电话信息、邮箱信息、微信信息、部门信息等。还可以配置告警方式,例如当触发告警信息时,可以选择给告警联系人发短信、发微信、发邮件等告警方式。monitor-logging-server组件还可以设置告警策略的有效时长,持久化告警策略数据到数据库。

进一步地,本公开实施例中的多集群统一监控告警系统,不仅可以管理多个集群的监控数据和日志数据,还可以管理多个独立主机的监控数据和日志数据。

在一种可能的实现方式中,本公开实施例中的系统还包括多个独立主机,例如包括linux主机、windows主机,多个独立主机与多个k8s集群是并列的关系。通过monitor-logging-server组件可以管理各个独立主机的监控数据以及日志数据。

具体地,可以通过monitor-logging-server组件安装独立主机监控数据采集端及日志数据采集端,并将采集端服务注册到operations-kubernetesops集群中,简称ops-k8s集群,收集、存储、聚合独立主机监控数据及日志数据。根据该步骤,实现对独立主机的监控数据和日志数据的管理,不限制于k8s集群,监控日志维度更广,有利于发现问题及排查问题。

进一步地,本公开实施例中的系统还包括预设的rule-job-server组件,用于当监控数据以及日志数据触发告警策略时,发出告警信息。

具体地,rule-job-server组件可以实时处理告警策略,判断系统中的监控数据以及日志数据是否触发预设的告警策略,当触发告警策略时,自动发出告警信息。例如,当rule-job-server组件检测到某条监控数据触发某条告警策略时,可以将该条监控数据的信息以及触发的告警策略的信息一起发送给alertmanager组件,告知alertmanager组件该条监控数据异常。根据该组件,可以及时发现并告警故障的监控数据或日志数据。

进一步地,本系统还包括alertmanager组件,用于接收告警信息,并将告警信息发送给预设联系人。

具体地,alertmanager组件可以接收rule-job-server组件发送过来的告警信息,并根据已定义的告警联系人及告警方式,实时将告警信息发送给告警联系人。

进一步地,本系统还包括web页面,用于聚合展示监控数据、日志数据以及告警信息。

现有技术中,多套集群的监控、日志、告警都是分散的,难以做到聚合展示,当集群服务出现故障,服务日志出现异常,很难做到及时发现及告警,对监控数据聚合分析和日志数据聚合分析带来一定的挑战。

本公开实施例中的多集群统一监控告警系统,可以通过web页面聚合展示多个k8s集群的监控数据、日志数据,多个独立主机的监控数据和日志数据,还可以聚合展示已触发的告警信息,便于业务人员及时发现问题、分析问题。

可选地,业务人员还可以通过web页面管理告警策略,例如,通过web页面添加、删除、编辑、查询告警联系人信息,例如业务人员可以通过web页面修改告警联系人的名称、邮箱、电话、部门、钉钉等信息。

可选地,当告警策略触发之后,monitor-logging-server组件可以保存告警记录信息,业务人员可以通过web页面展示查询已触发告警信息。

在一种可能的实现方式中,monitor-logging-server组件、rule-job-server组件、alertmanager组件、web页面均设置在operations-kubernetesops集群内部,简称ops-k8s集群。其中,ops-k8s集群是统一控制集群,用于实现对各集群的统一管理,而k8s集群是独立的集群。

根据本公开实施例提供的多集群统一监控告警系统,可以管理多个k8s集群监控数据以及日志数据,并可以管理独立主机监控数据以及日志数据,监控日志维度更广,有利于发现问题及排查问题,可以通过web页面实时聚合查询不同集群监控数据及日志数据,还可以统一监控告警策略配置及日志告警策略配置,实时触发告警信息,让集群监控和日志信息展示更清晰和明确,大大增强了数据处理的时效性,增强了业务人员便捷性,降低了系统维护成本。

本公开实施例还提供了一种多集群统一监控告警方法,如图3所示,该方法主要包括以下步骤:

S301通过多个k8s集群采集并存储监控数据以及日志数据;

S302通过monitor-logging-server组件管理汇总各个集群的监控数据以及日志数据,并配置告警策略;

S303通过rule-job-server组件判断监控数据以及日志数据是否触发告警策略,并在触发告警策略时发出告警信息;

S304通过alertmanager组件接收告警信息,并将告警信息发送给预设联系人;

S305通过web页面聚合展示监控数据、日志数据以及告警信息;其中,monitor-logging-server组件、rule-job-server组件、alertmanager组件、web页面均设置在ops-k8s集群内部。

需要说明的是,上述实施例提供的多集群统一监控告警系统在执行多集群统一监控告警方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多集群统一监控告警系统与多集群统一监控告警方法实施例属于同一构思,其体现实现过程详见系统实施例,这里不再赘述。

本公开实施例还提供一种与前述实施例所提供的多集群统一监控告警方法对应的电子设备,以执行上述多集群统一监控告警方法。

请参考图4,其示出了本申请的一些实施例所提供的一种电子设备的示意图。如图4所示,电子设备包括:处理器400,存储器401,总线402和通信接口403,处理器400、通信接口403和存储器401通过总线402连接;存储器401中存储有可在处理器400上运行的计算机程序,处理器400运行计算机程序时执行本申请前述任一实施例所提供的多集群统一监控告警方法。

其中,存储器401可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口403(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。

总线402可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器401用于存储程序,处理器400在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的多集群统一监控告警方法可以应用于处理器400中,或者由处理器400实现。

处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器400可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成上述方法的步骤。

本申请实施例提供的电子设备与本申请实施例提供的多集群统一监控告警方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。

本申请实施例还提供一种与前述实施例所提供的多集群统一监控告警方法对应的计算机可读存储介质,请参考图5,其示出的计算机可读存储介质为光盘500,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施例所提供的多集群统一监控告警方法。

需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的多集群统一监控告警方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 多集群统一监控告警方法、系统、设备及存储介质
  • 分布式存储集群的统一管理方法、系统、设备及存储介质
技术分类

06120112657561