CN112217864A - 微服务监控方法、装置、系统、计算机设备和存储介质 - Google Patents

微服务监控方法、装置、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN112217864A
CN112217864A CN202010921991.2A CN202010921991A CN112217864A CN 112217864 A CN112217864 A CN 112217864A CN 202010921991 A CN202010921991 A CN 202010921991A CN 112217864 A CN112217864 A CN 112217864A
Authority
CN
China
Prior art keywords
monitored
micro service
information
configuration
service
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.)
Pending
Application number
CN202010921991.2A
Other languages
English (en)
Inventor
杨洋
刘立坤
杨斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weimin Insurance Agency Co Ltd
Original Assignee
Weimin Insurance Agency Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Weimin Insurance Agency Co Ltd filed Critical Weimin Insurance Agency Co Ltd
Priority to CN202010921991.2A priority Critical patent/CN112217864A/zh
Publication of CN112217864A publication Critical patent/CN112217864A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis

Abstract

本申请涉及一种微服务监控方法、装置、系统、计算机设备和存储介质。所述方法包括:从配置中心获取待监控微服务的静态信息,静态信息包括待监控微服务的标识;根据待监控微服务的标识,从注册中心获取待监控微服务的动态信息;根据待监控微服务的静态信息和待监控微服务的动态信息,构建待监控微服务的配置信息;定时下发待监控微服务的配置信息至监控系统,监控系统根据待监控微服务的配置信息,获取待监控微服务的监控数据。通过配置中心配置的静态信息自定义待监控的微服务,根据静态信息向注册中心获取动态信息,根据动态信息和静态信息生成的配置信息,获取监控数据,实现微服务的自动监控。

Description

