CN114785690A - 基于服务网格的监控方法及相关设备 - Google Patents
基于服务网格的监控方法及相关设备 Download PDFInfo
- Publication number
- CN114785690A CN114785690A CN202210332072.0A CN202210332072A CN114785690A CN 114785690 A CN114785690 A CN 114785690A CN 202210332072 A CN202210332072 A CN 202210332072A CN 114785690 A CN114785690 A CN 114785690A
- Authority
- CN
- China
- Prior art keywords
- data
- monitoring
- link
- tracking
- unit
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 169
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004458 analytical method Methods 0.000 claims abstract description 56
- 230000000007 visual effect Effects 0.000 claims abstract description 42
- 238000010586 diagram Methods 0.000 claims abstract description 26
- 238000012546 transfer Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013480 data collection Methods 0.000 claims description 4
- 238000012806 monitoring device Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 10
- 238000012800 visualization Methods 0.000 description 10
- 241001178520 Stomatepia mongo Species 0.000 description 7
- 238000013024 troubleshooting Methods 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 241000529895 Stercorarius Species 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013079 data visualisation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种基于服务网格的监控方法及相关设备;方法包括:对服务网格中的每个域:使用边缘与服务代理获取域的指标数据和追踪数据,并将指标数据和追踪数据分发至日志采集单元;从日志采集单元抓取指标数据,使用可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示;将日志采集单元中的追踪数据分发至依赖分析单元,并通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系;对链路数据进行自定义查询,得到目标链路数据,使用应用性能监控平台将目标链路数据可视化展示为散点图和链路追踪信息,并使用网格管理后台将依赖拓扑数据关系可视化展示为拓扑图。可以看出,本方法可以实现在宏观和微观层面对服务网格进行监控。
Description
技术领域
本申请的实施例涉及数据处理技术领域,尤其涉及一种基于服务网格的监控方法及相关设备。
背景技术
在相关的服务网格的监控中,往往是对固定目标数据的监控,在维度上,难以对不同域、不同服务等多个维度进行聚合,也无法同时获取宏观层面上整体的监控信息和微观层面上每个请求的相关信息,导致在服务网格出现问题时,排查和定位十分困难。
基于此,需要一种能够实现可以综合不同维度,同时在宏观层面和微观层面进行监控的方案,以提高问题的排查和定位效率。
发明内容
有鉴于此,本申请的目的在于提出一种基于服务网格的监控方法及相关设备。
基于上述目的,本申请提供了基于服务网格的监控方法,所述服务网格包括有多个域,其中,所述服务网格配置有日志采集单元、依赖分析单元、可视化监控仪表、应用性能监控平台和网格管理后台,每个所述域配置有边缘与服务代理;
所述方法包括:
对服务网格中的每个域,执行如下操作:
使用所述边缘与服务代理获取所述域的指标数据和追踪数据,并将所述指标数据和所述追踪数据分发至所述日志采集单元;
从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示;
将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,并通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系;
对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,并使用所述网格管理后台将所述依赖拓扑数据关系可视化展示为拓扑图。
进一步地,所述日志采集单元包括,追踪监控日志采集子单元;所述服务网格还包括,消息队列框架、数据转发单元、文档数据库;
对所述追踪数据的展示,还包括:
使用所述追踪监控日志采集子单元将所述追踪数据分发到所述消息队列框架;
使用所述队列消息框架将所述追踪数据分发至所述数据转发单元;
令所述数据转发单元将所述追踪数据持久化到所述文档数据库;
在所述应用性能平台中设置自定义的流水查询条件,使用所述应用性能平台从所述文档数据库中查询出符合所述流水查询条件的目标追踪数据,并调取查询结果;
在所述应用性能平台中,将调取的所述目标追踪数据可视化展示为网格流水。
进一步地,所述所述边缘与服务代理包括,追踪数据上报插件和指标数据上报插件;所述日志采集单元还包括,指标监控日志采集子单元;
所述将所述指标数据和所述追踪数据分发至所述日志采集单元,包括:
利用所述指标数据上报插件,通过用户数据报协议,定时将所述域的所述指标数据分发至所述指标监控日志采集子单元;
利用所述追踪数据上报插件,通过超文本传输协议,定时将所述域的所述追踪数据分发至所述追踪监控日志采集子单元。
进一步地,所述服务网格还包括,普罗米修斯监控单元;
所述从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示,包括:
使用所述普罗米修斯监控单元定时从所述指标监控日志采集子单元中抓取所述指标数据,并将得到的所述指标数据在所述普罗米修斯监控单元中持久化存储;
在所述可视化监控仪表中设置自定义的指标数据查询条件,使用所述可视化监控仪表从所述普罗米修斯监控单元内查询出符合所述指标数据查询条件的所述目标指标数据,并调取查询结果;
在所述可视化监控仪表中,对调取的所述目标指标数据进行可视化展示。
进一步地,所述将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,包括;
使用所述追踪监控日志采集子单元将所述追踪数据分发到所述消息队列框架;
使用所述队列消息框架将所述追踪数据分发至所述依赖分析单元。
进一步地,每个所述域包括有多个服务;所述服务网格还包括,全文搜索引擎;
所述通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系,包括:
所述依赖分析单元识别根据所述域的域标识,在混合了全部域的追踪数据中区分出所述域的所述追踪数据,对所述追踪数据进行链路分析,得到各个请求在所述域中的所述链路数据;
所述依赖分析单元对所述追踪数据进行依赖分析,得到所述域中各个服务之间的依赖拓扑关系;
将所述链路数据和所述依赖拓扑关系持久化存储至所述全文搜索引擎。
进一步地,所述对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,包括:
在所述应用性能平台中设置自定义的链路数据查询条件,所述应用性能监控平台通过所述追踪数据查询单元查询出符合所述链路数据查询条件的目标链路数据,并调取查询结果;
在所述应用性能平台中,将调取的所述目标链路数据可视化展示为所述链路追踪信息和所述散点图。
基于同一发明构思,本申请还提供了一种基于服务网格的监控装置,所述服务网格包括有多个域,其中,所述服务网格配置有日志采集单元、依赖分析单元、可视化监控仪表、应用性能监控平台和网格管理后台,每个所述域配置有边缘与服务代理;
所述装置包括:
在所述服务网格中的每个域,设置如下模块:
数据收集模块,被配置为,使用所述边缘与服务代理获取所述域的指标数据和追踪数据,并将所述指标数据和所述追踪数据分发至所述日志采集单元;
指标监控模块,被配置为,从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示;
分析模块,被配置为,将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,并通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系;
查询和展示模块,被配置为,对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,并使用所述网格管理后台将所述依赖拓扑数据关系可视化展示为拓扑图。
基于同一发明构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的基于服务网格的监控方法。
基于同一发明构思,本申请还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述基于服务网格的监控方法。
可见,本申请的实施例的基于服务网格的监控方法及相关设备,基于服务网格中的各个单元和前端的展示平台,综合考虑了宏观监控中的指标数据和微观监控中的追踪数据,来进行每个域的监控,并针对不同的需求,将数据细化为链路数据、依赖拓扑关系和指标数据,使得性能监控平台、可视化监控仪表和网格管理后台可以分别从日志采集单元中获取各自的不同数据,并将其自定义地可视化为不同形式进行展示,从而实现服务网格在宏观层面和微观层面均可查看相应的监控信息,提高了故障时的问题排查效率和定位效率。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例的基于服务网格的监控方法方法的流程图;
图1b为本申请实施例的基于服务网格的监控架构的示意图;
图2为本申请实施例的基于服务网格的监控装置模块示意图;
图3为本申请实施例的电子设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请的实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请的实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
如背景技术部分所述,相关的基于服务网格的监控方法还难以满足时间监控和排查问题的需要。
申请人在实现本申请的过程中发现,相关的基于服务网格的监控方法存在的主要问题在于:首先,采用过于单一的监控方式,难以同时从宏观层面和微观层面查看服务网格的监控信息,具体地,在很多情况下,对服务网格的监控既需要通过整体的常规指标数据来查看,又同时需要通过具体每个请求的请求信息和链路信息来查看。
进一步地,申请人在研究中还发现,在服务网格出现问题时,对问题的排查和定位往往需要从不同维度出发,也就是说,需要服务网格的监控能够对域、服务和实例等不同维度的监控信息进行聚合,以得到有效的问题排查能力和定位能力
可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
以下,通过具体的实施例,来详细说明本申请的技术方法。
本申请实施例的监控方法应用于服务网格,在本实施例中,服务网格包括有多个域,每个域中包括有1个基础服务和多个应用服务。
进一步地,以图1b示出的基于服务网格的监控架构作为本实施例的具体示例,如图1b所示,该监控架构具体设置为:
在该服务网格中设置有日志采集单元、Kalfka(消息队列框架)、Jaeger-Analytics(依赖分析单元)、Jaeger-Ingester(数据转发单元)、Elastic-Search(全文搜索引擎)、Mongo(文档数据库)、Prometheus监控单元(普罗米修斯监控单元)、Jaeger-Query(追踪数据查询单元)、网格管理后台、AMP监控平台(应用性能监控平台)和Grafana监控平台(可视化监控仪表)。
其中,日志采集单元中设置有Jaeger-Collector(追踪监控日志采集子单元)和Statsd-Exporter(指标监控日志采集子单元);AMP监控平台中设置有Jaeger-UI(追踪数据可视化页面)。
在该服务网格的每个域中,设置有至少1个Envoy(边缘与服务代理);其中,每个Envoy中包括有:Envoy-Zipkin(追踪数据上报插件)和Statsd-Sink(指标数据上报插件)。
参考图1a,本申请一个实施例的基于服务网格的监控方法,包括以下步骤:
步骤S1a-01、使用所述边缘与服务代理获取所述域的指标数据和追踪数据,并将所述指标数据和所述追踪数据分发至所述日志采集单元。
在本申请的实施例中,对于服务网格中的每个域,使用该域中的Envoy收集该域的相关监控统计数据。
具体地,在本实施例中将相关的监控统计数据分为追踪数据和指标数据;其中,追踪数据表示了该域在微观层面的监控统计数据,具体统计了该域内收到的请求及与该请求相关的数据;指标数据表示了该域在宏观层面的监控统计数据,具体统计了该域内的例如请求数、错误数、平均响应时间,以及其他常规监控指标等。
进一步地,相关监控统计数据可以按照预定的时间间隔,或者按照预定的时刻,进行定时收集,并使用Envoy将追踪数据和指标数据分别上报至日志采集单元。
具体地,如图1b所示,可以使用Envoy中的Envoy-Zipkin通过UPD协议(用户数据报协议)定时将追踪数据的上报至日志采集单元;并使用Envoy中的Envoy-Sink通过Http协议(超文本传输协议)定时将指标数据上报至日志采集单元。
其中,Envoy-Zipkin可以为追踪数据配置特定的域标识,利用该特定的域标识可以对每个请求相关的追踪数据进行区分,以获知每个追踪数据所属的不同域。
进一步地,日志采集单元定时对Envoy中的上述追踪数据和指标数据分别进行收集。
具体地,如图1b所示,可以使用日志采集单元中作为分布式跟踪系统Jaeger收集器的Jaeger-Collector对追踪数据进行收集;并使用日志采集单元中的Statsd-Sink对指标数据进行收集。
为了实现对监控数据的可视化展示,对上述收集到的追踪数据和指标数据分别进行下述的可视化处理。
步骤S1a-02、从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示。
在本申请的实施例中,基于日志采集单元中收集的指标数据,对该指标数据进行抓取和持久化操作,并可视化到相应的前端页面,以得到宏观监控的可视化展示。
具体地,如图1b所示,使用Prometheus监控单元定时从Statsd-Exporter抓取指标数据,该Prometheus监控单元还具相关的存储功能组件,可以对抓取到的指标数据进行持久化存储。
进一步地,基于在Prometheus监控单元中存储的指标数据,可以使用Grafana对该指标数据进行自定义的可视化展示。
具体地,如图1b所示,在Grafana监控平台中预先设置自定义的查询条件,例如,可以将特定域,或者特定域中的特定服务,或者特定服务的特定版本等特定的数据源作为查询条件。
进一步地,Grafana可以根据上述预设的查询条件,从Pronetheus监控平台中查询符合该查询条件的指标数据。
进一步地,将符合上述查询条件的指标数据作为目标指标数据,并令Grafana从Prometheus监控平台中调取目标指标数据。
进一步地,在Grafana中对调取出的目标指标数据进行可视化展示。
具体地,Grafana监控平台作为可视化工具,可以灵活快速地选择多种仪表展示图形,并可以根据具体需求,将混合了不同数据源的目标指标数据以仪表的形态进行自定义的可视化展示。
基于上述对指标数据完成的可视化展示,实现了对服务网格的宏观监控可视化。
步骤S1a-03、将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,并通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系。
在本申请的实施例中,基于日志采集单元中收集的追踪数据,对该追踪数据进行分发和分析操作。
具体地,如图1b所示,Jaeger-Collector可以将追踪数据分发到Kafka中。
进一步地,Kafka作为基于发布和订阅功能的分布式的消息系统,在本实施例的监控架构中,构建可靠的用于传输实时数据的管道,并基于消息队列功能,将追踪数据分发到Jaeger-Analytics和Jaeger-Ingester中。
在本实施例中,Jaeger-Ingester作为分布式跟踪系统Jaeger的持久化工具,可以将上述的追踪数据转发至Mongo。
进一步地,Mongo持久化存储接收到的追踪数据。
进一步地,基于Mongo中存储的追踪数据,可以使用AMP监控平台选择相应的追踪数据进行可视化展示。
具体地,AMP监控平台作为一类可视化的全链路的监控平台,在对链路进行监控时,可以预先为追踪数据设置自定义的数据查询条件,例如,可以将特定域,或者特定域中的特定服务,或者特定服务的特定版本等特定的数据源作为查询条件。
进一步地,AMP监控平台可以根据上述预设的查询条件,从Mongo中查询符合该自定义查询条件的追踪数据。
进一步地,将符合上述查询条件的追踪数据作为目标追踪数据,并令AMP监控平台从Mongo中调取目标追踪数据。
进一步地,在AMP监控平台中对调取出的目标追踪数据进行可视化展示。
具体地,对上述目标追踪数据的可视化展示具体可以包括例如,该服务网格的各个域中每个请求的来源、目标和耗时等流水信息,因此,在本实施例中,将此部分的可视化展示称为网格流水;进一步地,根据上述配置的域标识可以对不同域的追踪数据进行区分,并将其体现在可视化展示中。
在本申请的实施例中,Jaeger-Analytics作为分布式跟踪系统Jaeger的单元之一,可以对接收到的追踪数据进行链路分析和依赖拓扑分析。
具体地,通过对追踪数据进行依赖拓扑分析,可以确定每个服务所依赖的其他服务,以及依赖该服务的其他服务,并据此得到各个服务之间的依赖拓扑关系;通过对追踪数据的链路分析可以得到每个请求的全链路信息,也即每个请求在服务网格中所历经的各个节点,以及各个请求在微观监控上的具体数据,例如,请求的时间、耗时和结果是否成功等,在本实施例中将得到的全链路信息作为链路数据。
进一步地,Jaeger-Analytics可以将得到的链路数据和依赖拓扑关系持久化存储至Elastic-Search,以供下述的Jaeger-Query进行查询。
步骤S1a-04、对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,并使用所述网格管理后台将所述依赖拓扑数据关系可视化展示为拓扑图。
在本申请的实施例中,基于上述存储的链路数据和依赖拓扑关系,可以通过自定义的查询,将相关的链路数据和依赖拓扑关系可视化到相应的平台中,以得到各个请求和链路信息在微观监控中的可视化展示。
具体地,可以使用Jaeger-Query对Elastic-Search中存储的链路数据和依赖拓扑关系进行调取,其中,Jaeger-Query作为Jaeger后端的一个单元,为前端可视化展示平台的搜索提供接口。
进一步地,可以在AMP监控平台中为链路数据的可视化预先设置自定义的数据查询条件,例如,可以将特定域,或者特定域中的特定服务,或者特定服务的特定版本等特定的数据源,或者链路数据中的TraceID等作为查询条件。
进一步地,根据上述预设的查询条件,AMP监控平台可以通过作为接口的Jaeger-Query从Elastic-Search中查询符合该自定义查询条件的链路数据。
进一步地,将符合上述查询条件的链路数据作为目标链路数据,并令AMP监控平台从Elastic-Search中调取该目标链路数据。
进一步地,在AMP监控平台中对调取出的目标链路数据进行可视化展示。
具体地,利用AMP监控平台中的Jaeger-UI将目标链路数据可视化为服务网格的链路追踪信息,并根据每个请求的TraceID在可视化展示中对不同请求的链路进行区分。
进一步地,利用AMP监控平台中的Jaeger-UI还可以将目标链路数据可视化展示为散点图,其中,在散点图中可以将每个请求作为一个点,时间作为横轴,将该请求的耗时作为纵轴,并以不同颜色的点来区分该请求的成功和失败。
在本申请的实施例中,网格管理后台可以将依赖拓扑关系可视化展示为拓扑图。
具体地,可以在服务网格的网格管理后台中为依赖拓扑关系的可视化预先设置自定义的查询条件,例如,可以将特定域,或者特定域中的特定服务,或者特定服务的特定版本等特定的数据源作为查询条件。
进一步地,根据上述预设的查询条件,网格管理后台可以通过作为接口的Jaeger-Query从Elastic-Search中查询符合该自定义查询条件的依赖拓扑关系。
进一步地,将符合上述查询条件的依赖拓扑关系作为目标依赖拓扑关系,并令网格管理后台从Elastic-Search中调取该目标依赖拓扑关系。
进一步地,在网格管理后台中对调取出的目标依赖拓扑关系进行可视化展示。
具体地,在网格管理后台中将目标依赖拓扑关系可视化为各个服务之间的拓扑图,并展示在可视化页面中。
可见,本申请的实施例的基于服务网格的监控方法,基于服务网格中的各个单元和前端的展示平台,综合考虑了宏观监控中的指标数据和微观监控中的追踪数据,来进行每个域的监控,并针对不同的需求,将数据细化为链路数据、依赖拓扑关系和指标数据,使得性能监控平台、可视化监控仪表和网格管理后台可以分别从日志采集单元中获取各自的不同数据,并将其自定义地可视化为不同形式进行展示,从而实现服务网格在宏观层面和微观层面均可查看相应的监控信息,提高了故障时的问题排查效率和定位效率。
需要说明的是,本申请的实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请的实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请的实施例还提供了一种基于服务网格的监控装置。
其中,在该服务网格中设置有日志采集单元、Kalfka(消息队列框架)、Jaeger-Analytics(依赖分析单元)、Jaeger-Ingester(数据转发单元)、Elastic-Search(全文搜索引擎)、Mongo(文档数据库)、Prometheus监控单元(普罗米修斯监控单元)、Jaeger-Query(追踪数据查询单元)、网格管理后台、AMP监控平台(应用性能监控平台)和Grafana监控平台(可视化监控仪表)。
其中,日志采集单元中设置有Jaeger-Collector(追踪监控日志采集子单元)和Statsd-Exporter(指标监控日志采集子单元);AMP监控平台中设置有Jaeger-UI(追踪数据可视化页面)。
在该服务网格的每个域中,设置有至少1个Envoy(边缘与服务代理);其中,每个Envoy中包括有:Envoy-Zipkin(追踪数据上报插件)和Statsd-Sink(指标数据上报插件)。
参考图2,所述基于服务网格的监控装置,包括:
在所述服务网格中的每个域,设置如下模块:
数据收集模块201,被配置为,使用所述边缘与服务代理获取所述域的指标数据和追踪数据,并将所述指标数据和所述追踪数据分发至所述日志采集单元;
指标监控模块202,被配置为,从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示;
分析模块203,被配置为,将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,并通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系;
查询和展示模块204,被配置为,对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,并使用所述网格管理后台将所述依赖拓扑数据关系可视化展示为拓扑图。
作为一个可选的实施例,所述数据收集模块201,还具体被配置为:利用所述指标数据上报插件,通过用户数据报协议,定时将所述域的所述指标数据分发至所述指标监控日志采集子单元;
利用所述追踪数据上报插件,通过超文本传输协议,定时将所述域的所述追踪数据分发至所述追踪监控日志采集子单元。
作为一个可选的实施例,所述指标监控模块202,还具体被配置为:使用所述普罗米修斯监控单元定时从所述指标监控日志采集子单元中抓取所述指标数据,并将得到的所述指标数据在所述普罗米修斯监控单元中持久化存储;
在所述可视化监控仪表中设置自定义的指标数据查询条件,使用所述可视化监控仪表从所述普罗米修斯监控单元内查询出符合所述指标数据查询条件的所述目标指标数据,并调取查询结果;
在所述可视化监控仪表中,对调取的所述目标指标数据进行可视化展示。
作为一个可选的实施例,所述分析模块203,还具体被配置为:使用所述追踪监控日志采集子单元将所述追踪数据分发到所述消息队列框架;
使用所述队列消息框架将所述追踪数据分发至所述依赖分析单元。
所述依赖分析单元识别根据所述域的域标识,在混合了全部域的追踪数据中区分出所述域的所述追踪数据,对所述追踪数据进行链路分析,得到各个请求在所述域中的所述链路数据;
所述依赖分析单元对所述追踪数据进行依赖分析,得到所述域中各个服务之间的依赖拓扑关系;
将所述链路数据和所述依赖拓扑关系持久化存储至所述全文搜索引擎。
使用所述追踪监控日志采集子单元将所述追踪数据分发到所述消息队列框架;
使用所述队列消息框架将所述追踪数据分发至所述数据转发单元;
令所述数据转发单元将所述追踪数据持久化到所述文档数据库。
作为一个可选的实施例,所述查询和展示模块204,还具体被配置为:在所述应用性能平台中设置自定义的链路数据查询条件,所述应用性能监控平台通过所述追踪数据查询单元查询出符合所述链路数据查询条件的目标链路数据,并调取查询结果;
在所述应用性能平台中,将调取的所述目标链路数据可视化展示为所述链路追踪信息和所述散点图。
在所述应用性能平台中设置自定义的流水查询条件,使用所述应用性能平台从所述文档数据库中查询出符合所述流水查询条件的目标追踪数据,并调取查询结果;
在所述应用性能平台中,将调取的所述目标追踪数据可视化展示为网格流水。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请的实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的基于服务网格的监控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请的实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的基于服务网格的监控方法。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备、动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本申请实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的装置用于实现前述任一实施例中相应的基于服务网格的监控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于服务网格的监控方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的基于服务网格的监控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请的实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请的实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请的实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请的实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请的实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于服务网格的监控方法,其特征在于,所述服务网格包括有多个域,其中,所述服务网格配置有日志采集单元、依赖分析单元、可视化监控仪表、应用性能监控平台和网格管理后台,每个所述域配置有边缘与服务代理;
所述方法包括:
对服务网格中的每个域,执行如下操作:
使用所述边缘与服务代理获取所述域的指标数据和追踪数据,并将所述指标数据和所述追踪数据分发至所述日志采集单元;
从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示;
将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,并通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系;
对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,并使用所述网格管理后台将所述依赖拓扑数据关系可视化展示为拓扑图。
2.根据权利要求1所述的方法,其特征在于,所述日志采集单元包括,追踪监控日志采集子单元;所述服务网格还包括,消息队列框架、数据转发单元、文档数据库;
对所述追踪数据的展示,还包括:
使用所述追踪监控日志采集子单元将所述追踪数据分发到所述消息队列框架;
使用所述队列消息框架将所述追踪数据分发至所述数据转发单元;
令所述数据转发单元将所述追踪数据持久化到所述文档数据库;
在所述应用性能平台中设置自定义的流水查询条件,使用所述应用性能平台从所述文档数据库中查询出符合所述流水查询条件的目标追踪数据,并调取查询结果;
在所述应用性能平台中,将调取的所述目标追踪数据可视化展示为网格流水。
3.根据权利要求2所述的方法,其特征在于,所述所述边缘与服务代理包括,追踪数据上报插件和指标数据上报插件;所述日志采集单元还包括,指标监控日志采集子单元;
所述将所述指标数据和所述追踪数据分发至所述日志采集单元,包括:
利用所述指标数据上报插件,通过用户数据报协议,定时将所述域的所述指标数据分发至所述指标监控日志采集子单元;
利用所述追踪数据上报插件,通过超文本传输协议,定时将所述域的所述追踪数据分发至所述追踪监控日志采集子单元。
4.根据权利要求3所述的方法,其特征在于,所述服务网格还包括,普罗米修斯监控单元;
所述从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示,包括:
使用所述普罗米修斯监控单元定时从所述指标监控日志采集子单元中抓取所述指标数据,并将得到的所述指标数据在所述普罗米修斯监控单元中持久化存储;
在所述可视化监控仪表中设置自定义的指标数据查询条件,使用所述可视化监控仪表从所述普罗米修斯监控单元内查询出符合所述指标数据查询条件的所述目标指标数据,并调取查询结果;
在所述可视化监控仪表中,对调取的所述目标指标数据进行可视化展示。
5.根据权利要求3所述的方法,其特征在于,所述将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,包括;
使用所述追踪监控日志采集子单元将所述追踪数据分发到所述消息队列框架;
使用所述队列消息框架将所述追踪数据分发至所述依赖分析单元。
6.根据权利要求1所述的方法,其特征在于,每个所述域包括有多个服务;所述服务网格还包括,全文搜索引擎;
所述通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系,包括:
所述依赖分析单元识别根据所述域的域标识,在混合了全部域的追踪数据中区分出所述域的所述追踪数据,对所述追踪数据进行链路分析,得到各个请求在所述域中的所述链路数据;
所述依赖分析单元对所述追踪数据进行依赖分析,得到所述域中各个服务之间的依赖拓扑关系;
将所述链路数据和所述依赖拓扑关系持久化存储至所述全文搜索引擎。
7.根据权利要求1所述的方法,其特征在于,所述对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,包括:
在所述应用性能平台中设置自定义的链路数据查询条件,所述应用性能监控平台通过所述追踪数据查询单元查询出符合所述链路数据查询条件的目标链路数据,并调取查询结果;
在所述应用性能平台中,将调取的所述目标链路数据可视化展示为所述链路追踪信息和所述散点图。
8.一种基于服务网格的监控装置,其特征在于,所述服务网格包括有多个域,其中,所述服务网格配置有日志采集单元、依赖分析单元、可视化监控仪表、应用性能监控平台和网格管理后台,每个所述域配置有边缘与服务代理;
所述装置包括:
在所述服务网格中的每个域,设置如下模块:
数据收集模块,被配置为,使用所述边缘与服务代理获取所述域的指标数据和追踪数据,并将所述指标数据和所述追踪数据分发至所述日志采集单元;
指标监控模块,被配置为,从所述日志采集单元抓取所述指标数据,使用所述可视化监控仪表从指标数据中调取目标指标数据并进行可视化展示;
分析模块,被配置为,将所述日志采集单元中的所述追踪数据分发至所述依赖分析单元,并通过链路分析得到链路数据,通过依赖拓扑分析得到依赖拓扑关系;
查询和展示模块,被配置为,对所述链路数据进行自定义查询,得到目标链路数据,使用所述应用性能监控平台将所述目标链路数据可视化展示为散点图和链路追踪信息,并使用所述网格管理后台将所述依赖拓扑数据关系可视化展示为拓扑图。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210332072.0A CN114785690B (zh) | 2022-03-30 | 2022-03-30 | 基于服务网格的监控方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210332072.0A CN114785690B (zh) | 2022-03-30 | 2022-03-30 | 基于服务网格的监控方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114785690A true CN114785690A (zh) | 2022-07-22 |
CN114785690B CN114785690B (zh) | 2024-04-30 |
Family
ID=82426976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210332072.0A Active CN114785690B (zh) | 2022-03-30 | 2022-03-30 | 基于服务网格的监控方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114785690B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383018A (zh) * | 2023-06-05 | 2023-07-04 | 江苏博云科技股份有限公司 | 自定义流量追踪插件的方法及系统 |
CN116708558A (zh) * | 2022-09-30 | 2023-09-05 | 腾讯云计算(北京)有限责任公司 | 全链路追踪系统代理方法、装置、计算机设备及存储介质 |
US11985051B1 (en) | 2023-02-08 | 2024-05-14 | Red Hat, Inc. | Dynamically visualizing service mesh topologies with event-based messaging |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858248A (zh) * | 2020-07-20 | 2020-10-30 | 北京百度网讯科技有限公司 | 应用监控方法、装置、设备以及存储介质 |
CN111913818A (zh) * | 2020-08-07 | 2020-11-10 | 平安科技(深圳)有限公司 | 一种确定服务间依赖关系的方法及相关装置 |
CN114172949A (zh) * | 2021-12-10 | 2022-03-11 | 航天信息股份有限公司 | 一种微服务链路监控追踪方法和系统 |
CN114189430A (zh) * | 2021-12-09 | 2022-03-15 | 兴业银行股份有限公司 | 立体化日志全链路监控系统、方法、介质及设备 |
-
2022
- 2022-03-30 CN CN202210332072.0A patent/CN114785690B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858248A (zh) * | 2020-07-20 | 2020-10-30 | 北京百度网讯科技有限公司 | 应用监控方法、装置、设备以及存储介质 |
CN111913818A (zh) * | 2020-08-07 | 2020-11-10 | 平安科技(深圳)有限公司 | 一种确定服务间依赖关系的方法及相关装置 |
CN114189430A (zh) * | 2021-12-09 | 2022-03-15 | 兴业银行股份有限公司 | 立体化日志全链路监控系统、方法、介质及设备 |
CN114172949A (zh) * | 2021-12-10 | 2022-03-11 | 航天信息股份有限公司 | 一种微服务链路监控追踪方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708558A (zh) * | 2022-09-30 | 2023-09-05 | 腾讯云计算(北京)有限责任公司 | 全链路追踪系统代理方法、装置、计算机设备及存储介质 |
US11985051B1 (en) | 2023-02-08 | 2024-05-14 | Red Hat, Inc. | Dynamically visualizing service mesh topologies with event-based messaging |
CN116383018A (zh) * | 2023-06-05 | 2023-07-04 | 江苏博云科技股份有限公司 | 自定义流量追踪插件的方法及系统 |
CN116383018B (zh) * | 2023-06-05 | 2023-09-15 | 江苏博云科技股份有限公司 | 自定义流量追踪插件的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114785690B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114785690B (zh) | 基于服务网格的监控方法及相关设备 | |
CN112307057A (zh) | 数据的处理方法及装置、电子设备、计算机存储介质 | |
CN113987074A (zh) | 分布式服务全链路监控方法、装置、电子设备及存储介质 | |
CN111324511B (zh) | 报警规则的生成方法、装置、电子设备及存储介质 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
WO2019015670A1 (zh) | 跟踪、监控软件行为的方法、装置及设备 | |
CN111950857A (zh) | 基于业务指标的指标体系管理方法、装置以及电子设备 | |
WO2021242466A1 (en) | Computing performance analysis for spans in a microservices-based architecture | |
CN111694708A (zh) | 数据查询方法、装置及电子设备、存储介质 | |
CN114356692A (zh) | 一种应用监控链路的可视化处理方法、装置及存储介质 | |
CN113596078A (zh) | 业务问题定位方法及装置 | |
CN111309743A (zh) | 报表推送方法及装置 | |
CN109086429B (zh) | Ivr语音导航的方法、系统、设备及存储介质 | |
CN110543410A (zh) | 一种处理集群指标的方法、查询集群指标的方法和装置 | |
CN112380091A (zh) | 一种服务运行情况监控方法、装置和相关设备 | |
CN115202973A (zh) | 应用运行状态的确定方法、装置、电子设备和介质 | |
CN111597026B (zh) | 用于获取信息的方法及装置 | |
CN114531361A (zh) | 一种分布式系统的服务拓扑分析方法、装置及存储介质 | |
CN114625763A (zh) | 用于数据库的信息分析方法、装置、电子设备和可读介质 | |
CN112596974A (zh) | 一种全链路监控方法、装置、设备和存储介质 | |
CN113114612B (zh) | 分布式系统调用链的确定方法和装置 | |
CN112799863A (zh) | 用于输出信息的方法和装置 | |
CN116401138B (zh) | 操作系统的运行状态检测方法、装置、电子设备和介质 | |
CN113254523B (zh) | 一种数据调用方法、装置、电子设备及存储介质 | |
US11860760B1 (en) | Aggregating metrics for workflows associated with a real user session |
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 |