CN115269331A - 面向微服务组的服务拓扑监控方法及相关设备 - Google Patents
面向微服务组的服务拓扑监控方法及相关设备 Download PDFInfo
- Publication number
- CN115269331A CN115269331A CN202210919103.2A CN202210919103A CN115269331A CN 115269331 A CN115269331 A CN 115269331A CN 202210919103 A CN202210919103 A CN 202210919103A CN 115269331 A CN115269331 A CN 115269331A
- Authority
- CN
- China
- Prior art keywords
- service
- group
- service instance
- group information
- micro
- 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
Links
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/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/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种面向微服务组的服务拓扑监控方法及相关设备;该方法包括:对于多个微服务组各自组内所构建的多个服务实例,为每个服务实例部署JAVA探针,并为每个部署了JAVA探针的服务实例中配置区分各个微服务组的组别信息;对采集到的关于各个微服务组的采集数据进行解析;得到解析数据,解析数据中至少包括组别信息;将解析数据进行存储;响应任意服务实例故障,根据存储的组别信息,确定故障的影响和排查的轨迹。可见,通过组别信息中所体现的各个微服务组,从而实现对服务节点定义组别信息的功能,将微服务组的概念引入到监控过程中,丰富对于组内的服务拓扑的监控和微服务组组间的服务拓扑监控,以快速排查问题,准确找到故障位置。
Description
技术领域
本申请的实施例涉及微服务架构的技术领域,尤其涉及一种面向微服务组的服务拓扑监控方法及相关设备。
背景技术
在复杂的微服务架构系统中,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路,相关的拓扑监控方法,利用JAVA探针采集服务之间的服务调用链路的调用数据,然后数据分析端将服务调用链路的调用数据进行分析并存储到数据库中。
然而,在实际应用过程中,往往出现不同的服务组或者不同系统间的服务相互调用。
基于此,需要一种能够面向服务组进行监控的数据采集和拓扑查询方案。
发明内容
有鉴于此,本申请的目的在于提出一种面向微服务组的服务拓扑监控方法及相关设备。
基于上述目的,本申请提供了面向微服务组的服务拓扑监控方法,包括:
对于多个微服务组各自组内所构建的多个服务实例,为每个所述服务实例部署JAVA探针,并为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息;
对采集到的关于各个所述微服务组的采集数据进行解析;得到解析数据,所述解析数据中至少包括所述组别信息;
将所述解析数据进行存储;
响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹。
进一步地,所述为每个所述服务实例部署JAVA探针,包括:
对于每个所述服务实例,执行如下操作:
基于启动的JAVA虚拟机的进程,将所述JAVA探针部署至该服务实例的所述JAVA虚拟机的进程。
进一步地,,所述为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息,包括:
对于每个所述服务实例,执行如下操作:
确定该服务实例所属的所述微服务组和所述微服务组的所述组别信息;
确定该服务实例对应的JAVA探针的配置文件;
在该JAVA探针对应的所述配置文件中添加与该服务实例所属的所述微服务组对应的所述组别信息。
进一步地,所述每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息,还包括:
对于每个所述服务实例,执行如下操作:
确定该服务实例所属的所述微服务组和所述微服务组的所述组别信息;
确定该服务实例的服务启动命令;
在所述服务启动命令中添加与该服务实例所属的所述微服务组对应的所述组别信息。
进一步地,对所述各个所述微服务组的采集数据的采集,包括:
对于每个所述服务实例,利用对应该服务实例的JAVA探针,通过运行的所述JAVA虚拟机的进程,来采集该服务实例的所述配置文件;
根据所述配置文件确定该服务实例所属的微服务组的配置信息;
将各个服务实例中采集的所述配置信息,与所述探针所采集的其他数据共同作为所述采集数据。
进一步地,所述对采集到的关于各个所述微服务组的采集数据进行解析,包括:
对于每个所述服务实例,将采集到的所述采集数据发送至与该服务实例对应的服务器;
利用所述服务器,对所述采集数据进行解析。
进一步地,所述响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹,包括:
响应任意所述服务实例发生故障,从服务节点调用各个服务实例之间的拓扑关系;
将所述组别信息与所述拓扑关系结合,确定该故障的排查轨迹;
根据所述排查轨迹,确定该故障所影响的其他服务实例。
基于同一发明构思,本申请还提供了一种面向微服务组的服务拓扑监控装置,包括:配置组别信息模块、采集模块、存储模块和故障排查模块;
其中,所述配置组别信息模块,被配置为,对于多个微服务组各自组内所构建的多个服务实例,为每个所述服务实例部署JAVA探针,并为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息;
所述采集模块,被配置为,对采集到的关于各个所述微服务组的采集数据进行解析;得到解析数据,所述解析数据中至少包括所述组别信息;
所述存储模块,被配置为,将所述解析数据进行存储;
所述故障排查模块,被配置为,响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹。
基于同一发明构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的面向微服务组的服务拓扑监控方法。
基于同一发明构思,本申请还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述面向微服务组的服务拓扑监控方法。
从上面所述可以看出,本申请提供的面向微服务组的服务拓扑监控方法及相关设备,基于微服务架构中对各个服务或者服务实例的分组,通过部署JAVA Agent探针的方式来区分各个服务实例,综合考虑了对各个服务实例的组别信息的采集,通过组别信息中所体现的各个微服务组来进行服务实例故障的排查,从而实现对服务节点定义组别信息的功能,将微服务组的概念引入到监控过程中,丰富对于组内的服务拓扑的监控和微服务组组间的服务拓扑监控,以快速排查问题,准确找到故障位置。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的面向微服务组的服务拓扑监控方法的流程图;
图2为本申请实施例的微服务组的工作流的示意图;
图3为本申请实施例的面向微服务组的服务拓扑监控装置结构示意图;
图4为本申请实施例的电子设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请的实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请的实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
如背景技术部分所述,相关的面向微服务的服务拓扑监控方法还难以满足实际生产中对服务的监控需要。
申请人在实现本申请的过程中发现,相关的对微服务组的服务拓扑监控存在的主要问题在于:随着微服务架构的流行,服务可以按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。
互联网的应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发,并可能使用不同的编程语言来实现,有可能布在了几千台服务器,横跨多个不同的数据中心,因此,需要对各个服务实施全链路监控,以便可以在各个服务发生故障的时候,监控横跨了不同的应用、不同的服务器之间的关联动作快,来速定位故障并排查。
因此,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路,相关的拓扑监控方法,利用JAVA探针采集服务之间的服务调用链路的调用数据,然后数据分析端将服务调用链路的调用数据进行分析并存储到数据库中。
然而,申请人在研究中发现,在实际应用过程中,往往出现不同的服务组或者不同系统间的服务相互调用,因此,需要一种能够面向服务组进行监控的数据采集和拓扑查询方法。
以下结合附图详细说明本申请的实施例。
参考图1,本申请一个实施例的面向微服务的服务拓扑监控方法,包括以下步骤:
步骤S101、对于多个微服务组各自组内所构建的多个服务实例,为每个所述服务实例部署JAVA探针,并为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息。
在本申请的实施例中,以图2示出的微服务组的工作流作为一个具体的示例。
如图2所示,其中包括有两个微工作组,分别将其命名为Group1(组1)和Group2(组2),并将其分别作为各个对应微服务组的组号。
可以看出,在每个微工作组中,设置有两个Service Instance,也即服务实例,在本实施例中,可以将服务实例视为一个单独的服务;在一些其他实施例中,服务实例页可以视为从计算资源中虚拟出来的一块独立计算单元;例如,可以包含CPU、内存、操作系统、网络和磁盘等最基础的计算组件,或者是可以对外提供服务能力的程序集。
其中,每个服务实例具有各自的编号,如图2所示,将组1中的两个服务实例分别赋予Service Instance-01(服务实例-03)和Service Instance-02(服务实例-04)两个编号;并将将组2中的两个服务实例分别赋予Service Instance-01(服务实例-01)和ServiceInstance-02(服务实例-02)两个编号。
进一步地,本示例中的各个服务实例还可以是预构建于JAVA语言环境中,并通过JAVA Virtual Machine(也即JVM,JAVA虚拟机)所启动的线程进行运行。
在本实施例中,首先需要部署JAVA Agent探针,也即JAVA探针,用于对各个服务的监测。
其中,JAVA Agent探针在本实施例中可以视为为一个插件,该插件是一个JAR(JAVA归档,一种文档格式)包,该JAVA包通过JVMTI(JVM Tool Interface,JVM工具界面)完成加载,最终借助JPLISAgent(Java Programming Language Instrumentation ServicesAgent,为JAVA编程语言编写的插桩服务提供支持的代理)完成对目标代码的修改。
进一步地,在为每个服务实例部署其JAVA Agent探针时,可以将该JAVAAgent探针部署在启动的JAVA虚拟机的进程中。
具体地,首先打印当前加载的所有类的名称;进一步地,在所监控的对象中动态插入简单的代码并获取监控对象的返回值。
进一步地,基于上述部署的JAVA探针,可以为各个服务实例配置相应的组别信息。
具体地,对于各个微服务组中的每个服务实例,均可以在为其部署JAVA Agent探针时,在JAVA探针的配置文件中加入组别信息。
其中,组别信息具体包括该服务实例所属的微服务组的相关信息,在本实施例中,可以是至少包括该服务实例的编号,以及,该服务实例所属的微服务组的组号。
进一步地,可以基于上述所确定的各个服务实例所属的微服务组的组号和服务实例的编号,并基于上述所确定的为各个服务实例所配置的JAVA Agent探针的配置文件来进行组别信息的添加。
在本实施例中,如图2所示,在图中每个服务实例中的Config表示为该服务实例所部署的JAVA Agent探针的配置文件。
可以看出,在图2所示的各个服务实例中,可以在为服务实例-01部署的JAVAAgent探针的配置文件中,加入包括组号2和服务实例编号01在内的组别信息;为服务实例-02部署的JAVA Agent探针的配置文件中,加入包括组号2和服务实例编号02在内的组别信息;为服务实例-03部署的JAVA探针的配置文件中,加入包括组号1和服务实例编号03在内的组别信息;为服务实例-04部署的JAVA Agent探针的配置文件中,加入包括组号1和服务实例编号04在内的组别信息。
在一些其他实施例中,还可以在各个服务实例的服务启动命令中加入上述的组别信息。
具体地,对于每个服务实例,可以首先确定各个服务实例中,启动其所运行的服务的服务启动命令。
进一步地,对于每个服务实例,可以基于上述所确定的各个服务实例所属的微服务组的组号和服务实例的编号,将包括所属组号和服务实例编号在内的组别信息加入到所确定的服务启动命令中。
步骤S102、对采集到的关于各个所述微服务组的采集数据进行解析。得到解析数据,所述解析数据中至少包括所述组别信息。
在本申请的实施例中,基于上述部署的JAVA Agent探针,可以对各个微服务组的相关数据进行采集,并将所采集到的相关数据作为本实施例中的采集数据。
具体地,对于每个服务实例来说,通过为其配置的JAVA Agent探针,根据配置文件确定该服务实例所属的微服务组的配置信息。
进一步地,令JAVA Agent探针对确定的配置信息进行采集。
在其他一些实施例中,该JAVA Agent探针还可以同时采集该服务实例所属的微服务组相关的其他微服务组数据,并将上述的配置信息和采集的微服务组数据共同作为采集数据。
进一步地,可以将采集到的采集数据发送至对应的服务器来进行解析。
具体地,对于每个服务实例均部署有与各自对应的服务器来处理该服务实例所运行的服务,例如请求等任务。
可以看出,每个服务实例的JAVA Agent探针可以将其所采集到的采集信息直接发送至对应处理该服务实例任务的服务器。
在本实施例中,如图2所示,编号为01的Server(服务器)作为处理服务实例-01的服务和服务实例-03的服务的服务器,而编号为02的Server(服务器)则作为处理服务实例-02的服务和服务实例-04的服务的服务器。
可以看出,服务实例-01和服务实例-03可以将采集数据发送至,编号为01的服务器,服务实例-02和服务实例-04则可以将采集数据发送至,编号为02的服务器。
进一步地,两个服务器将分别为对应的服务实例发来的采集数据进行解析。
可以看出,在本实施例中,服务器可以作为同一微服务组组内,以及跨微服务组之间的各个服务实例提供服务时的节点,也可以称作服务节点。
进一步地,在对各个服务实例的采集数据进行解析后,可以得到关于对应服务实例的组别信息。
具体地,由于各个服务器可以作为多个服务实例在服务拓扑中的服务节点,基于该服务节点所涉及的服务调用链路,因此,各个服务器在对采集数据进行解析后,通过解析得到的解析数据,可以确定当前工作流中的各个服务实例的组别信息。
在本实施例中,如图2所示,编号为01的服务器为服务实例-01和服务实例-03的服务节点,并处于涉及服务实例-01和服务实例-03的工作流和服务调用链路中。
进一步地,编号为02的服务器作为服务实例-02和服务实例-04的服务节点,并处于涉及服务实例-02和服务实例-04的工作流和服务调用链路中。
进一步地,通过两个服务器对各自采集数据的解析,可以分别得到关于服务实例-01、服务实例-02、服务实例-03和服务实例-04的解析数据,并从各个服务实例的解析数据中确定其组别信息。
步骤S103、将所述解析数据进行存储。
在本申请的实施例中,基于上述从解析数据中确定的组别信息,可以令各个服务器将得到的组别信息进行持久化存储,并具体存储至指定的数据库中,例如ORACLE(甲骨文)数据库,或者其他数据仓库等。
具体地,如图2所示,Databse表示存储上述组别信息的数据库,存储的组别信息具体可以至少包括服务实例的编号、该服务实例所属的微服务组的组号,可以看出,其中还可以包括其他相关信息(other)。
进一步地,各个服务器均可以从数据库中调用所存储的相关的组别信息。
步骤S104、响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹。
在本申请的实施例中,基于上述在各个服务器,也即服务调用链路中的各个服务节点中所确定的组别信息,可以在服务实例发生故障时,通过展示该服务节点中的对应组别信息,可以直观地确定发生故障的服务实例所在服务调用链路中的位置,来进行有效的排查,并确定该故障的影响。
具体地,可以为各个服务器通过统一的平台和操作入口来部署前端的UI(用户端界面),并通过HTML(超文本链接)将该服务器中所得到的组别信息发送至用户端界面,并通过部署的用户端界面的拓扑渲染功能对得到的组别信息进行可视化展示,也即在可视化的服务拓扑图中在的服务实例和微服务组的位置显示与其对应的服务拓扑图。
进一步地,当任意服务实例发生故障时,例如,其中的服务实例-01发生故障时,用户可以从用户端界面所显示的服务拓扑图中,根据其显示出的组别信息,快速确定故障的位置,也即快速确定故障所在的微服务组。
在一些其他实施例中,还可以根据该故障的位置确定可行的故障排查轨迹,也即确定需要进行排查的服务调用链路。
并进一步地,根据在排查的服务调用链路,可以确定受该故障服务实例所影响的其他服务实例。
可见,本申请的实施例的面向微服务组的服务拓扑监控方法,基于微服务架构中对各个服务或者服务实例的分组,通过部署JAVAAgent探针的方式来区分各个服务实例,综合考虑了对各个服务实例的组别信息的采集,通过组别信息中所体现的各个微服务组来进行服务实例故障的排查,从而实现对服务节点定义组别信息的功能,将微服务组的概念引入到监控过程中,丰富对于组内的服务拓扑的监控和微服务组组间的服务拓扑监控,以快速排查问题,准确找到故障位置。
需要说明的是,本申请的实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请的实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请的实施例还提供了一种面向微服务组的服务拓扑监控装置。
参考图3,所述面向微服务组的服务拓扑监控装置,包括:配置组别信息模块301、采集模块302、存储模块303和故障排查模块304;
其中,所述配置组别信息模块301,被配置为,对于多个微服务组各自组内所构建的多个服务实例,为每个所述服务实例部署JAVA探针,并为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息;
所述采集模块302,被配置为,对采集到的关于各个所述微服务组的采集数据进行解析;得到解析数据,所述解析数据中至少包括所述组别信息;
所述存储模块303,被配置为,将所述解析数据进行存储;
所述故障排查模块304,被配置为,响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请的实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的面向微服务组的服务拓扑监控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请的实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的面向微服务组的服务拓扑监控方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器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.一种面向微服务组的服务拓扑监控方法,其特征在于,包括:
对于多个微服务组各自组内所构建的多个服务实例,为每个所述服务实例部署JAVA探针,并为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息;
对采集到的关于各个所述微服务组的采集数据进行解析;得到解析数据,所述解析数据中至少包括所述组别信息;
将所述解析数据进行存储;
响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹。
2.根据权利要求1所述的方法,其特征在于,所述为每个所述服务实例部署JAVA探针,包括:
对于每个所述服务实例,执行如下操作:
基于启动的JAVA虚拟机的进程,将所述JAVA探针部署至该服务实例的所述JAVA虚拟机的进程。
3.根据权利要求2所述的方法,其特征在于,所述为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息,包括:
对于每个所述服务实例,执行如下操作:
确定该服务实例所属的所述微服务组和所述微服务组的所述组别信息;
确定该服务实例对应的JAVA探针的配置文件;
在该JAVA探针对应的所述配置文件中添加与该服务实例所属的所述微服务组对应的所述组别信息。
4.根据权利要求1所述的方法,其特征在于,所述每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息,还包括:
对于每个所述服务实例,执行如下操作:
确定该服务实例所属的所述微服务组和所述微服务组的所述组别信息;
确定该服务实例的服务启动命令;
在所述服务启动命令中添加与该服务实例所属的所述微服务组对应的所述组别信息。
5.根据权利要求3所述的方法,其特征在于,对所述各个所述微服务组的采集数据的采集,包括:
对于每个所述服务实例,利用对应该服务实例的JAVA探针,通过运行的所述JAVA虚拟机的进程,来采集该服务实例的所述配置文件;
根据所述配置文件确定该服务实例所属的微服务组的配置信息;
将各个服务实例中采集的所述配置信息,与所述探针所采集的其他数据共同作为所述采集数据。
6.根据权利要求1所述的方法,其特征在于,所述对采集到的关于各个所述微服务组的采集数据进行解析,包括:
对于每个所述服务实例,将采集到的所述采集数据发送至与该服务实例对应的服务器;
利用所述服务器,对所述采集数据进行解析。
7.根据权利要求1所述的方法,其特征在于,所述响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹,包括:
响应任意所述服务实例发生故障,从服务节点调用各个服务实例之间的拓扑关系;
将所述组别信息与所述拓扑关系结合,确定该故障的排查轨迹;
根据所述排查轨迹,确定该故障所影响的其他服务实例。
8.一种面向微服务组的服务拓扑监控装置,包括:配置组别信息模块、采集模块、存储模块和故障排查模块;
其中,所述配置组别信息模块,被配置为,对于多个微服务组各自组内所构建的多个服务实例,为每个所述服务实例部署JAVA探针,并为每个部署了所述JAVA探针的所述服务实例中配置区分各个所述微服务组的组别信息;
所述采集模块,被配置为,对采集到的关于各个所述微服务组的采集数据进行解析;得到解析数据,所述解析数据中至少包括所述组别信息;
所述存储模块,被配置为,将所述解析数据进行存储;
所述故障排查模块,被配置为,响应任意所述服务实例故障,根据存储的所述组别信息,确定所述故障的影响和排查的轨迹。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行根据权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210919103.2A CN115269331A (zh) | 2022-08-02 | 2022-08-02 | 面向微服务组的服务拓扑监控方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210919103.2A CN115269331A (zh) | 2022-08-02 | 2022-08-02 | 面向微服务组的服务拓扑监控方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269331A true CN115269331A (zh) | 2022-11-01 |
Family
ID=83746872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210919103.2A Pending CN115269331A (zh) | 2022-08-02 | 2022-08-02 | 面向微服务组的服务拓扑监控方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269331A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056380A (zh) * | 2023-10-11 | 2023-11-14 | 广州嘉为科技有限公司 | 一种调用链数据的处理方法、装置及存储介质 |
-
2022
- 2022-08-02 CN CN202210919103.2A patent/CN115269331A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056380A (zh) * | 2023-10-11 | 2023-11-14 | 广州嘉为科技有限公司 | 一种调用链数据的处理方法、装置及存储介质 |
CN117056380B (zh) * | 2023-10-11 | 2024-01-30 | 广州嘉为科技有限公司 | 一种调用链数据的处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
US8336029B1 (en) | Debugger connection | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN107491371B (zh) | 一种监控部署的方法以及装置 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN110647471A (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN112631590B (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN112306837A (zh) | 一种云压力测试方法及平台、设备及可读存储介质 | |
CN108255509B (zh) | 应用部署方法、装置、设备及可读存储介质 | |
CN108089972B (zh) | 接口测试方法及装置 | |
CN115269331A (zh) | 面向微服务组的服务拓扑监控方法及相关设备 | |
CN117370203A (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
CN111459802A (zh) | 一种基于GUI的Android应用程序WebView页面的测试方法、装置及设备 | |
CN112463574A (zh) | 软件测试方法、装置、系统、设备和存储介质 | |
CN111698109A (zh) | 监控日志的方法和装置 | |
CN112583660B (zh) | 一种推荐平台的主域、备域测试对比方法、装置及系统 | |
CN114942878A (zh) | 互联网应用的自动化性能测试方法及相关设备 | |
CN114265737A (zh) | 系统迁移完整度检测方法、装置及电子设备 | |
CN114238091A (zh) | 一种常驻型交互式服务集群测试方法及系统 | |
CN114567571A (zh) | 性能测试方法、装置、电子设备和计算机可读存储介质 | |
CN114064429A (zh) | 审计日志的采集方法、装置、存储介质和服务器 | |
CN114285774A (zh) | 流量录制方法、装置、电子设备及存储介质 | |
CN112817813B (zh) | 基于react hooks的数据收集方法、装置及设备 | |
CN116931965B (zh) | 集成流处理方法、装置、电子设备及存储介质 | |
CN114928556B (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 |