微服务监控方法、装置、系统、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种微服务监控方法、装置、系统、计算机设备和存储介质。
背景技术
微服务特点是多而小,开发语言多,生命周期短,上线下线快,发布频率快,部署模式多,有主机部署,单容器部署,sidecar双容器部署,监控其实和微服务互相访问一样,一般的监控主要是依赖人力去管理监控目标,监控耗时,且效果欠佳。
发明内容
为了解决上述技术问题,本申请提供了一种微服务监控方法、装置、系统、计算机设备和存储介质。
本申请提供了一种微服务监控方法,包括:
定时从配置管理系统中获取待监控微服务的配置信息,所述待监控微服务的配置信息,根据所述待监控微服务的静态信息和所述待监控微服务的动态信息生成;
根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据;
根据告警规则确定是否对所述待监控微服务的监控数据进行告警。
本申请提供了一种微服务监控装置,包括:
配置信息获取模块,用于定时从配置管理系统中获取待监控微服务的配置信息,所述待监控微服务的配置信息,根据所述待监控微服务的静态信息和所述待监控微服务的动态信息生成;
监控数据采集模块,用于根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据;
告警模块,用于根据告警规则确定是否对所述待监控微服务的监控数据进行告警。
本申请提供了一种微服务监控方法,包括:
从配置中心获取待监控微服务的静态信息,所述静态信息包括所述待监控微服务的标识;
根据所述待监控微服务的标识,从注册中心获取所述待监控微服务的动态信息;
根据所述待监控微服务的静态信息和所述待监控微服务的动态信息,构建所述待监控微服务的配置信息;
定时下发所述待监控微服务的配置信息至监控系统,以使所述监控系统根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据。
本申请提供了一种微服务监控装置,包括:
静态信息获取模块,用于从配置中心获取待监控微服务的静态信息,所述静态信息包括所述待监控微服务的标识;
动态信息获取模块,用于根据所述待监控微服务的标识,从注册中心获取所述待监控微服务的动态信息;
配置信息构建模块,用于根据所述待监控微服务的静态信息和所述待监控微服务的动态信息,构建所述待监控微服务的配置信息;
配置信息下发模块,用于定时下发所述待监控微服务的配置信息至监控系统,以使所述监控系统根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据。
本申请提供了一种微服务监控系统,包括:配置中心、注册中心、配置管理系统和监控系统,
所述配置中心,用于配置待监控微服务的静态信息;
所述注册中心,用于注册所述待监控微服务的动态信息;
所述配置管理系统,用于从配置中心获取所述待监控微服务的静态信息,所述静态信息包括所述待监控微服务的服务标识;根据所述待监控微服务的服务标识,从注册中心获取所述待监控微服务的动态信息,根据所述待监控微服务的静态信息和所述待监控微服务的动态信息,构建所述待监控微服务的配置信息;
所述监控系统,用于定时向所述配置管理系统,获取待监控微服务的配置信息,根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据,根据告警规则确定是否对所述待监控微服务的监控数据进行告警。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述微服务监控方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述微服务监控方法的步骤。
上述微服务监控方法、装置、系统、计算机设备和存储介质,所述方法通过获取预先配置的静态信息和动态获取的访问地址等组成的配置信息,实现微服务的自动化监控,且通过配置的静态信息可以对监控数据进行标记,为后续的数据分析,告警自愈打下基础。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中微服务监控方法的应用环境图;
图2为一个实施例中微服务监控方法的流程示意图;
图3为一个实施例中微服务监控方法的流程示意图;
图4为一个实施例中微服务监控系统的示意图;
图5为一个实施例中微服务监控系统的示意图;
图6为一个实施例中微服务监控装置的结构框图;
图7为一个实施例中微服务监控装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中微服务监控方法的应用环境图。参照图1,该微服务监控方法应用于微服务监控系统。该微服务监控系统包括监控系统110和配置管理系统120。监控系统110和配置管理系统120通过网络连接。监控系统110可以终端或服务器。配置管理系统120具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。监控系统110和配置管理系统120可以部署在同一终端。
如图2所示,在一个实施例中,提供了一种微服务监控方法。本实施例主要以该方法应用于上述图1中的监控系统110来举例说明。参照图2,该微服务监控方法具体包括如下步骤:
步骤S201,定时从配置管理系统中获取待监控微服务的配置信息。
在本具体实施例中,待监控微服务的配置信息,根据待监控微服务的静态信息和待监控微服务的动态信息生成。
其中,定时获取是指按照一定时间周期进行数据获取,定时获取的时间周期可以自定义,如定义为1分钟或1分半钟等。监控系统定时向配置管理系统中获取待监控微服务的配置信息。其中获取待监控微服务的配置信息时,可以通过应程序接口实现配置信息的获取,如通过http接口或Grpc接口获取待监控微服务的配置信息。
监控系统可以为自定义的监控系统或已存在的监控系统,目前已经存在的监控系统包括普罗米修斯prometheus,prometheus为开源的时序数据库&监控系统。Prometheus包括pushgateway组件和exporter组件,其中pushgateway组件用于接收指标数据,暴露给prometheus抓取,exporter组件称为暴露者,用于提供监控指标数据给prometheus采集,一般都以xx_exporter命名,每一个exporter都是一个待监控微服务,如http server,比如node_exporter是暴露主机指标的,mysql_exporter是暴露mysql数据库指标的,redis_exporter是暴露redis数据库指标的。Prometheus中还包括metrics指标,metrics指标是指可以用数字描述的度量,一般都是随着时间的变化而变化,适合用时序数据库存储,比如:速度,温度,湿度,主机cpu使用率,服务访问量,错误率等。
微服务是一种以业务功能为主的服务设计概念,每一个服务都具有自主运行的业务功能,对外开放不受语言限制的应用接口,最常见的接口为http接口,应用程序由一个或多个微服务组成。微服务根据也许需求自定义,如当前业务需要登录则操作,可以定义登录服务,当前业务包括下单操作和退单操作,可以定义下单服务和退单服务。
待监控微服务是指需要被监控的微服务,需要被监控的微服务都在配置中心进行了配置。配置信息是指用于获取监控数据的配置信息,该配置信息可以根据需求自定义,如包括微服务的名称、微服务的访问地址、微服务的自定义标签、运行环境和微服务的开发语言等。微服务的静态信息是指在配置中心配置的信息,配置中心用于维护资源的相关信息,包括微服务的相关信息,比如服务名,开发语言,部署信息,重要级别,开发人员,主要功能等等。配置中心的数据存储在配置管理数据库(Configuration Management Database,cmdb)。微服务的动态信息包括微服务的服务实例列表和实例的地址信息等。微服务的动态信息随着服务的发布扩容而变化。配置信息的存储方式可以是以文件存储,或注册到分布式存储仓库。如将配置信息注册到consul中,其中consul为一种分布式服务发现和kv(key-value,键值)存储仓库。注册中心用于实现服务发现注册,服务发现注册是指服务监听了TCP端口,需要去注册,把TCP信息注册到一个仓库,即服务注册,使别的服务通过服务名从仓库可以查找到TCP地址,服务之间可以通过服务名互相通信,即服务发现。其中服务发现注册得到的服务实例列表和实例的地址信息存储在etcd(一种分布式服务发现的kv存储仓库)。etcd具备容易部署、安装和使用的特点,etcd还具备提供可靠的数据持久化特性。
在一个实施例中,targets定义服务注册到etcd的访问地址,代表抓取地址,当服务重新发布后或扩容添加实例后targets会自动联动变化。Labels为静态数据代表为此监控目标暴露的指标添加额外的标签。
在一个具体的实施例中,配置信息的格式为yaml格式,具体的配置信息如下:
Figure BDA0002667037590000071
其中,Targets中的10.82.5.134为访问地址,41190为端口,应用程序标识app_id为10741、应用程序名称app_name为scrm-data-statistic-session-event、环境env为prd、注册名称etcd_name为statisticsession-event、所属组group为OS、开发语言language为Java和对象object为app。
步骤S202,根据待监控微服务的配置信息,获取待监控微服务的监控数据。
具体地,从待监控微服务中获取该服务的访问地址,向待监控微服务的访问地址发送指标数据获取请求,获取对应的监控数据。监控数据是指待监控微服务的各种指标对应的数据。其中指标包括应用程序暴露的原生指标和自定义指标。应用程序的原生指标是指在设计应用程序时设定的指标。自定义指标是通过配置中心配置的自定义标签定义的指标。配置中心中定义的指标包括对原生指标按照自定义标签进行划分和统计等操作得到的指标。如对原始指标按照地域或系统类型进行划分,得到不同地域或不同系统类型的指标。如微服务为登录服务时,原生指标包括登录成功率。对登录成功率按地域划分后,得到各地的登录成功率。对登录成功率按系统类型划分后,得到不同类型系统的登录成功率等。若原生指标为各地的登录成功率,如原生指标包括华南地区、华东地区等地区的登录成功率,对地域进行统计,如全国登录成功率,则需要统计各个地区的成功率。
在一个实施例中,在获取到监控数据之后,还包括:对监控数据进行再处理,如按照预设方式对指标数据进行统计和分析等,具体可以按照地域、网络环境和系统环境等等进行统计。如按照地域进行统计时,可以统计各个地域的登录成功率、各个地域的下单率,按照系统环境统计时,可以按照ios/安卓等系统环境统计对应的登录成功率等。
在一个实施例中,静态信息包括服务标识,定时遍历配置管理系统中待监控微服务的配置信息,根据配置信息中静态信息包含的服务标识,从注册中心获取待监控微服务的动态信息;根据动态信息,获取待监控微服务的监控数据。
在一个实施例中,静态信息还包括待监控微服务的自定义标签,根据动态信息,获取待监控微服务的监控数据之后,还包括:根据待监控微服务的自定义标签,对监控数据进行标记,得到携带自定义标签的监控数据。
具体地,自定义标签为用户根据业务需求设定的标签,标签包括但不限于网络、环境、应用程序标识等可以描述待监控微服务的标识。根据动态信息获取该微服务的监控数据,并根据自定义标签对监控数据进行标记,以使监控数据携带自定义标签。如定义微服务的开发语言、运行环境、所属的应用程序等。通过自定义标签对数据进行再次筛选,精准定位不层次的数据。如通过增加的自定义标签对微服务进行划分,可以对数据进行更细致的分析,如按照不同类型/不同地域等对数据进行划分,可以分析不同类型/不同地域的数据。通过自定义指标对数据进行统计,能够覆盖各个不同类型/不同地域的数据,从而对数据进行更全面的分析。
在一个具体实施例中,比如开发的原生监控指标为:
http_requests_total{method=”POST”,path=”/”,status=”200”}100
上面的数据代表当前访问路径为/方法为POST返回码为200的http请求数为100。
经过监控系统最终采集存储到时序数据库就变为:
http_requests_total{app_name=”alert-center”,app_id=”1”,language=”golang”,group=”OS”,env=”prd”,method=”POST”,path=”/”,status=”200”}100
上面的数据代表应用程序名称为alert-center、应用程序标识为1、开发语言为golang、所属组为OS、所属环境为prd、当前访问路径为/方法为POST返回码为200的http请求数为100,增加了应用程序名称为alert-center、应用程序标识为1、开发语言为golang、所属组为OS、所属环境为prd等自定义标签,根据自定义标签对监控数据进行标记,使得监控系统不仅自动化了监控采集,并将监控数据与静态信息进行关联。通过自定义标签可以为后续数据进行数据分析打下基础,如对应用程序名称为alert-center或开发语言为golang的微服务的监控数据进行分析,通过设置分析数据的应用程序名称或开发语言,可以有效的提取出设置的应用程序名称或开发语言对应的监控数据,从而实现对该应用程序名称或该开发语言对应的监控数据的分析。
步骤S203,根据告警规则确定是否对待监控微服务的监控数据进行告警。
具体地,告警规则为预先设定的用于告警的规则,当监控数据符合告警规则中的告警条件时,执行告警,反之则不执行告警。其中告警规则可以根据业务需求设置,不同应用程序对同一微服务的要求不同,同一应用程序中的不同微服务的告警不同,则通过设置告警规则来区分各个业务的告警。如同一微服务在不同时间段设置不同的告警规则,之所以同一微服务在不同时间段需要设置不同的告警规则,是因为不同时间段同一微服务对业务带来的影响不同,如业务高峰时间段和非高峰时间段可以设置不同的告警规则。且同一微服务的告警可以包含多个告警等级,不同的告警等级表示不同告警严重程度。
在一个实施例中,若当前待监控微服务的监控数据符合告警规则,则生成用于警示当前待监控微服务的告警信息,发送告警信息。
具体地,告警信息是用于提示用户或监控人员的信息,告警信息中可以是以图文形式显示,还可以是显示的监控数据进行标记,不同的标记代表不同的告警。图文形式显示是指直接发送对应的图文信息告知监控人员等存在的问题,其中告警信息中可以包括出现告警的微服务的名称、告警原因等,也可以仅提示告警的微服务的名称。告警信息通过不同的标识标记监控数据时,如可以用不同的颜色标记,也可以采用特殊符号进行标记。
上述微服务监控方法,通过配置中心配置的静态信息自定义待监控的微服务,根据静态信息向注册中心获取动态信息,根据动态信息和静态信息生成的配置信息,获取监控数据,实现微服务的自动监控。
在一个实施例中,上述微服务监控方法,还包括:通过配置管理系统,从配置中心获取待监控微服务的静态信息,静态信息包括待监控微服务的服务标识;通过配置管理系统,根据待监控微服务的服务标识,从注册中心获取待监控微服务的动态信息;通过配置管理系统,根据待监控微服务的静态信息和待监控微服务的动态信息,构建待监控微服务的配置信息。
具体地,微服务的服务标识用于唯一标识微服务,每个待监控微服务具备唯一的服务标识。静态信息可以根据需求自定义配置。通过配置管理系统从配置中心获取待监控微服务的服务标识和自定义标签等,待监控微服务的服务标识与注册中心中微服务的注册名称相同,通过待监控微服务的服务标识向注册中心获取该待监控微服务的动态信息,即微服务列表和各个微服务对应的访问地址。构建待监控微服务的配置信息是指组装各个待监控的微服务的静态信息和动态信息。按照预设的配置信息的格式填充静态信息和动态信息。按照文件形式保存待监控微服务的配置信息,则得到各个待监控微服务的配置文件。或将配置信息注册到kv数据库中。
在一个实施例中,通过配置管理系统,以文件形式保存待监控微服务的配置信息,得到待监控微服务的配置文件;或通过配置管理系统,注册待监控微服务的配置信息。
具体地,通过配置管理系统获取到静态信息和动态信息之后,构建待监控微服务的配置信息,将待监控微服务的配置信息以文件形式存储,或通过配置管理系统注册该配置信息,即将配置信息以键值的存储方式存储在数据库中。配置信息随着获取到的静态信息和动态信息的更新而更新。
在一个具体的实施例中,若在cmdb已经配置了服务名为alert-center的服务,则遍历cmdb列表时可以获取到该服务的静态信息。开发了该服务的相关指标且发布了该服务后。注册中心通过服务发现机制可以发现该服务,并注册该服务,其中,该服务的注册地址为10.0.0.2:8080,注册地址所在的位置为:/services/alert-center-http。从cmdb中获取到服务名alert-center后,去etcd中获取服务名alert-center的注册地址,即在etcd的/services/alert-center-http中获取到该服务的注册地址10.0.0.2:8080。获取到该地址后,可以通过访问http://10.0.0.2:8080/metrics获取到该服务的指标数据,即监控数据。
在一个具体的实施例中,组装好的配置信息,以http接口的方式提供外部下载,通过脚本片段定时下载配置,定时间隔可以自定义,间隔时间不能太短,因为太短会频繁查询etcd影响生产环境性能,也不能太长,否则会导致微服务发布ip变更,监控配置没更新导致采集数据断点。如可以设定为1分钟或1分半钟等。
下载组装好的配置信息脚本片段如下:
Figure BDA0002667037590000121
Figure BDA0002667037590000131
上述脚本片段定时执行(时间间隔可根据需求设置),${SERVER}为监控采集架构图中配置管理服务的访问地址,使用curl命令下载配置文件到targets/XXX-framework目录。
在一个实施例中,上述微服务监控方法,还包括:监听待监控微服务的配置文件;当待监控微服务的配置文件发生变化时,根据发生变化的待监控微服务的配置文件更新待监控微服务。
其中,监听配置文件的变化是监听配置文件的目录变化,或监控配置文件中内容的变化,当监听到配置文件的目录或配置文件中内容发生变化时,根据发生了变换的配置文件的目录更新待监控微服务。即表示目录文件的变化包括减少、新增等,进而更新后续获取到的监控数据。
在一个具体的实施例中,Prometheus(监控系统)通过监听此目录文件变化来自动化添加删除更新监控目标。Prometheus监听targets/XXX-framework目录的配置为:
Figure BDA0002667037590000132
Figure BDA0002667037590000141
在一个实施例中,上述微服务监控方法,还包括:监听注册中心的动态信息;当注册中心的动态信息发生变化时,根据注册中心发生变化的动态信息,更新配置管理系统中的待监控微服务的配置信息。
具体地,因为注册中心的信息会随着微服务的部署和扩容等发生变化,故需要监测注册中心的信息的变化,及时发现注册中心的变化信息,根据注册中心中发生变化的动态信息和对应的静态信息构建配置信息,更新该微服务的配置信息。及时更新配置信息,在监控系统获取配置信息时,可以及时的获取到更新的配置信息,从而有效的监控微服务,以使重新部署或扩容之后有效监控对应的微服务。
在一个实施例中,如图3所示,提供了一种微服务监控方法。本实施例主要以该方法应用于上述图1中的配置管理系统110来说明。参照图3,该微服务监控方法具体包括如下步骤。
步骤S301,从配置中心获取待监控微服务的静态信息。
在本具体实施例中,静态信息包括待监控微服务的标识。
步骤S302,根据待监控微服务的标识,从注册中心获取待监控微服务的动态信息。
步骤S303,根据待监控微服务的静态信息和待监控微服务的动态信息,构建待监控微服务的配置信息。
步骤S304,定时下发待监控微服务的配置信息至监控系统,以使监控系统根据待监控微服务的配置信息,获取待监控微服务的监控数据。
上述微服务监控方法,通过配置中心配置的静态信息自定义待监控的微服务,根据静态信息向注册中心获取该微服务的动态信息,根据该微服务的动态信息和静态信息生成的配置信息,通过配置信息获取该微服务的监控数据,实现微服务的自动监控。
在一个实施例中,如图4所示,提供了一种微服务监控系统,包括配置中心401、注册中心402、配置管理系统403和监控系统404。
配置中心401,用于配置待监控微服务的静态信息。
注册中心402,用于注册待监控微服务的动态信息。
配置管理系统403,用于从配置中心401获取待监控微服务的静态信息,静态信息包括待监控微服务的服务标识;根据待监控微服务的服务标识,从注册中心402获取待监控微服务的动态信息,根据待监控微服务的静态信息和待监控微服务的动态信息,构建待监控微服务的配置信息。
监控系统404,用于定时向配置管理系统403,获取待监控微服务的配置信息,根据待监控微服务的配置信息,获取待监控微服务的监控数据,根据告警规则确定是否对待监控微服务的监控数据进行告警。
在一个具体的实施例中,如图5所示,微服务监控系统包括etcd、cmdb、目标配置管理系统、prometheus和告警配置管理。
etcd,用于注册微服务的动态信息。通过服务发现的方式注册微服务。注册到etcd的访问地址随着服务发布扩容而变化。
cmdb,用于维护资源的相关信息(静态信息),包括微服务的相关信息,比如服务名,开发语言,部署信息,重要级别,开发人员,主要功能等等。
目标配置管理系统,用于从cmdb获取微服务的静态信息,并根据获取到的静态信息中的服务标识,向etcd获取动态信息,组装微服务的静态信息和动态信息,并将组装的信息转换为prometheus可识别的抓取配置格式。按整合etcd和cmdb的数据之后可以采用文件的形式下发,也可以把整合之后的数据注册到consul里面,并且监听etcd的事件更新consul的数据。prometheus支持consul服务发现功能,通过读取consul来发现监控目标,减少了配置文件数量。
Prometheus,用于采用定时任务http下载配置,并根据下载的配置向对应的微服务采集对应的指标数据得到微服务的监控数据。采用定时任务向告警配置管理获取告警规则,根据告警规则和监控数据判定是否触发报警。当触发报警时,生成对应的告警信息。监听Dec target、Sit target、Uat target和Prd target等。
告警配置管理,用于配置告警规则,并定时向监控系统拉去告警信息。用户可以根据需求配置告警规则。
上述发微服务的监控方法自动化了微服务的监控,开发和运维不需要关心服务部署方式和监控配置问题,服务上线加监控,服务下线删监控,节省了维护监控目标的人力。通过指标埋点,访问地址注册到etcd已经嵌入到开发框架,服务上线,部署成功后自动加入监控,并且给每个采集的元数据加上了cmdb的一些信息,比如app_id,language,group这样监控数据和cmdb的数据可以得到关联,为后续的数据分析,告警自愈打下基础,告警产生后,可以关联到cmdb里维护的基础信息,开发测试人员信息,CI&CD信息,容器信息,网络信息,可以把告警信息内容写的非常完善发送给开发,甚至可以把解决按钮发送给开发来操作。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种微服务监控装置200,包括:
配置信息获取模块201,用于定时从配置管理系统中获取待监控微服务的配置信息,待监控微服务的配置信息,根据待监控微服务的静态信息和待监控微服务的动态信息生成;
监控数据采集模块202,用于根据待监控微服务的配置信息,获取待监控微服务的监控数据;
告警模块203,用于根据告警规则确定是否对待监控微服务的监控数据进行告警。
在一个实施例中,上述微服务监控装置200,还包括:
静态信息获取模块,用于通过配置管理系统,从配置中心获取待监控微服务的静态信息,静态信息包括待监控微服务的服务标识;
动态信息获取模块,用于通过配置管理系统,根据待监控微服务的服务标识,从注册中心获取待监控微服务的动态信息;
配置信息生成模块,用于通过配置管理系统,根据待监控微服务的静态信息和待监控微服务的动态信息,构建待监控微服务的配置信息。
在一个实施例中,上述微服务监控装置200,还包括:
数据保存模块,用于通过配置管理系统,以文件形式保存待监控微服务的配置信息,得到待监控微服务的配置文件;或
通过配置管理系统,注册待监控微服务的配置信息。
在一个实施例中,当配置信息为配置文件时,上述微服务监控装置200,还包括:
监听模块,用于监听待监控微服务的配置文件;
待监控服务更新模块,用于当待监控微服务的配置文件发生变化时,根据发生变化的待监控微服务的配置文件更新待监控微服务。
在一个实施例中,上述微服务监控装置200,还包括:
监听模块,用于监听注册中心的动态信息;
配置信息更新模块,用于当注册中心的动态信息发生变化时,根据注册中心发生变化的动态信息,更新配置管理系统中的待监控微服务的配置信息。
在一个实施例中,上述微服务监控装置200,还包括:
配置信息获取模块201,用于定时遍历配置管理系统中所述待监控微服务的配置信息,根据所述配置信息中静态信息包含的服务标识,从注册中心获取所述待监控微服务的动态信息。
监控数据采集模块202,用于根据动态信息,获取待监控微服务的监控数据。
在一个实施例中,静态信息还包括待监控微服务的自定义标签,监控数据采集模块202,还用于根据待监控微服务的自定义标签,对监控数据进行标记,得到携带自定义标签的监控数据。
在一个实施例中,配置信息获取模块201具体用于通过http接口定时从配置管理系统中获取待监控微服务的配置信息。
在一个实施例中,告警模块203具体用于若当前待监控微服务的监控数据符合告警规则,则生成用于警示当前待监控微服务的告警信息,发送告警信息。
在一个实施例中,如图7所示,提供了一种微服务监控装置300,包括:
静态信息获取模块301,用于从配置中心获取待监控微服务的静态信息,静态信息包括待监控微服务的标识;
动态信息获取模块302,用于根据待监控微服务的标识,从注册中心获取待监控微服务的动态信息;
配置信息构建模块303,用于根据待监控微服务的静态信息和待监控微服务的动态信息,构建待监控微服务的配置信息;
配置信息下发模块304,用于定时下发待监控微服务的配置信息至监控系统,以使监控系统根据待监控微服务的配置信息,获取待监控微服务的监控数据。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的监控系统110(或配置管理系统120)。如图8所示,该计算机设备通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现微服务监控方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行微服务监控方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的微服务监控装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该微服务监控装置的各个程序模块,比如,图6所示的配置信息获取模块20A模块、监控数据采集模块202和告警模块203。图7所示的静态信息获取模块301、动态信息获取模块302、配置信息构建模块303和配置信息下发模块304。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的微服务监控方法中的步骤。
例如,图8所示的计算机设备可以通过如图6所示的微服务监控装置200中的配置信息获取模块201执行定时从配置管理系统中获取待监控微服务的配置信息,待监控微服务的配置信息,根据待监控微服务的静态信息和待监控微服务的动态信息生成。计算机设备可以通过监控数据采集模块202执行根据待监控微服务的配置信息,获取待监控微服务的监控数据。计算机设备可以通过告警模块203执行根据告警规则确定是否对待监控微服务的监控数据进行告警。
例如,图8所示的计算机设备可以通过如图7所示的微服务监控装置300中的静态信息获取模块301执行从配置中心获取待监控微服务的静态信息,静态信息包括待监控微服务的标识。计算机设备可以通过动态信息获取模块302执行根据待监控微服务的标识,从注册中心获取待监控微服务的动态信息。计算机设备可以通过配置信息构建模块303执行根据待监控微服务的静态信息和待监控微服务的动态信息,构建待监控微服务的配置信息。计算机设备可以通过配置信息下发模块304执行定时下发待监控微服务的配置信息至监控系统,以使监控系统根据待监控微服务的配置信息,获取待监控微服务的监控数据。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述微服务监控方法任一实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述微服务监控方法任一实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述微服务监控方法中任一实施例的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (15)

