CN113377626A - 基于服务树的可视化统一报警方法、装置、设备和介质 - Google Patents
基于服务树的可视化统一报警方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN113377626A CN113377626A CN202110916619.7A CN202110916619A CN113377626A CN 113377626 A CN113377626 A CN 113377626A CN 202110916619 A CN202110916619 A CN 202110916619A CN 113377626 A CN113377626 A CN 113377626A
- Authority
- CN
- China
- Prior art keywords
- alarm
- message
- service
- alarm notification
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 235000010425 Sorbus domestica Nutrition 0.000 title claims abstract description 71
- 240000005332 Sorbus domestica Species 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000000007 visual effect Effects 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 64
- 230000015654 memory Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 238000012800 visualization Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 claims description 6
- 230000000593 degrading effect Effects 0.000 claims description 4
- 235000019580 granularity Nutrition 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract description 14
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 230000008859 change Effects 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 241000529895 Stercorarius Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 241000894007 species Species 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供的一种基于服务树的可视化统一报警方法、装置、设备和介质,通过接收报警管理器的一或多个报警通知消息;对所述报警通知消息进行标准化处理以获取有效消息,同时解析报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将业务服务树添加至标准化处理后的报警通知消息;将标准化处理后的报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费。本申请提供了友好的前端配置页面,降低用户使用Prometheus的AlertManager报警通知管理模块的学习成本,避免人工配置出错;提供告警升级和通知人的变更,有助于监控告警在企业内的普及;实现了报警话题、报警内容、报警渠道、报警订阅的统一处理。
Description
技术领域
本发明涉及微服务技术领域,特别是涉及一种基于服务树的可视化统一报警方法、装置、设备和介质。
背景技术
微服务架构是目前各大互联网公司普遍采用的软件架构方式。在微服务架构中,***被拆分为多个小的、相互独立的服务,这些服务运行在自己的进程中,可以独立的开发和部署。在业务快速变化时,微服务单一职责、自治的特点,使***的边界更加清晰,提升了***的可维护性;同时,简化了***部署的复杂度,可以针对某个微服务单独升级和发布;在业务增长时,也可以方便的进行独立扩展。微服务架构虽然带来了很多好处,但也带来了新的问题。
在以往的单体应用中,排查问题往往通过查看日志定位错误信息和异常堆栈;但是在微服务架构中服务繁多,出现问题时的问题定位变得非常困难。另外,微服务往往通过组合已有的服务来创建新服务,一个服务的故障很可能会产生雪崩效应,导致整个***的不可用。
因此,如何监控微服务的运行状况,当出现异常时能快速准确地给出相应报警,通知对应的业务开发和运维人员,就变得极其重要。
当前支撑微服务的底层基础设施是如Kubernetes(一种生产级别的容器编排***)容器编排和Service Mesh(服务网格,一种用于服务间通信的基础设施技术架构)服务治理等云原生应用,而业界普遍使用基于Prometheus(普罗米修斯)搭建的微服务监控报警***,来实现对微服务的全面监控和统一报警。
微服务的监控使用Prometheus搭配Grafana(一个开源的指标量监测和可视化工具)的技术方案已经相对成熟和完善,而监控数据的报警依赖于Prometheus的告警通知***AlertManager(Prometheus的告警通知管理模块),在使用AlertManager时在存在以下问题。
1)需要修改Prometheus配置文件,将AlertManager与Prometheus相关联,同时AlertManager无法实现告警升级,不支持获取动态指标值,无法动态获取指标标签,所有问题总结起来说明Prometheus和AlertManager的报警配置不够方便灵活,需要频繁变更配置文件,同时学习成本较高,不利于监控告警在企业内的普及。
2)而且在面对庞大的微服务数量时,现有技术对企业内所有Prometheus***采用统一的基于AlertManager的报警策略,无法适应企业复杂多变的业务报警需求,比如企业内各个开发小组所需的监控报警规则配置不同,被监控应用不同,报警通知等级和人员也会不同,而现有技术仅提供AlertManager的报警配置能力,没有提供扩展其报警***的接口,可扩展性不强。
3)另外,针对数以百计的微服务,接收到报警消息后,如何根据调用关系,时序关系,合理的进行报警消息聚合,展示和自动化处理,这些都是实际业务中的痛点和难点。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种基于服务树的可视化统一报警方法、装置、设备和介质,以解决现有技术中的问题。
为实现上述目的及其他相关目的,本申请提供一种基于服务树的可视化统一报警方法,所述方法包括:接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器;对所述报警通知消息进行标准化处理以获取有效消息,同时解析所述报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将所述业务服务树添加至标准化处理后的所述报警通知消息;将标准化处理后的所述报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费;启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
于本申请的一实施例中,所述警报通知消息的实体包括:源头、环境、类型、节点、及标签中任意一种或多种组合。
于本申请的一实施例中,所述方法还包括:根据所述业务服务树的各层级动态化的自动生成对应所述业务服务树各层级的报警状态页面,并通过可视化展示;在可视化的所述业务服务树的报警状态页面上,提供报警等级、报警通道的配置、及更新功能,以供微服务的各开发运维人员可自行配置订阅所需的报警消息。
于本申请的一实施例中,所述方法还包括:当接收到报警通知消息的状态为触发时,所述报警状态页面上对应所述业务服务树的节点面板的状态变红,且数值随着收到的不同的报警通知消息数量的增加而增加;当接收到报警通知消息的状态为处理完成时时,数值随者收到的不同的报警通知消息数量的增加而减少;当数值为零值时,所述报警状态页面上对应所述业务服务树的节点面板的状态变绿。
于本申请的一实施例中,所述方法还包括:根据标准化后的各所述报警通知消息的类型,调用相应的故障处理服务接口,以提供报警故障自愈处理功能。
于本申请的一实施例中,所述方法还把包括:将所述报警通知消息按照一定的格式样式推送到注册配置的报警通道;所述报警通道包括:企业微信、钉钉、邮件、及SMS中任意一种;同一类型的所述报警通道按业务服务树所创建的不同群或组别进行区分;其中,所述群可对应到所述服务树上的任意节点,以提供不同颗粒度的报警通知消息的通知控制。
于本申请的一实施例中,所述方法还包括:基于云原生服务注册中心和服务拓扑工具,实时获取各微服务调用关系;按时序接收到各微服务的报警调整消息,并结合拓扑图,以迅速定位事故源及影响服务。
于本申请的一实施例中,所述方法还包括:根据报警严重等级和范围,采取相应的报警处理策略,以达到微服务集群故障快速恢复;其中,所述报警处理策略包括:限流、熔断、降级、弹扩、及重启中任意一种或多种组合。
为实现上述目的及其他相关目的,本申请提供一种基于服务树的可视化统一报警***,所述***包括:接收模块,用于接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器;处理模块,用于对所述报警通知消息进行标准化处理以获取有效消息,同时解析所述报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将所述业务服务树添加至标准化处理后的所述报警通知消息;将标准化处理后的所述报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费;消费者模块,用于启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
为实现上述目的及其他相关目的,本申请提供一种计算机设备,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如上所述的方法。
为实现上述目的及其他相关目的,本申请提供一种计算机可读存储介质,存储有计算机指令,所述计算机指令被运行时执行如上所述的方法。
综上所述,本申请的一种基于服务树的可视化统一报警方法、装置、设备和介质,通过接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器;对所述报警通知消息进行标准化处理以获取有效消息,同时解析所述报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将所述业务服务树添加至标准化处理后的所述报警通知消息;将标准化处理后的所述报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费;启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
具有以下有益效果:
本申请提供了友好的前端配置页面,降低用户使用Prometheus的AlertManager报警通知管理模块的学习成本,避免人工配置出错;提供告警升级和通知人的变更,有助于监控告警在企业内的普及;实现了报警话题、报警内容、报警渠道、报警订阅的统一处理,能充分利用基于业务服务树的可视化统一报警***。基于云原生服务注册中心,实现微服务报警依赖管理及可视化,为自动化服务治理提供决策依据;AlertManager通过webhook方式将报警消息发送到基于业务服务树的可视化统一报警***,可以为不同服务、不同报警级别单独设置Topic,实现更精确的通知触达和聚焦。
附图说明
图1显示为本申请于一实施例中基于服务树的可视化统一报警方法的流程示意图。
图2显示为本申请于一实施例中基于服务树的可视化统一报警方法的业务流示意图。
图3显示为本申请于一实施例中基于服务树的可视化统一报警***的模块示意图。
图4显示为本申请于一实施例中计算机设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,虽然图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,但其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在通篇说明书中,当说某部分与另一部分“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成分、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成分、区域、层或段区别于其它部分、成分、区域、层或段。因此,以下叙述的第一部分、成分、区域、层或段在不超出本申请范围的范围内,可以言及到第二部分、成分、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
前述的prometheus(普罗米修斯)是由CNCF孵化的一款开源的监控软件。prometheus运行的流程主要为:根据配置定时去拉取各个节点的数据,默认使用的拉取方式是pull,也可以使用pushgateway提供的push方式获取各个监控节点的数据。将获取到的数据存入TSDB(一款时序型数据库)。此时prometheus已经获取到了监控数据,可以使用内置的PromQL进行查询。它的报警功能使用报警管理器(Alertmanager)提供,Alertmanager是prometheus的告警管理和发送报警的一个组件。prometheus原生的图标功能过于简单,可将prometheus数据接入grafana,由grafana进行统一管理。
针对Prometheus服务器的报警管理器AlertManager所存在的报警配置不足的问题。本申请主要以Prometheus服务器为架构,提出一种基于服务树的可视化统一报警方法、***及存储介质,以提供不同的报警通知等级、多元化的报警通道配置和友好的可视化服务树/服务依赖等层级的报警状态页面,自动化报警处理功能和历史报警通知存储介质。
如图1所示,展示为本申请一实施例中的基于服务树的可视化统一报警方法的流程示意图。如图所示,所述方法包括:
步骤S101:接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器。
Webhooks是一个api概念,是微服务api的使用范式之一,也被成为反向api,即:前端不主动发送请求,完全由后端推送。举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是Webhooks的典型场景。简单来说,WebHook就是一个接收HTTP POST(或GET,PUT,DELETE)的URL。一个实现了WebHook的API提供商就是在当事件发生的时候会向这个配置好的URL发送一条信息。与请求-响应式不同,使用WebHooks,你可以实时接受到变化。这又是一种对客户机-服务器模式的逆转,在传统方法中,客户端从服务器请求数据,然后服务器提供给客户端数据(客户端是在拉数据)。在Webhook范式下,服务器更新所需提供的资源,然后自动将其作为更新发送到客户端(服务器是在推数据),客户端不是请求者,而是被动接收方。这种控制关系的反转可以用来促进许多原本需要在远程服务器上进行更复杂的请求和不断的轮询的通信请求。通过简单地接收资源而不是直接发送请求,可以更新远程代码库,轻松地分配资源,甚至将其集成到现有***中来根据API的需要来更新端点和相关数据。对于第三方平台验权、登陆等没有前端界面做中转的场景,或者强安全要求的支付场景等,适合用Webhooks做数据主动推送。
报警管理器(Alertmanager)是一个独立的告警模块,接收Prometheus(开源的监控软件)等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人。
所述报警通道包括:企业微信、钉钉、邮件、及SMS中任意一种。例如,Alertmanager支持Email、Slack等告警方式, 也可以通过webhook接入钉钉等国内IM工具。
简单来说,通过预先将多种报警通道分别统一地以一个Webhook的形式注册到所述报警管理器,可以通过多种报警通道(如企业微信、钉钉、邮件、及SMS等)来接收到来自报警管理器(Alertmanager)的一或多个报警通知消息。
优选地,所述警报通知消息的实体包括:源头、环境、类型、节点、及标签中任意一种或多种组合。
由上,本申请AlertManager通过webhook方式将报警消息发送到基于业务服务树的可视化统一报警***,可以为不同服务、不同报警级别单独设置Topic,实现更精确的通知触达和聚焦。
步骤S102:对所述报警通知消息进行标准化处理,同时解析所述报警通知消息的内容以获取第三方服务中的业务服务树,并添加至标准化处理后的所述报警通知消息。
优选地,所述对所述报警通知消息进行标准化处理,就是提取有效信息,舍弃无关数据的处理。因为,通常报警消息层级较多,冗余信息也较多,而如果接收报警通知消息的全部消息不仅降低消息消费者的处理速度,而且耗费网络资源。
具体地,解析所述报警通知消息的内容以获取第三方服务中的业务服务树,具体操作为:根据报警通知消息的实体中的环境、类型和节点信息去第三方服务获取对应报警的业务服务树的数据,并一同添加到标准化处理过的报警消息中。
优选地,业务服务树是对各业务部门Department、各业务项目Project、业务集群Cluster和业务角色Role信息的一种树形结构抽象,此种抽象有助于报警消息能够快速准确的定位到微服务的开发负责人员。
步骤S103:将标准化处理后的所述报警通知消息推送至分布式发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费。
例如,把标准化处理过的报警通知消息推送至一个Kafka(一种高吞吐量的分布式发布订阅消息***)的一或多个主题(Topic),以供后续不同的消息消费者(Consumer)消费处理。
至此,本申请步骤S101~S103与现有技术相比,是在接受来自报警管理的报警通知消息的基础上借助了业务服务树的数据进行统一处理,并进行发布。后续通过业务服务树的各层级或各节点实现灵活的报警配置,并且基于此,使得本申请支持获取动态指标值、以及东动态获取指标标签。可参考图2所示的流程示意图。
步骤S104:启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
举例来说,同时启动多个不同功能模块的Consumer对Kafka的Topic中的报警通知消息进行消费,根据本申请报警***的需求做定制化的处理或存储。和/或,启动一个额外的Consumer订阅Kafka的Topic中的报警消息,接收并将所有历史报警消息存储一份到ElasticSearch(一个分布式多用户能力的全文搜索引擎),以提供对报警通知消息的智能分析能力。
于本申请一实施例中,所述方法还包括:
A、根据所述业务服务树的各层级动态化的自动生成对应所述业务服务树各层级的报警状态页面,并通过可视化展示。
举例来说,本步骤方法可对应于本***的状态管理模块,用于友好地可视化展示服务树各层级的报警状态页面,报警状态页面按服务树层级动态化自动生成。优选地,当接收到报警通知消息的状态为触发(firing)时,所述报警状态页面上的状态变红,且数值随着收到的报警通知消息数量的增加而增加;当接收到报警通知消息的状态为完成或恢复(resolved)时,数值随着收到的报警通知消息数量的增加而减少;当数值为零值时,所述报警状态页面上的状态变绿。
B、在可视化的所述业务服务树的报警状态页面上,提供报警等级、报警通道的配置、及更新功能,以供微服务的各开发运维人员可自行配置订阅所需的报警消息。
举例来说,本步骤方法可对应于本***的配置更新模块,其用于在可视化界面上提供报警等级和报警通道配置和更新功能,微服务的开发运维人员可自行配置订阅自己想接收的报警通知消息。
于本申请一实施例中,所述方法还包括:根据标准化后的各所述报警通知消息的类型,调用相应的故障处理服务接口,以提供报警故障自愈处理功能。
举例来说,本实施例方法可对应于本***的报警处理模块,用于根据标准化的报警通知消息类型,调用相应的故障处理服务接口,以提供报警故障自愈处理功能。
于本申请一实施例中,所述方法还把包括:
A、将所述报警通知消息按照一定的格式样式推送到注册配置的报警通道;所述报警通道包括:企业微信、钉钉、邮件、及SMS中任意一种;
B、同一类型的所述报警通道按业务服务树所创建的不同群或组别进行区分;其中,所述群可对应到所述服务树上的任意节点,以提供不同颗粒度的报警通知消息的通知控制。
举例来说,本实施例方法可对应于本***的通道推送模块,用于将报警通知消息按照一定的格式样式推送到注册配置的各种多样化报警通道,多样化报警通道类型包括但不限于:企业微信、钉钉、邮件、SMS等,同一类型的报警通道也区分按具体业务服务树创建的不同群或组别,群可以对应于具体的服务树上的任意节点,以提供不同粒度的报警消息通知控制。
简单来说,本申请提供了告警升级和通知人的变更,有助于监控告警在企业内的普及;实现了报警话题、报警内容、报警渠道、报警订阅的统一处理,能充分利用基于业务服务树的可视化统一报警***。
需要说明的是,随着服务数量的增多,微服务间的依赖关系越来越复杂,一个微服务集群的告警,可能是由单个微服务告警起,并影响到上下游微服务,因此,服务依赖关系,报警时序等,对于微服务有效治理意义重大。
为此,本申请还提出:基于云原生K8s服务注册中心(公共容器K8s集群)和服务拓扑工具Kiali,在报警处理模块中,实时获取各微服务调用关系,按时序接收到各微服务的报警调整消息,结合拓扑图,迅速定位事故源及影响服务。
例如,基于云原生K8s服务注册中心和服务拓扑工具Kiali,实时获取各微服务调用关系,按时序接收到各微服务报警消息,结合拓扑图,迅速定位事故源及影响服务。
例如,不同的K8s集群中,由分布式调度平台XXLJOB向pushgateway推送数据,然后由pushgateway提供给prometheus服务器,然后prometheus服务器分别提供给报警管理器AlertManager和开源的指标量监测和可视化工具Grafana,并最终汇总到本***中,以实现实时获取各微服务调用关系,按时序接收到各微服务的报警调整消息,结合拓扑图,迅速定位事故源及影响服务。
其中,Kiali是一个前后端分离的***,在构建镜像的时候,前端和后端是放到同一个镜像中的。Kiali依赖两个外部的服务,一个是 Prometheus,这是一个监控和报警***。Kiali会从 Prometheus 查询数据,生产拓扑图或者一些其他的统计图。另外一个服务是 Cluster API,Kiali会获取 service、deployment 等数据,也会获取virtualservice、destinationrule的yaml配置,作为配置检测使用。另外Kiali还可以配置两个可选的服务,Jaeger 和Grafana。Jaeger 是Uber开发的分布式追踪***,Grafana是一个数据可视化***。Kiali的这些功能都是基于Istio的。
本申请基于云原生服务注册中心,实现微服务报警依赖管理及可视化,为自动化服务治理提供决策依据。
进一步地,所述方法还包括:根据报警严重等级和范围,采取相应的报警处理策略,以达到微服务集群故障快速恢复;所述报警处理策略包括:限流、熔断、降级、弹扩、及重启中任意一种或多种组合。
例如,对应于本***的报警处理模块可内置诸如限流/熔断/降级/弹扩/重启等服务治理手段,根据报警严重等级和范围,采取合适的报警处理策略,以达到微服务集群故障快速恢复。
综上所述,本申请提供了一种基于服务树的可视化统一报警方法、装置、设备和介质,旨在实现一种基于业务服务树的可视化统一报警方案,以提供不同的报警通知等级、多元化的报警通道配置和友好的可视化服务树各层级的报警状态页面,自动化报警处理功能和历史报警通知存储介质。
如图3所示,展示为本申请于一实施例中的基于服务树的可视化统一报警***的模块示意图。如图所示,所述***200包括。
接收模块301,用于接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器。
处理模块302,用于对所述报警通知消息进行标准化处理以获取有效消息,同时解析所述报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将所述业务服务树添加至标准化处理后的所述报警通知消息;将标准化处理后的所述报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费。
消费者模块303,用于启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
需要说明的是,上述***各模块/单元之间的信息交互、执行过程等内容,由于与本申请所述方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
还需要说明的是,应理解以上***的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实现。
如图4所示,展示为本申请于一实施例中的计算机设备的结构示意图。如图所示,所述计算机设备400包括:存储器401、及处理器402;所述存储器401用于存储计算机指令;所述处理器402运行计算机指令实现如图1所述的方法。
在一些实施例中,所述计算机设备400中的所述存储器401的数量均可以是一或多个,所述处理器402的数量均可以是一或多个,而图4中均以一个为例。
于本申请一实施例中,所述计算机设备400中的处理器402会按照如图1所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器401中,并由处理器402来运行存储在存储器401中的应用程序,从而实现如图1所述的方法。
所述存储器401可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。所述存储器401存储有操作***和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作***可包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。
所述处理器402可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在一些具体的应用中,所述计算机设备400的各个组件通过总线***耦合在一起,其中总线***除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清除说明起见,在图4中将各种总线都成为总线***。
于本申请的一实施例中,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1所述的方法。
在任何可能的技术细节结合层面,本申请可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
综上所述,本申请提供的一种基于服务树的可视化统一报警方法、装置、设备和介质,通过接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器;对所述报警通知消息进行标准化处理以获取有效消息,同时解析所述报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将所述业务服务树添加至标准化处理后的所述报警通知消息;将标准化处理后的所述报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费;启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包含通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (11)
1.一种基于服务树的可视化统一报警方法,其特征在于,所述方法包括:
接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器;
对所述报警通知消息进行标准化处理以获取有效消息,同时解析所述报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将所述业务服务树添加至标准化处理后的所述报警通知消息;
将标准化处理后的所述报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费;
启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
2.根据权利要求1所述的方法,其特征在于,所述警报通知消息的实体包括:源头、环境、类型、节点、及标签中任意一种或多种组合。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述业务服务树的各层级动态化的自动生成对应所述业务服务树各层级的报警状态页面,并通过可视化展示;
在可视化的所述业务服务树的报警状态页面上,提供报警等级、报警通道的配置、及更新功能,以供微服务的各开发运维人员可自行配置订阅所需的报警消息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当接收到报警通知消息的状态为触发时,所述报警状态页面上对应所述业务服务树的节点面板的状态变红,且数值随着收到的不同的报警通知消息数量的增加而增加;
当接收到报警通知消息的状态为处理完成时时,数值随者收到的不同的报警通知消息数量的增加而减少;当数值为零值时,所述报警状态页面上对应所述业务服务树的节点面板的状态变绿。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据标准化后的各所述报警通知消息的类型,调用相应的故障处理服务接口,以提供报警故障自愈处理功能。
6.根据权利要求1所述的方法,其特征在于,所述方法还把包括:
将所述报警通知消息按照一定的格式样式推送到注册配置的报警通道;所述报警通道包括:企业微信、钉钉、邮件、及SMS中任意一种;
同一类型的所述报警通道按业务服务树所创建的不同群或组别进行区分;其中,所述群可对应到所述服务树上的任意节点,以提供不同颗粒度的报警通知消息的通知控制。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于云原生服务注册中心和服务拓扑工具,实时获取各微服务调用关系;
按时序接收到各微服务的报警调整消息,并结合拓扑图,以迅速定位事故源及影响服务。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据报警严重等级和范围,采取相应的报警处理策略,以达到微服务集群故障快速恢复;其中,所述报警处理策略包括:限流、熔断、降级、弹扩、及重启中任意一种或多种组合。
9.一种基于服务树的可视化统一报警***,其特征在于,所述***包括:
接收模块,用于接收报警管理器的一或多个报警通知消息;其中,将多种报警通道分别统一地以一个Webhook的形式预先注册到所述报警管理器;
处理模块,用于对所述报警通知消息进行标准化处理以获取有效消息,同时解析所述报警通知消息的内容以获取所关联的第三方服务中的业务服务树,并将所述业务服务树添加至标准化处理后的所述报警通知消息;将标准化处理后的所述报警通知消息推送至发布订阅消息***的一或多个主题,以供不同的消息消费者进行消费;
消费者模块,用于启动多个不同功能模块的消息消费者对分布式发布订阅消息***的各主题中的报警通知消息进行消费,以供根据报警需求进行定制化的处理或存储;和/或,启动一消息消费者订阅分布式发布订阅消息***的各主题中的报警通知消息,以接收并将所有历史的报警通知消息存储至搜索引擎,以供对报警通知消息进行分析。
10.一种计算机设备,其特征在于,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如权利要求1至8中任意一项所述的方法。
11.一种计算机可读存储介质,其特征在于,存储有计算机指令,所述计算机指令被运行时执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916619.7A CN113377626B (zh) | 2021-08-11 | 2021-08-11 | 基于服务树的可视化统一报警方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916619.7A CN113377626B (zh) | 2021-08-11 | 2021-08-11 | 基于服务树的可视化统一报警方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377626A true CN113377626A (zh) | 2021-09-10 |
CN113377626B CN113377626B (zh) | 2021-11-23 |
Family
ID=77576694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110916619.7A Active CN113377626B (zh) | 2021-08-11 | 2021-08-11 | 基于服务树的可视化统一报警方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377626B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253807A (zh) * | 2021-12-20 | 2022-03-29 | 深圳前海微众银行股份有限公司 | 一种告警信息通知方法及装置 |
CN114500248A (zh) * | 2022-04-01 | 2022-05-13 | 北京锐融天下科技股份有限公司 | 一种针对互联网软件***中业务的监控与告警方法及*** |
CN117149897A (zh) * | 2023-10-31 | 2023-12-01 | 成都交大光芒科技股份有限公司 | 基于双缓冲技术的大数据报警信息分级展示***及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220138A1 (en) * | 2006-03-20 | 2007-09-20 | Microsoft Corporation | Extensible alert types |
CN109710487A (zh) * | 2018-11-29 | 2019-05-03 | 同盾控股有限公司 | 一种监控方法和装置 |
US20190340048A1 (en) * | 2018-05-04 | 2019-11-07 | Vmware, Inc. | Methods and systems to manage alerts in a distributed computing system |
CN111611137A (zh) * | 2020-06-30 | 2020-09-01 | 平安银行股份有限公司 | 告警监控方法、装置、计算机设备及存储介质 |
CN112511339A (zh) * | 2020-11-09 | 2021-03-16 | 宝付网络科技(上海)有限公司 | 基于多集群的容器监控告警方法、***、设备及存储介质 |
CN112559281A (zh) * | 2020-12-07 | 2021-03-26 | 恩亿科(北京)数据科技有限公司 | 一种基于配置的告警路由***和方法 |
CN113141485A (zh) * | 2020-10-22 | 2021-07-20 | 西安天和防务技术股份有限公司 | 告警*** |
-
2021
- 2021-08-11 CN CN202110916619.7A patent/CN113377626B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220138A1 (en) * | 2006-03-20 | 2007-09-20 | Microsoft Corporation | Extensible alert types |
US20190340048A1 (en) * | 2018-05-04 | 2019-11-07 | Vmware, Inc. | Methods and systems to manage alerts in a distributed computing system |
CN109710487A (zh) * | 2018-11-29 | 2019-05-03 | 同盾控股有限公司 | 一种监控方法和装置 |
CN111611137A (zh) * | 2020-06-30 | 2020-09-01 | 平安银行股份有限公司 | 告警监控方法、装置、计算机设备及存储介质 |
CN113141485A (zh) * | 2020-10-22 | 2021-07-20 | 西安天和防务技术股份有限公司 | 告警*** |
CN112511339A (zh) * | 2020-11-09 | 2021-03-16 | 宝付网络科技(上海)有限公司 | 基于多集群的容器监控告警方法、***、设备及存储介质 |
CN112559281A (zh) * | 2020-12-07 | 2021-03-26 | 恩亿科(北京)数据科技有限公司 | 一种基于配置的告警路由***和方法 |
Non-Patent Citations (1)
Title |
---|
张城城: "基于Docker的容器集群管理平台的研究与实现", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114253807A (zh) * | 2021-12-20 | 2022-03-29 | 深圳前海微众银行股份有限公司 | 一种告警信息通知方法及装置 |
CN114253807B (zh) * | 2021-12-20 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种告警信息通知方法及装置 |
CN114500248A (zh) * | 2022-04-01 | 2022-05-13 | 北京锐融天下科技股份有限公司 | 一种针对互联网软件***中业务的监控与告警方法及*** |
CN117149897A (zh) * | 2023-10-31 | 2023-12-01 | 成都交大光芒科技股份有限公司 | 基于双缓冲技术的大数据报警信息分级展示***及方法 |
CN117149897B (zh) * | 2023-10-31 | 2024-01-26 | 成都交大光芒科技股份有限公司 | 基于双缓冲技术的大数据报警信息分级展示***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113377626B (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12039310B1 (en) | Information technology networked entity monitoring with metric selection | |
CN113377626B (zh) | 基于服务树的可视化统一报警方法、装置、设备和介质 | |
CN107491488B (zh) | 页面数据采集的方法和装置 | |
US10057152B2 (en) | Providing an unseen message count across devices | |
US10521263B2 (en) | Generic communication architecture for cloud microservice infrastructure | |
CN111190888A (zh) | 一种管理图数据库集群的方法和装置 | |
CN112235130A (zh) | 一种实现基于sdn网络的运维自动化的方法和装置 | |
US11818152B2 (en) | Modeling topic-based message-oriented middleware within a security system | |
CN113704065A (zh) | 监控方法、装置、设备及计算机存储介质 | |
CN112860343B (zh) | 配置变更方法、***、装置、电子设备以及存储介质 | |
CN111782672B (zh) | 多领域数据管理方法及相关装置 | |
CN114185734A (zh) | 一种监控集群的方法、装置及电子设备 | |
CN113220342A (zh) | 中心化配置方法、装置、电子设备及存储介质 | |
CN116846729A (zh) | 一种基于云容器下多租户模式管理监控告警通知的方法 | |
CN111274032A (zh) | 任务处理***及方法、存储介质 | |
CN114756301A (zh) | 日志处理方法、装置和*** | |
CN115514618A (zh) | 告警事件的处理方法、装置、电子设备和介质 | |
CN116112342A (zh) | 告警信息处理方法、装置、电子设备以及存储介质 | |
CN113242148B (zh) | 监控告警相关信息的生成方法、装置、介质及电子设备 | |
CN114201508A (zh) | 数据处理方法、数据处理装置、电子设备和存储介质 | |
CN113282455A (zh) | 一种监控处理方法和装置 | |
CN113762910A (zh) | 一种单据监控方法和装置 | |
CN112488462A (zh) | 一种工作流数据的统一推送方法、装置及介质 | |
CN111858260A (zh) | 信息显示方法、装置、设备及介质 | |
CN112749204A (zh) | 一种读取数据的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Visual unified alarm method, device, equipment, and medium based on service tree Effective date of registration: 20231127 Granted publication date: 20211123 Pledgee: China Minsheng Banking Corp Shanghai branch Pledgor: SHANGHAI LINKEDCARE INFORMATION TECHNOLOGY Co.,Ltd. Registration number: Y2023310000785 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |