CN114610446A - 一种自动注入探针的方法、装置及*** - Google Patents

一种自动注入探针的方法、装置及*** Download PDF

Info

Publication number
CN114610446A
CN114610446A CN202210241686.8A CN202210241686A CN114610446A CN 114610446 A CN114610446 A CN 114610446A CN 202210241686 A CN202210241686 A CN 202210241686A CN 114610446 A CN114610446 A CN 114610446A
Authority
CN
China
Prior art keywords
container
probe
target
instance
message
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
Application number
CN202210241686.8A
Other languages
English (en)
Other versions
CN114610446B (zh
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.)
Beijing Keynote Network Inc
Original Assignee
Beijing Keynote Network Inc
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 Beijing Keynote Network Inc filed Critical Beijing Keynote Network Inc
Priority to CN202210241686.8A priority Critical patent/CN114610446B/zh
Publication of CN114610446A publication Critical patent/CN114610446A/zh
Application granted granted Critical
Publication of CN114610446B publication Critical patent/CN114610446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种自动注入探针的方法、装置及***,属于应用性能管理领域。方法包括:获取目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器用于获取至少一个探针;启动所述第一容器,将所述第一容器获取的至少一个探针复制到所述第二容器内;启动所述第二容器,执行业务应用进程;基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。采用本申请,可以实现自动注入探针。

Description