1.一种微服务监控方法,其特征在于,所述方法包括:
定时从配置管理系统中获取待监控微服务的配置信息,所述待监控微服务的配置信息,根据所述待监控微服务的静态信息和所述待监控微服务的动态信息生成;
根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据;
根据告警规则确定是否对所述待监控微服务的监控数据进行告警。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述配置管理系统,从配置中心获取所述待监控微服务的静态信息,所述静态信息包括所述待监控微服务的服务标识;
通过所述配置管理系统,根据所述待监控微服务的服务标识,从注册中心获取所述待监控微服务的动态信息;
通过所述配置管理系统,根据所述待监控微服务的静态信息和所述待监控微服务的动态信息,构建所述待监控微服务的配置信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
通过所述配置管理系统,以文件形式保存所述待监控微服务的配置信息,得到所述待监控微服务的配置文件;或
通过所述配置管理系统,注册所述待监控微服务的配置信息。
4.根据权利要求3所述的方法,其特征在于,当所述配置信息为配置文件时,所述方法还包括:
监听所述待监控微服务的配置文件;
当所述待监控微服务的配置文件发生变化时,根据发生变化的所述待监控微服务的配置文件更新所述待监控微服务。
5.根据权利要求3所述的方法,其特征在于,所述通过所述配置管理系统,注册所述待监控微服务的配置信息之后,所述方法还包括:
监听所述注册中心的动态信息;
当所述注册中心的动态信息发生变化时,根据所述注册中心发生变化的动态信息,更新所述配置管理系统中的所述待监控微服务的配置信息。
6.根据权利要求1所述的方法,其特征在于,所述静态信息包括服务标识,
所述定时从配置管理系统中获取待监控微服务的配置信息,包括:定时遍历配置管理系统中所述待监控微服务的配置信息,根据所述配置信息中静态信息包含的服务标识,从注册中心获取所述待监控微服务的动态信息;
所述根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据,包括:根据所述动态信息,获取所述待监控微服务的监控数据。
7.根据权利要求6所述的方法,其特征在于,所述静态信息还包括所述待监控微服务的自定义标签,所述根据所述动态信息,获取所述待监控微服务的监控数据之后,所述方法还包括:
根据所述待监控微服务的自定义标签,对所述监控数据进行标记,得到携带所述自定义标签的监控数据。
8.根据权利要求1所述的方法,其特征在于,所述定时从所述配置管理系统中获取待监控微服务的配置信息,包括:
通过应用程序接口定时从所述配置管理系统中获取待监控微服务的配置信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前待监控微服务的监控数据符合所述告警规则,则生成用于警示所述当前待监控微服务的告警信息,发送所述告警信息。
10.一种微服务监控方法,其特征在于,所述方法包括:
从配置中心获取待监控微服务的静态信息,所述静态信息包括所述待监控微服务的标识;
根据所述待监控微服务的标识,从注册中心获取所述待监控微服务的动态信息;
根据所述待监控微服务的静态信息和所述待监控微服务的动态信息,构建所述待监控微服务的配置信息;
定时下发所述待监控微服务的配置信息至监控系统,以使所述监控系统根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据。
11.一种微服务监控装置,其特征在于,所述装置包括:
配置信息获取模块,用于定时从配置管理系统中获取待监控微服务的配置信息,所述待监控微服务的配置信息,根据所述待监控微服务的静态信息和所述待监控微服务的动态信息生成;
监控数据采集模块,用于根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据;
告警模块,用于根据告警规则确定是否对所述待监控微服务的监控数据进行告警。
12.一种微服务监控装置,其特征在于,所述装置包括:
静态信息获取模块,用于从配置中心获取待监控微服务的静态信息,所述静态信息包括所述待监控微服务的标识;
动态信息获取模块,用于根据所述待监控微服务的标识,从注册中心获取所述待监控微服务的动态信息;
配置信息构建模块,用于根据所述待监控微服务的静态信息和所述待监控微服务的动态信息,构建所述待监控微服务的配置信息;
配置信息下发模块,用于定时下发所述待监控微服务的配置信息至监控系统,以使所述监控系统根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据。
13.一种微服务监控系统,其特征在于,所述系统包括:配置中心、注册中心、配置管理系统和监控系统,
所述配置中心,用于配置待监控微服务的静态信息;
所述注册中心,用于注册所述待监控微服务的动态信息;
所述配置管理系统,用于从配置中心获取所述待监控微服务的静态信息,所述静态信息包括所述待监控微服务的服务标识;根据所述待监控微服务的服务标识,从注册中心获取所述待监控微服务的动态信息,根据所述待监控微服务的静态信息和所述待监控微服务的动态信息,构建所述待监控微服务的配置信息;
所述监控系统,用于定时向所述配置管理系统,获取待监控微服务的配置信息,根据所述待监控微服务的配置信息,获取所述待监控微服务的监控数据,根据告警规则确定是否对所述待监控微服务的监控数据进行告警。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN202010921991.2A 2020-09-04 2020-09-04 微服务监控方法、装置、系统、计算机设备和存储介质 Pending CN112217864A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010921991.2A CN112217864A (zh) 2020-09-04 2020-09-04 微服务监控方法、装置、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010921991.2A CN112217864A (zh) 2020-09-04 2020-09-04 微服务监控方法、装置、系统、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112217864A true CN112217864A (zh) 2021-01-12

