CN115827392B - 一种分布式系统的监控方法、装置和系统 - Google Patents
一种分布式系统的监控方法、装置和系统 Download PDFInfo
- Publication number
- CN115827392B CN115827392B CN202310111864.XA CN202310111864A CN115827392B CN 115827392 B CN115827392 B CN 115827392B CN 202310111864 A CN202310111864 A CN 202310111864A CN 115827392 B CN115827392 B CN 115827392B
- Authority
- CN
- China
- Prior art keywords
- monitoring
- target
- application
- probe
- information
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 206
- 238000000034 method Methods 0.000 title claims abstract description 79
- 239000000523 sample Substances 0.000 claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000012216 screening Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 17
- 230000007613 environmental effect Effects 0.000 claims description 15
- 238000012806 monitoring device Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000007639 printing Methods 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 2
- 238000007405 data analysis Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000004069 differentiation Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分布式系统的监控方法、装置和系统,涉及分布式架构技术领域。该方法的一具体实施方式包括:利用预先在应用节点的应用进程中注入的探针,读取应用节点的环境信息;根据环境信息,确定应用节点的目标类型;根据目标类型,从预先配置的包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包中,筛选出对应于目标类型的目标配置文件和/或目标组件文件;根据目标配置文件和/或目标组件文件,为监控容器加载针对探针的运行环境,以实现探针搭载于监控容器中,对应用节点中的应用的监控。该实施方式能够针对分布式系统中的不同应用节点自动化的部署差异化的满足探针监控所需的文件或组件,以有效地减少人工成本。
Description
技术领域
本发明涉及分布式架构技术领域,尤其涉及一种分布式系统的监控方法、装置和系统。
背景技术
目前,主要通过在分布式系统中的各个节点部署监控容器,并在监控容器上部署探针以及探针实现监控所需的一些配置文件或者组件,以实现通过探针对节点中的应用进行监控,由于节点的监控容器的应用系统或者所监控应用的差异,一般需要为不同节点上的监控容器部署具有针对性的文件或者组件,即各个节点实现探针监控所需的配置文件或者组件等。
现有技术主要通过人工手动方式,为不同节点或者监控容器部署具有针对性的文件或者组件。因此,现有技术并不能针对不同节点自动化的部署差异化的满足探针监控所需的文件或组件。
发明内容
有鉴于此,本发明实施例提供一种分布式系统的监控方法、装置和系统,能够针对分布式系统中的不同应用节点自动化的部署差异化的满足探针监控所需的文件或组件,以有效地减少人工参与以及人工成本。
为实现上述目的,根据本发明实施例的一个方面,提供了一种分布式系统的监控方法,包括:
针对分布式系统中的每一个应用节点,执行下述操作:
利用预先在所述应用节点的应用进程中注入的探针,读取所述应用节点的环境信息;
根据所述应用节点的环境信息,确定所述应用节点的目标类型;
根据确定出的所述目标类型,从预先配置的包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包中,筛选出对应于所述目标类型的目标配置文件和/或目标组件文件;
根据所述目标配置文件和/或所述目标组件文件,为监控容器加载针对所述探针的运行环境,以实现所述探针搭载于所述监控容器中,对所述应用节点中的应用的监控。
可选地,所述读取所述应用节点的环境信息,包括:
获取所述应用节点中所述监控容器的部署路径,从所述部署路径中读取所述监控容器的运行版本信息。
可选地,所述读取所述应用节点的环境信息,包括:从所述应用的配置文件中读取所述应用的运行版本信息。
可选地,所述应用节点的环境信息进一步包括:所述应用节点中所述监控容器的路径和/或操作系统,
所述监控方法还包括:根据所述监控容器的路径和/或操作系统,管理所述监控容器的日志打印和/或监控异常的定位。
可选地,所述数据包进一步包括有:版本配置文件,其中,所述版本配置文件存储有应用节点的类型与监控所需的配置文件的信息和/或组件文件的信息之间的对应关系;
所述筛选出对应于所述目标类型的目标配置文件和/或目标组件文件,包括:
从所述版本配置文件存储的所述对应关系中,查找对应于所述目标类型的配置文件的信息和/或组件文件的信息;
在查找到的情况下,从所述数据包中查找与所述目标类型的配置文件的信息和/或组件文件的信息相匹配的目标配置文件和/或目标组件文件。
可选地,所述筛选出对应于所述目标类型的目标配置文件和/或目标组件文件,进一步包括:
在未查找到对应于所述目标类型的配置文件的信息和/或组件文件的信息的情况下,
确定对应于所述目标类型的默认配置文件和/或组件文件。
可选地,所述筛选出对应于所述目标类型的目标配置文件和/或目标组件文件,进一步包括:
在未查找到对应于所述目标类型的配置文件的信息和/或组件文件的信息的情况下,确定对应于所述目标类型的上一运行版本的配置文件和/或组件文件。
可选地,所述监控方法还包括:将所述数据包下发到所述分布式系统包括的各个应用节点的监控容器内。
可选地,所述监控方法还包括:通过字节码增强的方式,将所述探针注入到所述应用节点的应用进程中。
可选地,所述监控方法还包括:通过集群对所述探针监控到的应用的数据进行存储以及数据分析。
第二方面,本发明实施例提供一种分布式系统的监控装置,设置于所述分布式系统的每一个应用节点,包括:探针、处理模块以及监控容器,其中,
所述探针注入所述应用节点的应用进程,用于读取所述应用节点的环境信息;
所述处理模块,用于根据所述探针读取到的所述环境信息,确定所述应用节点的目标类型;根据确定出的所述目标类型,从预先配置的包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包中,筛选出对应于所述目标类型的目标配置文件和/或目标组件文件;根据所述目标配置文件和/或所述目标组件文件,为监控容器加载针对所述探针的运行环境,以实现探针搭载于监控容器中,对所述应用节点中的应用的监控。
第三方面,本发明实施例提供一种分布式系统的监控系统,包括:监控服务器以及设置于所述分布式系统的每一个应用节点中的第二方面实施例提供的监控装置;其中,
所述监控服务器,用于为每一个所述应用节点的应用进程注入所述监控装置中的探针,并下发包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包给每一个所述应用节点。
上述发明中的一个实施例具有如下优点或有益效果:针对分布式系统中的每一个应用节点,通过注入于应用进程中的探针读取应用节点的环境信息,然后根据环境信息,确定应用节点的目标类型,以根据目标类型为该应用节点筛选出监控所需的目标配置文件和/或目标组件文件,最后根据目标配置文件和/或目标组件文件,为监控容器加载针对探针的运行环境,以实现探针对应用节点中的应用的监控,即实现自动化的根据不同环境的应用节点筛选不同的实现监控所需的目标配置文件和/或目标组件文件,从而为探针加载实现探针监控的运行环境,实现针对分布式系统中的不同应用节点自动化的部署差异化的满足探针监控所需的文件或组件,以有效地减少人工参与以及人工成本。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例可以应用于其中的示例性系统架构图;
图2是根据本发明实施例的分布式系统的监控方法的主要流程的示意图;
图3是根据本发明实施例的筛选出对应于目标类型的目标配置文件和/或目标组件文件的主要流程的示意图;
图4是根据本发明另一实施例的分布式系统的监控方法的主要流程的示意图;
图5是根据本发明实施例的分布式系统的监控装置的主要模块的示意图;
图6是适于用来实现本发明实施例的监控服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了实现自动化监控分布式系统,本发明实施例提供的分布式系统的监控方法和装置所依赖的示例性系统架构可如图1所示。
如图1所示,系统架构100可以包括监控服务器101,多个分布式系统102、103、104、……,网络105,反向代理服务器106,存储与数据分析集群107,其中,分布式系统102中包含有节点1021、1022、1023、……,分布式系统103中包含有节点1031、1032、1033、……,分布式系统104中包含有节点1041、1042、1043、……,存储与数据分析集群107中包含有存储节点1071、1072、1073、……以及有注册的多个应用服务器1071'、1072'、1073'、……,该应用服务器1071'、1072'、1073'、……设置有用于对监控到的数据进行分析的分布式服务。网络105用以在监控服务器101和多个分布式系统102、103、104、……之间,多个分布式系统102、103、104、……与反向代理服务器106之间,反向代理服务器106与存储与数据分析集群107之间、多个分布式系统102、103、104、……中的节点1021、1022、1023、……之间、节点1031、1032、1033、……之间、节点1031、1032、1033、……之间、存储节点1071、1072、1073、……之间、注册的多个应用服务器1071'、1072'、1073'、……之间以及存储节点1071、1072、1073、……与注册的多个应用服务器1071'、1072'、1073'、……之间提供通信链路的介质。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
监控服务器101通过网络105为分布式系统102中包含有节点1021、1022、1023、……,分布式系统103中包含有节点1031、1032、1033、……以及分布式系统104中包含有节点1041、1042、1043、……中的应用进程注入探针,并将包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包分发给分布式系统102中包含有节点1021、1022、1023、……,分布式系统103中包含有节点1031、1032、1033、……以及分布式系统104中包含有节点1041、1042、1043、……等。其中,监控服务器101将包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包分发给分布式系统102中包含有节点1021、1022、1023、……,分布式系统103中包含有节点1031、1032、1033、……以及分布式系统104中包含有节点1041、1042、1043、……的实现可以为监控服务器101为各个节点分发数据包。优选地,监控服务器101将数据包分发给分布式系统102、分布式系统103以及分布式系统104的主节点,然后主节点向各个其他节点分发该数据包,以使各个分布式系统中的各个节点均包含有该数据包。
分布式系统102中包含的节点1021、1022、1023、……,分布式系统103中包含的节点1031、1032、1033、……,分布式系统104中包含的节点1041、1042、1043、……等各个节点中设置有实现服务的分布式应用,以为企业执行待处理的任务比如证券交易、证券结算等。
分布式系统102、103、104、……的各个节点在启动应用进程之后,注入到该应用进程中的探针也相应地启动,通过启动的探针读取到其所在节点的环境信息比如节点的运行系统或者监控容器所依赖的运行系统的版本号、版本参数、操作系统参数、监控容器的路径等,并根据节点的环境信息,确定节点的目标类型,然后,从数据包中筛选出对应于目标类型的目标配置文件和/或目标组件文件,并通过目标配置文件和/或目标组件文件加载针对所述探针的运行环境,从而实现探针搭载于监控容器中,对应用节点中的应用的监控。
分布式系统102、103、104、……的各个节点中的监控容器将探针监测到的数据通过反向代理服务器106发送给存储与数据分析集群107中的存储节点1071、1072、1073、……进行存储,并可通过存储与数据分析集群107中注册的多个应用服务器1071'、1072'、1073'的分布式服务对监测到的数据进行分析。
需要说明的是,本发明实施例所提供的分布式系统的监控方法一般由监控服务器和分布式系统中的节点结合执行,分布式系统的监控装置一般设置于分布式系统中的节点中。
应该理解,图1中的监控服务器、分布式系统、分布式系统包含的节点、网络、反向代理服务器、存储与数据分析集群以及存储与数据分析集群中的存储节点和应用服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的监控服务器、分布式系统、分布式系统包含的节点、网络、反向代理服务器、存储与数据分析集群以及存储与数据分析集群中的存储节点和应用服务器。
图2是根据本发明实施例的依赖于上述图1所示的系统架构实现的分布式系统的监控方法的主要流程示意图。如图2所示,该分布式系统的监控方法可包括:
针对分布式系统中的每一个应用节点,执行下述步骤S201至步骤S204:
步骤S201:利用预先在应用节点的应用进程中注入的探针,读取应用节点的环境信息;
该应用进程一般为JAVA应用的进程。该探针为JAVA探针,是JAVA应用的软件开发工具包提供的提供了对字节码进行操作的一系列API,而使用这些API开发出的程序。该JAVA探针的实现是通过加载修改过的.class文件(通过字节码修改),在达到修改类的目的的同时启动注入到应用进程中的JAVA探针。
步骤S202:根据应用节点的环境信息,确定应用节点的目标类型;
该环境信息是指应用节点的应用或者探针运行所依赖的监控容器的运行系统、运行参数、运行版本等信息。每一种环境信息对应于一种监控容器的类型,比如,运行版本号A对应于类型1,运行版本号B对应于类型2等。
步骤S203:根据确定出的目标类型,从预先配置的包括有满足多种类型的监控容器所需的配置文件和/或组件文件的数据包中,筛选出对应于目标类型的目标配置文件和/或目标组件文件;
步骤S204:根据目标配置文件和/或目标组件文件,为监控容器加载针对探针的运行环境,以实现探针搭载于监控容器中,对应用节点中的应用的监控。
在图2所示的实施例中,针对分布式系统中的每一个应用节点,通过注入于应用进程中的探针读取应用节点的环境信息,然后根据环境信息,确定应用节点的目标类型,以根据目标类型为该应用节点筛选出监控所需的目标配置文件和/或目标组件文件,最后根据目标配置文件和/或目标组件文件,为监控容器加载针对探针的运行环境,以实现探针对应用节点中的应用的监控,即实现自动化的根据不同环境的应用节点筛选不同的实现监控所需的目标配置文件和/或目标组件文件,从而为探针加载实现探针监控的运行环境,实现针对分布式系统中的不同应用节点自动化的部署差异化的满足探针监控所需的文件或组件,以有效地减少人工参与以及人工成本。
另外,本发明实施例提供的扩展后的JAVA探针,可以获取到监控容器的环境信息,然后可以根据环境信息配置监控容器,在实现监控的同时,使探针与监控容器解耦,从而减少探针依赖,可实现自适应适配监控容器。该监控容器可以为Tomcat、 JBoss及信创等应用服务器中间件。
其中,读取应用节点的环境信息可以有两种实现方式。
具体地,读取应用节点的环境信息的第一种实现方式:获取应用节点中监控容器的部署路径,从部署路径中读取监控容器的运行版本信息。
读取应用节点的环境信息的第二种实现方式:从监控容器的配置文件中读取监控容器的运行版本信息。
通过上述两种读取应用节点的环境信息的方式,可以针对不同监控容器或者应用节点选择不同的实现方式,以更好地满足监控容器或者应用节点的需求,以有效地读取运行版本信息,以有效地提高监控容器配置的成功率。
其中,上述监控方法还可进一步包括:将数据包下发到分布式系统包括的各个应用节点的监控容器内,以为各个应用节点提供包括有满足多种类型的监控容器所需的配置文件和/或组件文件的数据包,以尽可能满足各种类型的监控容器的需求,以保证监控容器配置自动化。
进一步地,上述监控方法还可进一步包括:通过字节码增强的方式,将探针注入到应用节点的应用进程中;以保证应用进程运行过程中探针能够在无感知的情况下获取应用、应用节点以及监控容器的环境信息。
另外,上述监控方法还可进一步包括:上述通过集群对探针监控到的应用的数据进行存储以及数据分析。该针对应用的数据主要是指监控容器监控到的应用的运行数据。该数据分析可以根据用户需求进行相应地配置,该数据分析过程可通过现有技术实现,在此不再赘述。
在本发明实施例中,应用节点的环境信息可进一步包括:应用节点中监控容器的路径和/或操作系统,相应地,上述监控方法还可进一步包括:根据监控容器的路径和/或操作系统,管理应用的日志打印和/或监控异常的定位。比如,通过监控容器的路径对异常的监控容器等进行定位。另外,还可以根据操作系统,对不同的应用的日志的打印进行相应地定制,以按照定制打印应用的日志。
在本发明实施例中,上述数据包还可进一步包括有:版本配置文件,其中,版本配置文件存储有应用节点的类型与监控所需的配置文件的信息和/或组件文件的信息之间的对应关系;相应地,如图3所示,上述筛选出对应于目标类型的目标配置文件和/或目标组件文件的具体实施方式可包括如下步骤:
步骤S301:从版本配置文件存储的对应关系中,查找对应于目标类型的配置文件的信息和/或组件文件的信息;
其中,版本配置文件存储的对应关系可如下表1所示。
表1
比如,目标类型为类型3,对应于该目标类型的配置文件的信息和/或组件文件的信息为监控所需的配置文件d、f、g,组件文件G、H、K。
步骤S302:在查找到的情况下,从数据包中查找与目标类型的配置文件的信息和/或组件文件的信息相匹配的目标配置文件和/或目标组件文件。
比如,针对目标类型为类型3,从数据包中查找与类型3的配置文件的信息和/或组件文件的信息相匹配的目标配置文件和/或目标组件文件,即与类型3的配置文件的信息和/或组件文件的信息相匹配的目标配置文件和/或目标组件文件为配置文件d、f、g,组件文件G、H、K。
通过对应关系可以保证查找出的目标配置文件和/或目标组件文件的准确性。
进一步地,上述筛选出对应于目标类型的目标配置文件和/或目标组件文件还可进一步包括:在未查找到对应于目标类型的配置文件的信息和/或组件文件的信息的情况下,确定对应于目标类型的默认配置文件和/或组件文件。即对于一些通用的类型的通用配置文件以及组件文件,可以以默认的方式配置,以更好地满足通用类型的需求。
另外,上述筛选出对应于目标类型的目标配置文件和/或目标组件文件还可进一步包括:确定对应于目标类型的上一运行版本的配置文件和/或组件文件。一般来说,当前版本的运行系统可以运行上一运行版本对应的配置文件和/或组件文件。因此,通过上述过程可以有效地保证监控容器的正常运行。
下面以图1所示的系统为例,详细说明分布式系统的监控方法的具体实施方式。如图4该分布式系统的监控方法可包括如下步骤:
步骤S401:监控服务器通过字节码增强的方式,将探针注入到应用节点的应用进程中;
比如,图1中的监控服务器101通过字节码增强的方式将探针分别注入到分布式系统102中包含有节点1021、1022、1023、……,分布式系统103中包含有节点1031、1032、1033、……,分布式系统104中包含有节点1041、1042、1043、……等节点的应用进程中。
步骤S402:监控服务器将数据包下发到分布式系统包括的各个应用节点的监控容器内;
比如,图1中的监控服务器101将数据包下发给分布式系统102中包含有节点1021、1022、1023、……,分布式系统103中包含有节点1031、1032、1033、……,分布式系统104中包含有节点1041、1042、1043、……等节点中的监控容器中。即每一个节点的监控容器中均包含有数据包。其中,数据包中包括有:满足多种类型的监控容器所需的配置文件和/或组件文件、版本配置文件等。其中,多种类型的应用是指搭载于不同运行系统上的、所实现的功能存在差异的应用。另外,版本配置文件存储有应用节点的类型与监控所需的配置文件的信息以及组件文件的信息之间的对应关系。以使该数据包能够满足不同类型的节点(即具有不同运行系统的节点)的需求。
其中,步骤S401和步骤S402的执行没有严格的先后顺序。
步骤S403:应用节点的应用进程在运行过程中,注入到应用进程中的探针,读取其所依赖的监控容器的环境信息;
该环境信息可包括有监控容器在节点中的路径和/或监控容器的操作系统。相应地,该步骤的具体实现可包括:获取应用节点中监控容器的部署路径,从部署路径中读取监控容器的运行版本信息;或者,从监控容器的配置文件中读取应用的运行版本信息。
步骤S404:根据监控容器的运行版本信息,确定应用节点的目标类型;
步骤S405:从节点存储的数据包中的版本配置文件存储的应用节点的类型与监控所需的配置文件的信息和/或组件文件的信息之间的对应关系中,查找与目标类型相匹配的目标配置文件的信息和/或目标组件文件的信息;在查找到的情况下,执行步骤S406;在未查找到的情况下,执行步骤S407;
步骤S406:从数据包中查找与目标类型的配置文件的信息和/或组件文件的信息相匹配的目标配置文件和/或目标组件文件,并执行步骤S408;
步骤S407:确定对应于目标类型的上一运行版本的配置文件和/或组件文件;
该步骤还可通过确定对应于所述目标类型的默认配置文件和/或组件文件实现。
步骤S408:根据目标配置文件和/或目标组件文件,为监控容器加载针对探针的运行环境,以实现探针搭载于监控容器中,对应用节点中的应用的监控,并分别执行步骤S409和步骤S410;
步骤S409:根据监控容器的路径和/或操作系统,管理监控容器的日志打印和/或监控异常的定位;
通过该步骤可以针对不同路径、不同操作系统,对不同监控容器的监控进行特殊定制,以实现针对不同监控容器的个性化定制。
步骤S410:通过集群对探针监控到的应用的数据进行存储以及数据分析。
该集群可以为ES集群。
图5示出了本发明实施例提供的一种分布式系统的监控装置500,该分布式系统的监控装置500设置于分布式系统的每一个应用节点,该分布式系统的监控装置500可包括:探针501、处理模块502以及监控容器503,其中,
探针501注入应用节点的应用进程,用于读取应用节点的环境信息;
处理模块502,用于根据探针501读取到的环境信息,确定应用节点的目标类型;根据确定出的目标类型,从预先配置的包括有满足多种类型的监控容器所需的配置文件和/或组件文件的数据包中,筛选出对应于目标类型的目标配置文件和/或目标组件文件;根据目标配置文件和/或目标组件文件,为监控容器503加载针对探针的运行环境,以实现探针501搭载于监控容器502中,对应用节点中的应用的监控。
在本发明实施例中,处理模块502,进一步用于获取应用节点中监控容器的部署路径,从部署路径中读取监控容器的运行版本信息。
在本发明实施例中,处理模块502,进一步用于从监控容器的配置文件中读取监控容器的运行版本信息。
在本发明实施例中,应用节点的环境信息进一步包括:应用节点中监控容器的路径和/或操作系统,相应地,
处理模块502,进一步用于根据监控容器的路径和/或操作系统,管理应用的日志打印和/或监控异常的定位。
在本发明实施例中,数据包进一步包括有:版本配置文件,其中,版本配置文件存储有应用节点的类型与监控所需的配置文件的信息和/或组件文件的信息之间的对应关系;相应地,
处理模块502,进一步用于从版本配置文件存储的对应关系中,查找对应于目标类型的配置文件的信息和/或组件文件的信息;在查找到的情况下,从数据包中查找与目标类型的配置文件的信息和/或组件文件的信息相匹配的目标配置文件和/或目标组件文件。
在本发明实施例中,处理模块502,进一步用于在未查找到对应于目标类型的配置文件的信息和/或组件文件的信息的情况下,确定对应于目标类型的默认配置文件和/或组件文件。
在本发明实施例中,处理模块502,进一步用于在未查找到对应于目标类型的配置文件的信息和/或组件文件的信息的情况下,确定对应于目标类型的上一运行版本的配置文件和/或组件文件。
下面参考图6,其示出了适于用来实现本发明实施例的监控服务器的计算机系统6600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的探针、模块等可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的探针、模块也可以设置在处理器中,例如,可以描述为:一种处理器包括探针、处理模块和监控容器。其中,这些探针、处理模块和监控容器的名称在某种情况下并不构成对各个组件本身的限定,例如,探针还可以被描述为“读取所述应用节点的环境信息的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:利用预先在应用节点的应用进程中注入的探针,读取应用节点的环境信息;根据应用节点的环境信息,确定应用节点的目标类型;根据确定出的目标类型,从预先配置的包括有满足多种类型的监控容器所需的配置文件和/或组件文件的数据包中,筛选出对应于目标类型的目标配置文件和/或目标组件文件;根据目标配置文件和/或目标组件文件,为监控容器加载针对探针的运行环境,以实现探针搭载于监控容器中,对应用节点中的应用的监控。
根据本发明实施例的技术方案,针对分布式系统中的每一个应用节点,通过注入于应用进程中的探针读取应用节点的环境信息,然后根据环境信息,确定应用节点的目标类型,以根据目标类型为该应用节点筛选出监控所需的目标配置文件和/或目标组件文件,最后根据目标配置文件和/或目标组件文件,为监控容器加载针对探针的运行环境,以实现探针对应用节点中的应用的监控,即实现自动化的根据不同环境的应用节点筛选不同的实现监控所需的目标配置文件和/或目标组件文件,从而为探针加载实现探针监控的运行环境,实现针对分布式系统中的不同应用节点自动化的部署差异化的满足探针监控所需的文件或组件,以有效地减少人工参与以及人工成本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种分布式系统的监控方法,其特征在于,包括:
针对分布式系统中的每一个应用节点,执行下述操作:
利用预先在所述应用节点的应用进程中注入的探针,读取所述应用节点的环境信息,每一种所述环境信息对应于一种监控容器的类型,其中,所述环境信息包括所述节点的运行系统或者监控容器所依赖的运行系统的版本号、版本参数、操作系统参数以及监控容器的路径;
根据所述应用节点的环境信息,确定所述应用节点的目标类型,所述目标类型为对应于所述环境信息的监控容器的类型;
根据确定出的所述目标类型,从预先配置的包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包中,筛选出对应于所述目标类型的目标配置文件和/或目标组件文件;
根据所述目标配置文件和/或所述目标组件文件,为监控容器加载针对所述探针的运行环境,以实现所述探针搭载于所述监控容器中,对所述应用节点中的应用的监控;
所述应用进程为JAVA应用的进程;
所述方法还包括:通过加载修改过的.class文件,将JAVA探针注入到所述应用进程中。
2.根据权利要求1所述的监控方法,其特征在于,所述读取所述应用节点的环境信息,包括:
获取所述应用节点中所述监控容器的部署路径,从所述部署路径中读取所述监控容器的运行版本信息;
或者,
从所述监控容器的配置文件中读取所述监控容器的运行版本信息。
3.根据权利要求1或2所述的监控方法,其特征在于,所述应用节点的环境信息进一步包括:所述应用节点中所述监控容器的路径和/或操作系统,
所述监控方法还包括:根据所述监控容器的路径和/或操作系统,管理所述监控容器的日志打印和/或监控异常的定位。
4.根据权利要求1所述的监控方法,其特征在于,
所述数据包进一步包括有:版本配置文件,其中,所述版本配置文件存储有应用节点的类型与监控所需的配置文件的信息和/或组件文件的信息之间的对应关系;
所述筛选出对应于所述目标类型的目标配置文件和/或目标组件文件,包括:
从所述版本配置文件存储的所述对应关系中,查找对应于所述目标类型的配置文件的信息和/或组件文件的信息;
在查找到的情况下,从所述数据包中查找与所述目标类型的配置文件的信息和/或组件文件的信息相匹配的目标配置文件和/或目标组件文件。
5.根据权利要求4所述的监控方法,其特征在于,所述筛选出对应于所述目标类型的目标配置文件和/或目标组件文件,进一步包括:
在未查找到对应于所述目标类型的配置文件的信息和/或组件文件的信息的情况下,
确定对应于所述目标类型的默认配置文件和/或组件文件;
或者,
确定对应于所述目标类型的上一运行版本的配置文件和/或组件文件。
6.根据权利要求1所述的监控方法,其特征在于,
所述监控方法还包括:将所述数据包下发到所述分布式系统包括的各个应用节点的监控容器内;
和/或,
所述监控方法还包括:通过字节码增强的方式,将所述探针注入到所述应用节点的应用进程中;
和/或,
所述监控方法还包括:通过集群对所述探针监控到的应用的数据进行存储以及数据分析。
7.一种分布式系统的监控装置,其特征在于,设置于所述分布式系统的每一个应用节点,包括:探针、处理模块以及监控容器,其中,
所述探针注入所述应用节点的应用进程,用于读取所述应用节点的环境信息,每一种所述环境信息对应于一种监控容器的类型,其中,所述环境信息包括所述节点的运行系统或者监控容器所依赖的运行系统的版本号、版本参数、操作系统参数以及监控容器的路径;
所述处理模块,用于根据所述探针读取到的所述环境信息,确定所述应用节点的目标类型;根据确定出的所述目标类型,从预先配置的包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包中,筛选出对应于所述目标类型的目标配置文件和/或目标组件文件;根据所述目标配置文件和/或所述目标组件文件,为监控容器加载针对所述探针的运行环境,以实现探针搭载于监控容器中,对所述应用节点中的应用的监控,所述目标类型为对应于所述环境信息的监控容器的类型;
所述应用进程为JAVA应用的进程;
所述监控装置还包括:通过加载修改过的.class文件,将JAVA探针注入到所述应用进程中。
8.一种分布式系统的监控系统,其特征在于,包括:监控服务器以及设置于所述分布式系统的每一个应用节点中的权利要求7所述的监控装置;其中,
所述监控服务器,用于为每一个所述应用节点的应用进程注入所述监控装置中的探针,并下发包括有监控多种类型的应用所需的配置文件和/或组件文件的数据包给每一个所述应用节点。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111864.XA CN115827392B (zh) | 2023-02-09 | 2023-02-09 | 一种分布式系统的监控方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111864.XA CN115827392B (zh) | 2023-02-09 | 2023-02-09 | 一种分布式系统的监控方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115827392A CN115827392A (zh) | 2023-03-21 |
CN115827392B true CN115827392B (zh) | 2023-11-21 |
Family
ID=85521324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310111864.XA Active CN115827392B (zh) | 2023-02-09 | 2023-02-09 | 一种分布式系统的监控方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827392B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN111026723A (zh) * | 2019-11-21 | 2020-04-17 | 望海康信(北京)科技股份公司 | 大数据集群管理控制方法、装置、计算机设备及存储介质 |
CN114237754A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 一种数据加载方法、装置、电子设备以及存储介质 |
CN114338443A (zh) * | 2021-12-20 | 2022-04-12 | 江苏云工场信息技术有限公司 | 一种cdn节点全链路监控方法及装置 |
CN114546756A (zh) * | 2021-12-16 | 2022-05-27 | 贝壳找房网(北京)信息技术有限公司 | 一种微服务架构系统中链路数据的监控方法及系统 |
CN115328736A (zh) * | 2022-08-22 | 2022-11-11 | 北京博睿宏远数据科技股份有限公司 | 一种探针部署方法、装置、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592295B2 (en) * | 2017-02-28 | 2020-03-17 | International Business Machines Corporation | Injection method of monitoring and controlling task execution in a distributed computer system |
-
2023
- 2023-02-09 CN CN202310111864.XA patent/CN115827392B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
CN111026723A (zh) * | 2019-11-21 | 2020-04-17 | 望海康信(北京)科技股份公司 | 大数据集群管理控制方法、装置、计算机设备及存储介质 |
CN114546756A (zh) * | 2021-12-16 | 2022-05-27 | 贝壳找房网(北京)信息技术有限公司 | 一种微服务架构系统中链路数据的监控方法及系统 |
CN114237754A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 一种数据加载方法、装置、电子设备以及存储介质 |
CN114338443A (zh) * | 2021-12-20 | 2022-04-12 | 江苏云工场信息技术有限公司 | 一种cdn节点全链路监控方法及装置 |
CN115328736A (zh) * | 2022-08-22 | 2022-11-11 | 北京博睿宏远数据科技股份有限公司 | 一种探针部署方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115827392A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981322B (zh) | 基于标签的云资源管理的方法和装置 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN113407194A (zh) | 一种部署软件的方法和装置 | |
CN112965761A (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN111666079A (zh) | 软件升级的方法、装置、系统、设备和计算机可读介质 | |
CN115827392B (zh) | 一种分布式系统的监控方法、装置和系统 | |
CN115167874B (zh) | 自动驾驶软件镜像部署方法、装置、电子设备和可读介质 | |
CN113778725A (zh) | 一种数据校验方法和装置 | |
CN116737662A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN115442129A (zh) | 一种管理集群访问权限的方法、装置和系统 | |
CN108604226A (zh) | 用于跨平台使对电子文档的评论同步的系统和方法 | |
CN113515328A (zh) | 页面渲染的方法、装置、电子设备和存储介质 | |
CN112463616A (zh) | 一种面向Kubernetes容器平台的混沌测试方法和装置 | |
CN113132447A (zh) | 反向代理的方法和系统 | |
CN112835609A (zh) | 一种修改依赖包下载地址的方法和装置 | |
CN111949472A (zh) | 一种记录应用日志的方法及装置 | |
CN111209014A (zh) | 一种参数校验的方法和装置 | |
CN113495747B (zh) | 一种灰度发布方法和装置 | |
CN108664259B (zh) | 一种进行应用安装的方法和终端 | |
CN116702741A (zh) | 一种信息比对方法、装置及相关设备 | |
CN115309612A (zh) | 一种监控数据的方法和装置 | |
CN114281697A (zh) | 一种测试数据的生成方法和装置 | |
CN114564217A (zh) | 软件部署方法及装置 | |
CN113935613A (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 |