一种自动注入探针的方法、装置及***
技术领域
本申请涉及应用性能管理(APM,Application Performance Management)领域,尤其涉及一种自动注入探针的方法、装置及***。
背景技术
应用性能管理***通常分为应用性能数据采集、性能数据聚合及存储、性能数据查询及展示、警报及预警平台等几大部分,其中应用性能数据采集由应用性能管理探针(下文简称为“探针”)来实现,加载探针的实现方式与应用语言及运维机制密切相关,随着应用及运维技术的进步,加载探针的技术也在快速发展。
以JAVA语言为例,在传统单机、网络集群、虚拟机时代,JAVA探针的加载方式通常为手工修改JAVA应用的环境变量或启动脚本,添加JVM(JAVA Virtual Machine,JAVA虚拟机)预留特定的环境变量JAVA_TOOL_OPTIONS或启动参数-javaagent来加载探针。
发明内容
为了解决现有技术的问题,本申请实施例提供了一种自动注入探针的方法、装置及***,可以实现自动注入探针,避免手动添加。技术方案如下:
根据本申请的一方面,提供了一种自动注入探针的方法,所述方法包括:
获取目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器用于获取至少一个探针;
启动所述第一容器,将所述第一容器获取的至少一个探针复制到所述第二容器内;
启动所述第二容器,执行业务应用进程;
基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
根据本申请的另一方面,提供了一种自动注入探针的装置,所述装置包括:
获取模块,用于获取目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器包括至少一个探针;
启动模块,用于启动所述第一容器,将所述第一容器的至少一个探针复制到所述第二容器内;启动所述第二容器,执行业务应用进程;
监测模块,用于基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
根据本申请的另一方面,提供了一种自动注入探针的***,所述***包括控制***和多个实例,其中,所述多个实例包括用于业务应用的目标实例;
所述控制***用于获取所述目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器包括至少一个探针;
所述目标实例用于启动所述第一容器,将所述第一容器的至少一个探针复制到所述第二容器内;启动所述第二容器,执行业务应用进程;基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
根据本申请的另一方面,提供了一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述自动注入探针的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述自动注入探针的方法。
本申请中,目标实例可以包括第一容器和第二容器,第一容器可以用于获取至少一个探针,第二容器可以用于实现业务功能。当获取到目标实例的目标启动消息时,可以首先启动第一容器,将第一容器获取的至少一个探针复制到第二容器内;然后启动第二容器,执行业务应用进程;最后,在执行业务应用进程时,可以基于探针对业务应用进程进行监测,获取监测得到的数据。通过上述方法,可以实现向业务应用容器(即第二容器)自动注入探针。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点被公开,在附图中:
图1示出了根据本申请示例性实施例提供的自动注入探针的***;
图2示出了根据本申请示例性实施例提供的自动注入探针的方法流程图;
图3示出了根据本申请示例性实施例提供的确定启动消息的方法流程图;
图4示出了根据本申请示例性实施例提供的Kubernetes集群示意图;
图5示出了根据本申请示例性实施例提供的自动注入探针的方法流程图;
图6示出了根据本申请示例性实施例提供的自动注入探针的方法流程图;
图7示出了根据本申请示例性实施例提供的目标实例逻辑示意图;
图8示出了根据本申请示例性实施例提供的自动注入探针的装置的示意性框图;
图9示出了能够用于实现本申请的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本申请实施例提供了一种自动注入探针的方法,该方法可以应用于图1所示的自动注入探针的***,该***包括控制***和多个实例,其中,多个实例可以包括用于业务应用的目标实例,目标实例可以包括第一容器和第二容器。
参照图2所示的自动注入探针的方法流程图,该方法包括步骤201-204。
步骤201,获取目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器用于获取至少一个探针;
步骤202,启动所述第一容器,将所述第一容器的至少一个探针复制到所述第二容器内;
步骤203,启动所述第二容器,执行业务应用进程;
步骤204,基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
可选的,所述将所述第一容器中的至少一个探针复制到所述第二容器内,包括:
创建所述第一容器和所述第二容器共享的数据卷;
将所述第一容器的至少一个探针复制到所述数据卷;
基于所述数据卷,将所述第一容器的至少一个探针复制到所述第二容器内。
可选的,所述基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据,包括:
获取所述业务应用进程的进程特征数据;
基于所述进程特征数据,在所述第二容器的至少一个探针中确定所述业务应用进程对应的至少一个目标探针;
基于所述至少一个目标探针,获取对所述业务应用进程进行监测的数据。
可选的,所述获取当前进程的进程特征数据,包括:
在启动所述第二容器之前,设置所述第二容器的环境变量,所述环境变量用于指向识别模块;
在执行业务应用进程时,加载所述识别模块;
基于所述识别模块,获取所述业务应用进程的进程特征数据。
可选的,所述进程特征数据包括***调用方法和/或***调用参数;
所述基于所述进程特征数据,在所述第二容器的至少一个探针中确定所述业务应用进程对应的至少一个目标探针,包括:
基于所述***调用方法的调用序列与预设的基准调用序列,和/或,基于***调用参数与预设的基准调用参数,确定所述业务应用进程的目标类型;
在所述第二容器的至少一个探针中确定所述目标类型对应的至少一个目标探针。
可选的,在获取目标实例的目标启动消息之前,可以确定实例是否需要注入探针,如果需要,则可以确定相应的目标启动消息。参照图3所示的确定启动消息的方法流程图,在获取目标实例的目标启动消息之前,本实施例提供的方法还可以包括下述步骤301-303。
步骤301,获取目标实例的初始启动消息,所述初始启动消息用于指示所述目标实例包括第二容器;
步骤302,基于所述初始启动消息,得到目标结果,所述目标结果用于指示所述目标实例需要注入探针;
步骤303,将所述初始启动消息修改为目标启动消息。
可选的,所述基于所述初始启动消息,得到目标结果,包括:
基于所述初始启动消息,确定是否符合第一条件、第二条件和/或第三条件,其中,所述第一条件是指实例不属于非目标业务应用,所述第二条件是指所述初始启动消息不包括用于指示已注入探针的第一标记,所述第三条件是指所述初始启动消息包括用于指示需要注入探针的第二标记;
当符合第一条件、第二条件和/或第三条件时,得到目标结果。
需要说明的是,在得到目标结果,也即是确定目标实例需要注入探针时,可以根据需要选择上述第一条件、第二条件和第三条件的各种组合,可以具有下述几种情况:
第一,符合一个条件时,得到目标结果。具体的,可以是指:判断是否符合第一条件,当符合第一条件时,得到目标结果;或,判断是否符合第二条件,当符合第二条件时,得到目标结果;或,判断是否符合第三条件,当符合第三条件时,得到目标结果。
第二,符合两个条件时,得到目标结果。具体的,可以是指:判断是否符合第一条件和第二条件,当符合第一条件和第二条件时,得到目标结果;或,判断是否符合第一条件和第三条件,当符合第一条件和第三条件时,得到目标结果;或,判断是否符合第二条件和第三条件,当符合第二条件和第三条件时,得到目标结果。
第三,符合三个条件时,得到目标结果。具体的,可以是指:判断是否符合第一条件、第二条件和第三条件,当符合第一条件、第二条件和第三条件时,得到目标结果。
可选的,所述将所述初始启动消息修改为目标启动消息,包括:
在所述初始启动消息对应的实例描述文件中添加所述第一容器的信息,形成所述目标启动消息。
可选的,在所述实例描述文件中添加的信息还包括以下一种或多种:所述第一容器和所述第二容器共享的数据卷的信息,用于指示已注入探针的第一标记。
本申请实施例中,目标实例可以包括第一容器和第二容器,第一容器可以用于获取至少一个探针,第二容器可以用于实现业务功能。当获取到目标实例的目标启动消息时,可以首先启动第一容器,将第一容器获取的至少一个探针复制到第二容器内;然后启动第二容器,执行业务应用进程;最后,在执行业务应用进程时,可以基于探针对业务应用进程进行监测,获取监测得到的数据。通过上述方法,可以实现向业务应用容器(即第二容器)自动注入探针。
本实施例将结合Kubernetes机制(一种用于管理云平台中的容器化的应用的机制),对自动注入探针的方法进行介绍。本申请对管理云平台所采用的具体机制不作限定。
本申请提供的自动注入探针的方法可以应用于图4所示的Kubernetes集群,集群中可以至少包括Kubernetes API(Application Programming Interface,应用程序接口)服务器、多个Kubernetes节点,通过Kubernetes控制***进行消息调度。其中,每个Kubernetes节点中可以设置一个或多个实例(pod),实例的类型可以包括业务应用实例和控制实例,每个节点运行于一个独立的操作***之上,即Kubernetes集群可能由异构CPU操作***的节点组成。
业务应用实例可以包括一个或多个容器,容器的属性可以包括探针容器(即第一容器)和业务应用容器(即第二容器),业务应用容器可以用于实现业务应用功能。具体的,探针容器可以采用Kubernetes机制中的Init容器(Kubernetes机制中的一种容器类型)。
控制实例可以包括探针注入控制容器,探针注入控制容器中可以部署探针注入控制器,用于控制探针注入。每个控制实例通过公有或私有的Docker(一种应用容器引擎)镜像服务器拉取并部署对应节点CPU架构的镜像。在安装探针注入控制器后,会在受监控的Kubernetes集群上配置一种动态准入控制Webhook程序,Webhook是一种用于接收准入请求并对其进行处理的HTTP(Hyper Text Transfer Protocol,超文本传输协议)回调机制。
此外,集群中还可以包括Docker镜像源,用于提供探针镜像以及探针注入控制器镜像。
下面将结合图5和图6所示的自动注入探针的方法流程图,对本申请提供的自动注入探针的方法进行介绍。
首先结合图5示出的步骤501-509,对确定启动消息的方法进行介绍。
步骤501,确定待注入探针的目标实例,并重启目标实例。
在一种可能的实施方式中,对于需要注入探针的实例,可以在相应的实例信息中添加上述第二标记,本实施例将需要注入探针的实例称为目标实例。当第二标记添加完成时,可以对目标实例进行重启。
示例性的,如图4所示,假定业务应用实例A无需注入探针,业务应用实例B和业务应用实例C需要注入探针,则可以利用kubectl(Kubernetes机制中的一种命令行工具)等工具,对业务应用实例B和业务应用实例C增加特定的标签标记或注解标记(即上述第二标记)。进而,可以执行业务应用实例B和业务应用实例C的重启命令。本实施例对第二标记的具体形式及添加位置不作限定。
步骤502,将实例的初始启动消息发送给Kubernetes API服务器。
其中,启动消息可以包括实例描述文件、标签、注解等信息。本实施例对启动消息中的具体信息不作限定。本实施例中将发送给Kubernetes API服务器的启动消息称为初始启动消息,对于第二容器(即业务应用容器),初始启动消息可以用于指示目标实例包括第二容器,也即是指示在目标实例中设置用于实现业务功能的第二容器。
在一种可能的实施方式中,在启动实例时,可以发起相应的启动消息,进而,Kubernetes控制***可以将实例的初始启动消息及相关数据发送通知给Kubernetes API服务器,其中所指的实例可以为目标实例或非目标实例。
示例性的,如图4所示,在业务应用实例B和业务应用实例C重启,或者业务应用实例A启动时,Kubernetes控制***可以将业务应用实例A、业务应用实例B或业务应用实例C的启动消息及相关数据发送通知给Kubernetes API服务器。
步骤503,Kubernetes API服务器将实例的初始启动消息发送给探针注入控制器。
在一种可能的实施方式中,Kubernetes API服务器可以通过HTTP回调机制将实例的初始启动消息发送给探针注入控制器。在此基础上,Kubernetes API服务器可以主动将初始启动消息发送给探针注入控制器,而无需在实例未启动时通过探针注入控制器向Kubernetes API服务器发起轮询,提高资源的利用率。
步骤504,探针注入控制器解析实例的初始启动消息。
在一种可能的实施方式中,探针注入控制器接收到Kubernetes API服务器发送的初始启动消息后,可以对初始启动消息进行解析,得到可以利用的实例命名空间、实例名称、实例描述文件、标签、注解等信息。
步骤505,判断是否符合第一条件。
其中,第一条件可以是指实例不属于非目标业务应用。
在一种可能的实施方式中,可以基于解析得到的实例命名空间或实例名称判断实例是否属于非目标业务应用。当实例不属于非目标业务应用时,可以跳转至步骤506进一步判断;当实例属于非目标业务应用时,可以跳转至步骤509,将初始启动消息返回Kubernetes控制***,使得Kubernetes控制***可以基于初始启动消息创建相应的实例并启动。
优选的,可以基于实例命名空间判断是否属于***自带的命名空间。当实例命名空间属于***自带的命名空间时,表明实例属于非目标业务应用,不符合第一条件;当实例命名空间不属于***自带的命名空间时,表明实例不属于非目标业务应用,符合第一条件。
做这一判断的目的是为了防止对Kubernetes控制***组件注入探针,如果对Kubernetes控制***组件注入探针,不仅采集的性能数据是没有业务参考意义的,并且还可能在启动或重启Kubernetes控制***组件的过程中发生循环的依赖调用而产生故障。
步骤506,当符合第一条件时,判断是否符合第二条件。
其中,第二条件可以是指初始启动消息不包括用于指示已注入探针的第一标记。本实施例对第一标记的具体形式以及添加位置不作限定,例如,第一标记可以添加在实例的注解中,在后续查询时,可以在注解中查询是否包含第一标记。
在一种可能的实施方式中,可以在解析得到的信息中查询是否包含第一标记。如果包含第一标记,表明实例中已经注入探针,无需重复注入,则可以跳转至步骤509,将初始启动消息返回Kubernetes控制***,使得Kubernetes控制***可以基于初始启动消息创建相应的实例并启动;如果不包含第一标记,表明实例可以注入探针,则可以跳转至步骤507进一步判断。
做这一判断的目的是为了防止Kubernetes控制***中出现重复或冗余的HTTP回调而导致的重复注入探针的动作。
步骤507,当符合第二条件时,判断是否符合第三条件。
其中,第三条件可以是指初始启动消息包括用于指示需要注入探针的第二标记。
在一种可能的实施方式中,可以在解析得到的信息中查询是否包含第二标记。如果包含第二标记,表明实例需要注入探针,则可以跳转至步骤508;如果不包含第二标记,表明实例不需要注入探针,则可以跳转至步骤509,将初始启动消息返回Kubernetes控制***,使得Kubernetes控制***可以基于初始启动消息创建相应的实例并启动。
做这一判断的目的是为了满足灰度发布的部署控制要求,仅对主动标记为需要被注入探针的实例进行输入探针的动作。
可选的,对于已包括第二标记的实例,当需要灰度发布部署控制时,可以通过移除相应的标签标记或注解标记来移除第二标记。例如,当需要将图4中的业务应用实例B作为灰度发布中的测试实例时,可以移除已添加的特定的标签标记或注解标记,使得在后续过程中跳过对业务应用实例B的初始启动消息的修改,从而避免将探针注入用于测试的业务应用实例B。
步骤508,当符合第三条件时,将初始启动消息修改为目标启动消息。
在一种可能的实施方式中,当符合第三条件时,也即是得到了目标结果,此时可以对初始启动消息进行修改,形成目标启动消息,使得目标启动消息可以用于指示目标实例包括第一容器和第二容器,第一容器可以用于获取至少一个探针。
具体的,对初始启动消息进行的修改可以是指:在初始启动消息对应的实例描述文件中添加第一容器的信息,形成目标启动消息。
可选的,还可以根据需要在实例描述文件中添加以下一种或多种信息:第一容器和第二容器共享的数据卷的信息,用于指示已注入探针的第一标记,适用于第二容器的环境变量。其中,适用于第二容器的环境变量可以是指使得第二容器能够实现本申请提供的功能的环境变量。
示例性的,在实例描述文件中添加的信息可以如下:1)在注解内增加用于指示已注入探针的第一标记;2)增加Init容器(即第一容器),将Init容器镜像指定为探针的镜像名称,增加Init容器的数据卷映射,将镜像内探针文件目录映射到Init容器目录;3)增加原有业务应用容器(即第二容器)的数据卷映射,并共享Init容器和原有业务应用容器的数据卷映射;4)增加原有业务应用容器的环境变量,具体的环境变量类型包括但不限于适用于JAVA应用的JAVA_TOOL_OPTIONS、适用于所有动态编译的应用的LD_PRELOAD,本实施例可以监控所有动态编译的应用,所以具体可以增加指向到被数据卷映射的探针目录的识别模块的第一环境变量、增加用于识别业务应用名称的第二环境变量等;5)增加Init容器的启动执行命令,该启动执行命令用于指示在Init容器启动后将探针复制到数据卷。
其中,第1点可以对应于上述“第一标记”,第2点和第5点可以对应于上述“第一容器的信息”,第3点可以对应于上述“数据卷的信息”,第4点可以对应于上述“适用于第二容器的环境变量”。
也即是说,经过上述过程,探针注入控制器确定新启动的实例需要注入探针时,可以修改实例的启动消息及相关数据;探针注入控制器确定新启动的实例不需要注入探针时,可以跳过对启动消息及相关数据的修改。
步骤509,返回实例的启动消息。
在一种可能的实施方式中,探针注入控制器可以返回未经修改的初始启动消息或者修改后得到的目标启动消息。进而,Kubernetes控制***可以收到探针嵌入控制器返回的启动消息及相关数据,并依此创建相应的实例。
Kubernetes控制***可以创建非目标实例和目标实例,本实施例将对需要注入探针的目标实例进行介绍,对非目标实例不作详细介绍。
下面将参照图6所示的方法流程图以及图7所示的目标实例逻辑示意图,对自动注入探针的方法进行介绍。
步骤601,获取目标实例的目标启动消息。
在一种可能的实施方式中,当Kubernetes控制***可以接收到目标启动消息时,可以基于该目标启动消息的实例描述文件创建相应的目标实例,在目标实例中设置第一容器和第二容器。
步骤602,启动第一容器。
在一种可能的实施方式中,Kubernetes控制***可以启动第一容器,由于第一容器指定了探针的镜像名称,可以自动拉取和当前Kubernetes节点的CPU架构一致的探针镜像。
步骤603,创建第一容器和第二容器共享的数据卷。
在一种可能的实施方式中,Kubernetes控制***可以分别在第一容器和第二容器中创建名称相同的数据卷,也即是第一容器和第二容器可以共享该数据卷,并将第二容器的数据卷映射到指定的探针目录。
步骤604,基于数据卷,将第一容器的至少一个探针复制到第二容器内。
在一种可能的实施方式中,启动第一容器后,可以将第一容器的至少一个探针复制到共享的数据卷,因为第一容器和第二容器的数据卷映射是共享的,所以最终的结果是将探针复制到了第二容器内。
步骤605,设置第二容器的环境变量。
其中,环境变量可以用于指向识别模块。
在一种可能的实施方式中,可以对第二容器的环境变量进行设置,将环境变量指向到探针目录的识别模块,以便在后续的过程中基于该识别模块确定业务应用进程的类型。
步骤606,启动第二容器,执行业务应用进程。
在一种可能的实施方式中,环境变量设置完成后,Kubernetes控制***可以执行真正的业务应用进程的启动动作。
步骤607,读取环境变量。
在一种可能的实施方式中,业务应用进程可以读取第二容器的环境变量,以便执行相应的业务工作。
步骤608,加载识别模块。
在一种可能的实施方式中,Kubernetes集群内的业务应用可以包含多种编程语言,不仅可以包含JAVA应用,也可以包含php应用和.net core应用,可以利用基于操作***范围的LD_PRELOAD机制,将LD_PRELOAD环境变量指向到探针目录的特定识别模块。业务应用进程在读取到指向识别模块的环境变量时,可以加载相应的识别模块。
步骤609,根据进程特征数据加载至少一个目标探针。
具体的,步骤609的处理可以如下:获取业务应用进程的进程特征数据;基于进程特征数据,在第二容器的至少一个探针中确定业务应用进程对应的至少一个目标探针。
在一种可能的实施方式中,可以通过识别模块对业务应用进程的数据进行分析,得到业务应用进程的进程特征数据,进而可以根据进程特征数据确定适用的至少一个目标探针。
可选的,进程特征数据可以包括进程名称、***调用方法和/或***调用参数,相对应的,确定目标探针的处理可以如下:基于进程特征数据的调用序列与预设的基准调用序列,确定业务应用进程的目标类型;在第二容器的至少一个探针中确定目标类型对应的至少一个目标探针。
其中,基准调用序列与支持注入探针的应用程序执行平台相对应。
在一种可能的实施方式中,可以通过识别模块分析业务应用进程的名称、特定的***调用方法和***调用的参数等数据,并将这些数据的调用序列和参数与已知的基准调用序列进行比较,当查找到相匹配的基准调用序列时,可以根据该基准调用序列确定业务应用进程的目标类型,也即是通过上述方法确定应用进程是否属于特定应用程序执行平台。当确定业务应用进程属于目标类型时,可以加载对应类型的目标探针。
可选的,如果未查找到相匹配的基准调用序列,表明对应的应用程序执行平台的技术不支持注入探针,则跳过加载探针的步骤,原有进程不受任何影响。
步骤610,基于至少一个目标探针,获取对业务应用进程进行监测的数据。
在一种可能的实施方式中,可以通过加载的目标探针对业务应用进程进行监测,采集相应的应用性能数据,以便上传应用性能管理***实现性能数据聚合及存储、性能数据查询及展示、警报及预警平台等功能。
本申请实施例可以获得的有益效果如下:
(1)在需要注入探针的目标实例中,可以设置第一容器和第二容器,其中第一容器用于获取至少一个探针,第二容器用于执行业务应用进程。进而,可以将第一容器作为媒介,向第二容器注入探针,也即是实现了对业务应用容器自动注入探针的过程。
(2)可以完全基于云原生部署,自动适配不同CPU架构的操作***,无需任何特权权限即可实现探针的自动化注入,并且可以满足灰度发布的部署控制要求。
本申请实施例提供了一种自动注入探针的装置,该装置用于实现上述自动注入探针的方法。如图8所示的自动注入探针的装置的示意性框图,自动注入探针的装置800包括:获取模块801,启动模块802,监测模块803。
获取模块801,用于获取目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器包括至少一个探针;
启动模块802,用于启动所述第一容器,将所述第一容器的至少一个探针复制到所述第二容器内;启动所述第二容器,执行业务应用进程;
监测模块803,用于基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
可选的,所述启动模块802,用于:
创建所述第一容器和所述第二容器共享的数据卷;
基于所述数据卷,将所述第一容器的至少一个探针复制到所述第二容器内。
可选的,所述监测模块803,用于:
获取所述业务应用进程的进程特征数据;
基于所述进程特征数据,在所述第二容器的至少一个探针中确定所述业务应用进程对应的至少一个目标探针;
基于所述至少一个目标探针,获取对所述业务应用进程进行监测的数据。
可选的,所述监测模块803,用于:
在启动所述第二容器之前,设置所述第二容器的环境变量,所述环境变量用于指向识别模块;
在执行业务应用进程时,加载所述识别模块;
基于所述识别模块,获取所述业务应用进程的进程特征数据。
可选的,所述进程特征数据包括进程名称、***调用方法和/或***调用参数;
所述监测模块803,用于:
基于所述进程特征数据的调用序列与预设的基准调用序列,确定所述业务应用进程的目标类型;
在所述第二容器的至少一个探针中确定所述目标类型对应的至少一个目标探针。
可选的,所述装置还包括修改模块,所述修改模块用于:
获取目标实例的初始启动消息,所述初始启动消息用于指示所述目标实例包括第二容器;
基于所述初始启动消息,得到目标结果,所述目标结果用于指示所述目标实例需要注入探针;
将所述初始启动消息修改为目标启动消息。
可选的,所述修改模块用于:
基于所述初始启动消息,确定是否符合第一条件、第二条件和/或第三条件,其中,所述第一条件是指实例不属于非目标业务应用,所述第二条件是指所述初始启动消息不包括用于指示已注入探针的第一标记,所述第三条件是指所述初始启动消息包括用于指示需要注入探针的第二标记;
当符合第一条件、第二条件和/或第三条件时,得到目标结果。
可选的,所述修改模块用于:
在所述初始启动消息对应的实例描述文件中添加所述第一容器的信息,形成所述目标启动消息。
可选的,在所述实例描述文件中添加的信息还包括以下一种或多种:所述第一容器和所述第二容器共享的数据卷的信息,用于指示已注入探针的第一标记,适用于所述第二容器的环境变量。
本申请实施例中,目标实例可以包括第一容器和第二容器,第一容器可以用于获取至少一个探针,第二容器可以用于实现业务功能。当获取到目标实例的目标启动消息时,可以首先启动第一容器,将第一容器获取的至少一个探针复制到第二容器内;然后启动第二容器,执行业务应用进程;最后,在执行业务应用进程时,可以基于探针对业务应用进程进行监测,获取监测得到的数据。通过上述方法,可以实现向业务应用容器(即第二容器)自动注入探针。
本申请实施例提供了一种自动注入探针的***,该***用于实现上述自动注入探针的方法。所述***包括控制***和多个实例,其中,所述多个实例包括用于业务应用的目标实例。
所述控制***用于获取所述目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器包括至少一个探针;
所述目标实例用于启动所述第一容器,将所述第一容器的至少一个探针复制到所述第二容器内;启动所述第二容器,执行业务应用进程;基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
可选的,所述目标实例用于:
创建所述第一容器和所述第二容器共享的数据卷;
基于所述数据卷,将所述第一容器的至少一个探针复制到所述第二容器内。
可选的,所述目标实例用于:
获取所述业务应用进程的进程特征数据;
基于所述进程特征数据,在所述第二容器的至少一个探针中确定所述业务应用进程对应的至少一个目标探针;
基于所述至少一个目标探针,获取对所述业务应用进程进行监测的数据。
可选的,所述目标实例用于:
在启动所述第二容器之前,设置所述第二容器的环境变量,所述环境变量用于指向识别模块;
在执行业务应用进程时,加载所述识别模块;
基于所述识别模块,获取所述业务应用进程的进程特征数据。
可选的,所述进程特征数据包括进程名称、***调用方法和/或***调用参数;
所述目标实例用于:
基于所述进程特征数据的调用序列与预设的基准调用序列,确定所述业务应用进程的目标类型;
在所述第二容器的至少一个探针中确定所述目标类型对应的至少一个目标探针。
可选的,所述多个实例还包括控制实例,所述控制实例用于:
获取目标实例的初始启动消息,所述初始启动消息用于指示所述目标实例包括第二容器;
基于所述初始启动消息,得到目标结果,所述目标结果用于指示所述目标实例需要注入探针;
将所述初始启动消息修改为目标启动消息。
可选的,所述控制实例用于:
基于所述初始启动消息,确定是否符合第一条件、第二条件和/或第三条件,其中,所述第一条件是指实例不属于非目标业务应用,所述第二条件是指所述初始启动消息不包括用于指示已注入探针的第一标记,所述第三条件是指所述初始启动消息包括用于指示需要注入探针的第二标记;
当符合第一条件、第二条件和/或第三条件时,得到目标结果。
可选的,所述控制实例用于:
在所述初始启动消息对应的实例描述文件中添加所述第一容器的信息,形成所述目标启动消息。
可选的,在所述实例描述文件中添加的信息还包括以下一种或多种:所述第一容器和所述第二容器共享的数据卷的信息,用于指示已注入探针的第一标记,适用于所述第二容器的环境变量。
本申请实施例中,目标实例可以包括第一容器和第二容器,第一容器可以用于获取至少一个探针,第二容器可以用于实现业务功能。当获取到目标实例的目标启动消息时,可以首先启动第一容器,将第一容器获取的至少一个探针复制到第二容器内;然后启动第二容器,执行业务应用进程;最后,在执行业务应用进程时,可以基于探针对业务应用进程进行监测,获取监测得到的数据。通过上述方法,可以实现向业务应用容器(即第二容器)自动注入探针。
本申请示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本申请实施例的方法。
本申请示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本申请实施例的方法。
本申请示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本申请实施例的方法。
参考图9,现将描述可以作为本申请的电子设备900的结构框图,其是可以应用于本申请的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,数据中心服务器、笔记本电脑、瘦客户机、膝上型计算机、台式计算机、工作站、个人数字助理、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,自动注入探针的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。在一些实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为自动注入探针的方法。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本申请使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