Family

ID=74048835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010921991.2A Pending CN112217864A (zh) 2020-09-04 2020-09-04 微服务监控方法、装置、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112217864A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778807A (zh) * 2021-09-17 2021-12-10 中国农业银行股份有限公司 一种微服务应用运行数据的采集方法及系统
CN113938374A (zh) * 2021-12-20 2022-01-14 飞狐信息技术(天津)有限公司 一种监控仪表盘的处理方法及装置
CN114002981A (zh) * 2021-10-29 2022-02-01 广东电力信息科技有限公司 基于微服务的机房监控方法、装置、设备及存储介质
CN114401303A (zh) * 2021-12-20 2022-04-26 苏州众言网络科技股份有限公司 应用于微服务的服务注册与发现方法、系统和装置
CN114500637A (zh) * 2022-02-10 2022-05-13 广州钛动科技有限公司 一种微服务通信框架构建方法、装置、设备和介质
CN115269308A (zh) * 2022-06-29 2022-11-01 北京结慧科技有限公司 一种Kafka监控方法及系统、计算机设备及介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778807A (zh) * 2021-09-17 2021-12-10 中国农业银行股份有限公司 一种微服务应用运行数据的采集方法及系统
CN113778807B (zh) * 2021-09-17 2024-02-23 中国农业银行股份有限公司 一种微服务应用运行数据的采集方法及系统
CN114002981A (zh) * 2021-10-29 2022-02-01 广东电力信息科技有限公司 基于微服务的机房监控方法、装置、设备及存储介质
CN113938374A (zh) * 2021-12-20 2022-01-14 飞狐信息技术(天津)有限公司 一种监控仪表盘的处理方法及装置
CN114401303A (zh) * 2021-12-20 2022-04-26 苏州众言网络科技股份有限公司 应用于微服务的服务注册与发现方法、系统和装置
CN114500637A (zh) * 2022-02-10 2022-05-13 广州钛动科技有限公司 一种微服务通信框架构建方法、装置、设备和介质
CN115269308A (zh) * 2022-06-29 2022-11-01 北京结慧科技有限公司 一种Kafka监控方法及系统、计算机设备及介质