Claims (13)

1.一种自动注入探针的方法,其特征在于,所述方法包括:
获取目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器用于获取至少一个探针;
启动所述第一容器,将所述第一容器获取的至少一个探针复制到所述第二容器内;
启动所述第二容器,执行业务应用进程;
基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一容器中的至少一个探针复制到所述第二容器内,包括:
创建所述第一容器和所述第二容器共享的数据卷;
基于所述数据卷,将所述第一容器的至少一个探针复制到所述第二容器内。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据,包括:
获取所述业务应用进程的进程特征数据;
基于所述进程特征数据,在所述第二容器的至少一个探针中确定所述业务应用进程对应的至少一个目标探针;
基于所述至少一个目标探针,获取对所述业务应用进程进行监测的数据。
4.根据权利要求3所述的方法,其特征在于,所述获取当前进程的进程特征数据,包括:
在启动所述第二容器之前,设置所述第二容器的环境变量,所述环境变量用于指向识别模块;
在执行业务应用进程时,加载所述识别模块;
基于所述识别模块,获取所述业务应用进程的进程特征数据。
5.根据权利要求3所述的方法,其特征在于,所述进程特征数据包括进程名称、***调用方法和/或***调用参数;
所述基于所述进程特征数据,在所述第二容器的至少一个探针中确定所述业务应用进程对应的至少一个目标探针,包括:
基于所述进程特征数据的调用序列与预设的基准调用序列,确定所述业务应用进程的目标类型;
在所述第二容器的至少一个探针中确定所述目标类型对应的至少一个目标探针。
6.根据权利要求1所述的方法,其特征在于,所述获取目标实例的目标启动消息之前,还包括:
获取目标实例的初始启动消息,所述初始启动消息用于指示所述目标实例包括第二容器;
基于所述初始启动消息,得到目标结果,所述目标结果用于指示所述目标实例需要注入探针;
将所述初始启动消息修改为目标启动消息。
7.根据权利要求6所述的方法,其特征在于,所述基于所述初始启动消息,得到目标结果,包括:
基于所述初始启动消息,确定是否符合第一条件、第二条件和/或第三条件,其中,所述第一条件是指实例不属于非目标业务应用,所述第二条件是指所述初始启动消息不包括用于指示已注入探针的第一标记,所述第三条件是指所述初始启动消息包括用于指示需要注入探针的第二标记;
当符合第一条件、第二条件和/或第三条件时,得到目标结果。
8.根据权利要求6所述的方法,其特征在于,所述将所述初始启动消息修改为目标启动消息,包括:
在所述初始启动消息对应的实例描述文件中添加所述第一容器的信息,形成所述目标启动消息。
9.根据权利要求8所述的方法,其特征在于,在所述实例描述文件中添加的信息还包括以下一种或多种:所述第一容器和所述第二容器共享的数据卷的信息,用于指示已注入探针的第一标记,适用于所述第二容器的环境变量。
10.一种自动注入探针的装置,其特征在于,所述装置包括:
获取模块,用于获取目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器包括至少一个探针;
启动模块,用于启动所述第一容器,将所述第一容器的至少一个探针复制到所述第二容器内;启动所述第二容器,执行业务应用进程;
监测模块,用于基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
11.一种自动注入探针的***,其特征在于,所述***包括控制***和多个实例,其中,所述多个实例包括用于业务应用的目标实例;
所述控制***用于获取所述目标实例的目标启动消息,所述目标启动消息用于指示所述目标实例包括第一容器和第二容器,所述第一容器包括至少一个探针;
所述目标实例用于启动所述第一容器,将所述第一容器的至少一个探针复制到所述第二容器内;启动所述第二容器,执行业务应用进程;基于所述第二容器的至少一个探针,获取对所述业务应用进程进行监测的数据。
12.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-9中任一项所述的方法。
13.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-9中任一项所述的方法。
CN202210241686.8A 2022-03-11 2022-03-11 一种自动注入探针的方法、装置及*** Active CN114610446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210241686.8A CN114610446B (zh) 2022-03-11 2022-03-11 一种自动注入探针的方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210241686.8A CN114610446B (zh) 2022-03-11 2022-03-11 一种自动注入探针的方法、装置及***