Similar Documents

Publication Publication Date Title
CN112217864A (zh) 微服务监控方法、装置、系统、计算机设备和存储介质
CN108038053B (zh) 一种动态配置埋点的方法及设备
US10417060B2 (en) Automated API publication for Internet of Things platform
US20170244626A1 (en) Device and settings management platform
US20140359129A1 (en) Migration Assessment for Cloud Computing Platforms
CN103718154A (zh) 用于执行设备控制的系统和方法
CN106844730B (zh) 文件内容的显示方法及装置
US10372572B1 (en) Prediction model testing framework
CN104679500B (zh) 实体类自动生成实现方法及装置
CN110879773B (zh) 一种基于CGroup的内存监控方法和装置
CN112988607B (zh) 一种应用程序的组件检测方法、装置和存储介质
CN114401187A (zh) 灰度发布方法、装置、计算机设备和存储介质
CN112527459B (zh) 一种基于Kubernetes集群的日志分析方法及装置
CN106970811A (zh) 一种补丁文件安装方法及其设备
CN112346944B (zh) 一种监控网页用户操作体验的方法、设备及存储介质
CN116303250A (zh) 会计档案数据的管理方法、装置、电子设备及介质
JP2007241873A (ja) ネットワーク上のコンピュータ資源の変更監視プログラム
CN111221711A (zh) 用户行为数据处理方法、服务器及存储介质
US10324821B2 (en) Oracle cemli analysis tool
CN115080164A (zh) 微前端页面跳转方法、装置和存储介质
CN111356097B (zh) 一种短信解析方法、装置以及可读存储介质
CN115202898A (zh) 消息消费方法、装置、计算机设备和存储介质
CN106354620B (zh) 一种资源监控方法及系统
CN111880996B (zh) 一种裸机数据采集方法、装置、设备及可读存储介质
CN109450700B (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