Publications (2)

Publication Number Publication Date
CN114610446A true CN114610446A (zh) 2022-06-10
CN114610446B CN114610446B (zh) 2023-01-03

Family

ID=81862543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210241686.8A Active CN114610446B (zh) 2022-03-11 2022-03-11 一种自动注入探针的方法、装置及***

Country Status (1)

Country Link
CN (1) CN114610446B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599410A (zh) * 2022-12-15 2023-01-13 杭州数列网络科技有限责任公司(Cn) 一种大规模java探针管理的方法及***

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598378A (zh) * 2014-12-31 2015-05-06 天津橙子科技有限公司 一种web工程自动化测试探针
CN108664291A (zh) * 2017-03-30 2018-10-16 ***通信集团山西有限公司 容器组的构建方法和装置
CN110515806A (zh) * 2019-08-30 2019-11-29 北京博睿宏远数据科技股份有限公司 探针配置方法、装置、计算机设备及存储介质
CN110995473A (zh) * 2019-11-18 2020-04-10 腾讯科技(深圳)有限公司 一种业务节点的控制方法及相关设备
CN111813498A (zh) * 2020-07-02 2020-10-23 深圳市国电科技通信有限公司 终端容器的监测方法、监测装置、存储介质及处理器
CN111813646A (zh) * 2020-07-16 2020-10-23 华北电力大学(保定) docker容器环境下注入应用探针的方法和装置
CN113157347A (zh) * 2021-05-18 2021-07-23 北京博睿宏远数据科技股份有限公司 一种探针的自动部署方法、电子设备和存储介质
US20210326167A1 (en) * 2018-12-28 2021-10-21 Huawei Technologies Co., Ltd. Vnf service instantiation method and apparatus
CN113568706A (zh) * 2021-07-27 2021-10-29 北京百度网讯科技有限公司 针对业务的容器调整方法、装置、电子设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598378A (zh) * 2014-12-31 2015-05-06 天津橙子科技有限公司 一种web工程自动化测试探针
CN108664291A (zh) * 2017-03-30 2018-10-16 ***通信集团山西有限公司 容器组的构建方法和装置
US20210326167A1 (en) * 2018-12-28 2021-10-21 Huawei Technologies Co., Ltd. Vnf service instantiation method and apparatus
CN110515806A (zh) * 2019-08-30 2019-11-29 北京博睿宏远数据科技股份有限公司 探针配置方法、装置、计算机设备及存储介质
CN110995473A (zh) * 2019-11-18 2020-04-10 腾讯科技(深圳)有限公司 一种业务节点的控制方法及相关设备
CN111813498A (zh) * 2020-07-02 2020-10-23 深圳市国电科技通信有限公司 终端容器的监测方法、监测装置、存储介质及处理器
CN111813646A (zh) * 2020-07-16 2020-10-23 华北电力大学(保定) docker容器环境下注入应用探针的方法和装置
CN113157347A (zh) * 2021-05-18 2021-07-23 北京博睿宏远数据科技股份有限公司 一种探针的自动部署方法、电子设备和存储介质
CN113568706A (zh) * 2021-07-27 2021-10-29 北京百度网讯科技有限公司 针对业务的容器调整方法、装置、电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599410A (zh) * 2022-12-15 2023-01-13 杭州数列网络科技有限责任公司(Cn) 一种大规模java探针管理的方法及***

Also Published As

Publication number Publication date
CN114610446B (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
CN108566290B (zh) 服务配置管理方法、***、存储介质和服务器
KR102493449B1 (ko) 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체
CN109525624B (zh) 一种容器登录方法、装置及存储介质
CN113312037A (zh) 应用于微服务的数据处理方法、装置、设备和存储介质
CN109901881B (zh) 应用程序的插件加载方法、装置、计算机设备及存储介质
CN110968331B (zh) 应用程序运行的方法和装置
CN114610446B (zh) 一种自动注入探针的方法、装置及***
US10795747B2 (en) File synchronizing service status monitoring and error handling
CN111488286B (zh) 一种Android模块独立开发的方法及装置
CN113448730A (zh) 服务的处理方法、装置、计算机设备及存储介质
CN113191889A (zh) 风控配置方法、配置***、电子设备及可读存储介质
CN112416747A (zh) 一种测试用例执行方法、装置、设备及介质
CN112491940A (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
US20180373512A1 (en) Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN115729590A (zh) 服务部署方法、装置、设备和计算机可读存储介质
CN112395194B (zh) 一种接入测试平台的方法和装置
CN112667255B (zh) 更新方法、装置、电子设备及存储介质
CN114429145A (zh) 词条翻译方法、装置、电子设备和计算机可读存储介质
CN114428691A (zh) 应用调用方法、装置、电子设备和计算机可读存储介质
CN113849356A (zh) 一种设备测试方法、装置、电子设备和存储介质
CN113672225A (zh) 用户界面的处理方法、装置、设备及存储介质
CN111858234A (zh) 一种任务执行方法、装置、设备、介质
CN113778527A (zh) 用于控制流水线任务的状态的方法和装置
CN118093340A (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