CN109960634A - 一种应用程序监控方法、装置及*** - Google Patents
一种应用程序监控方法、装置及*** Download PDFInfo
- Publication number
- CN109960634A CN109960634A CN201910255968.1A CN201910255968A CN109960634A CN 109960634 A CN109960634 A CN 109960634A CN 201910255968 A CN201910255968 A CN 201910255968A CN 109960634 A CN109960634 A CN 109960634A
- Authority
- CN
- China
- Prior art keywords
- application program
- monitoring
- pod
- mark
- application
- 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 304
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012806 monitoring device Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 25
- 238000012795 verification Methods 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 16
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000001052 transient effect Effects 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 102100033121 Transcription factor 21 Human genes 0.000 description 2
- 101710119687 Transcription factor 21 Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种应用程序监控方法、装置及***,其中,该应用程序的监控方法应用于主机,该主机包括至少一个Pod,Pod包括至少两个容器,至少两个容器中的一个部署有应用程序代理,至少两个容器中的其他容器分别部署至少一个应用程序,该方法包括:获取各个应用程序的端口标识和其所处Pod的Pod标识;根据端口标识和对应的Pod标识生成各个应用程序的查询标识;发送查询标识。通过实施本发明,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种应用程序监控方法、装置及***。
背景技术
随着微服务架构、Kubernetes开源编排软件(简称k8s)以及容器技术的流行,越来越多的***使用容器集群进行管理、部署、运行***的组件服务。监控***作为整个安全运维管理中重要的部分,需要对容器中部署的应用程序进行监控,得到应用程序运行过程中的各种指标数据,以及时发现应用故障并为应用程序故障的解决提供数据基础。
目前,传统的应用程序监控***都是带外监控,即通过各种协议来采集各种应用的各种指标数据。由于现有的应用监控***通常是利用管理IP进行管理,因此仅适用于具有固定静态IP的应用监控场景,对于容器集群中管理运行的容器内的应用程序会随着Pod的重新调度(如Pod迁移或宕掉重新创建等场景)应用程序的访问IP也会动态改变,如果采用传统的应用程序监控方式,已监控的应用监控就会中断,并且在多个应用程序部署于同一个容器中时,传统的应用程序监控方式也无法对各个应用程序进行区分,难以对应用程序是否已经被监控进行准确的判断,进而影响了整个监控***的性能,难以满足安全运维管理的要求。
发明内容
有鉴于此,本发明实施例提供了一种应用程序监控方法、装置及***,以解决现有技术中难以准确判断应用程序是否已经被监控的问题。
根据第一方面,本发明实施例提供了一种应用程序监控方法,应用于主机,所述主机包括至少一个Pod,所述Pod包括至少两个容器,所述至少两个容器中的一个部署有应用程序代理,所述至少两个容器中的其他容器分别部署至少一个应用程序,所述方法包括:获取各个所述应用程序的端口标识和其所处Pod的Pod标识;根据所述端口标识和对应的Pod标识生成各个所述应用程序的查询标识;发送所述查询标识。
本发明实施例提供的应用程序监控方法,通过应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
可选地,应用程序监控方法还包括:发送连接验证报文;接收用于获取待监控数据的获取指令;根据所述获取指令发送所述待监控数据。
根据第二方面,本发明实施例提供了一种应用程序监控方法,应用于主机,所述主机包括至少一个Pod,所述至少一个Pod之一部署有监控服务器代理,所述监控服务器代理监控至少一个应用程序代理,所述方法包括:接收所述应用程序代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;发送所述查询标识。
本发明实施例提供的应用程序监控方法,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
可选地,应用程序监控方法还包括:接收连接验证报文;发送连接验证报文;接收用于获取待监控数据的获取指令;发送所述获取指令;接收并发送所述待监控数据。
根据第三方面,本发明实施例提供了一种应用程序监控方法,应用于监控服务器,所述方法包括:接收监控服务器代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;根据所述查询标识判断所述应用程序是否被监控。
本发明实施例提供的应用程序监控方法,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控,使得对应用程序进行监控管理更加便捷。
可选地,当所述应用程序未被监控时,对所述应用程序进行监控。
本发明实施例提供的应用程序监控方法,在判断该应用程序的查询码没有对应的监控数据时,判断该应用程序尚未被监控,从而正确识别出未被监控的应用程序,并对其进行监控。
可选地,应用程序监控方法还包括:接收连接验证报文,并根据所述连接验证报文确定与应用程序代理的连接状态;在所述连接状态为连通状态时,发送获取待监控数据的获取指令;接收待监控数据,并对所述待监控数据进行监控。
可选地,所述方法还包括:监控所述监控服务器代理;判断所述监控服务器代理是否出现异常;当所述监控服务器出现异常时,启动备用监控服务器对所述监控服务器代理所监控的至少一应用程序代理进行监控。
本发明实施例提供的应用程序监控方法,通过设置备用监控服务器代理,在监控服务器代理出现异常时,可以自动切换至备用监控服务器代理,提高了应用程序监控方法的实用性,避免了由于监控服务器代理异常造成无法对应用程序进行监控的问题。
根据第四方面,本发明实施例提供了一种应用程序监控装置,应用于主机,,所述主机包括至少一个Pod,所述Pod包括至少两个容器,所述至少两个容器中的一个部署有应用程序代理,所述至少两个容器中的其他容器分别部署至少一个应用程序,所述装置包括:获取单元,用于获取各个所述应用程序的端口标识和其所处Pod的Pod标识;处理单元,用于根据所述端口标识和对应的Pod标识生成各个所述应用程序的查询标识;第一发送单元,用于发送所述查询标识。
本发明实施例提供的应用程序监控装置,通过应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
根据第五方面,本发明实施例提供了一种应用程序监控装置,应用于主机,所述主机包括至少一个Pod,所述至少一个Pod之一部署有监控服务器代理,所述监控服务器代理监控至少一个应用程序代理,所述装置包括:第一接收单元,用于接收所述应用程序代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;第二发送单元,用于发送所述查询标识。
本发明实施例提供的应用程序监控装置,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
根据第六方面,本发明实施例提供了一种应用程序监控装置,应用于监控服务器,所述装置包括:第二接收单元,用于接收监控服务器代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;判断单元,用于根据所述查询标识判断所述应用程序是否被监控。
本发明实施例提供的应用程序监控装置,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控,使得对应用程序进行监控管理更加便捷。
根据第七方面,本发明实施例提供了一种应用程序监控***,包括:第四方面所述的应用程序监控装置、第五方面所述的应用程序监控装置和第六方面所述的应用程序监控装置。
根据第八方面,本发明实施例提供了一种应用程序监控***,包括:至少一个第一主机,所述第一主机包括至少一个Pod,所述Pod包括至少两个容器,所述至少两个容器中的一个部署有应用程序代理,所述至少两个容器中的其他容器分别部署有至少一个应用程序,所述第一主机用于获取各个所述应用程序的端口标识和其所处Pod的Pod标识;根据所述端口标识和对应的Pod标识生成各个所述应用程序的查询标识;至少一个第二主机,所述第二主机包括至少一个Pod,所述至少一个Pod之一部署有监控服务器代理,所述监控服务器代理监控至少一个应用程序代理,所述第二主机用于接收所述应用程序代理发送的查询标识;监控服务器,用于接收监控服务器代理所发送的查询标识,根据所述查询标识判断所述应用程序是否被监控。
本发明实施例提供的应用程序监控***,通过应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,该用程序监控***实现了通过查询标识的唯一性判断各个应用程序是否被监控的功能。
可选地,所述监控服务器部署于所述第一主机及所述第二主机所属的集群外。
本发明实施例提供的应用程序监控***,通过将监控服务器部署于集群外,使得监控服务器可以直接与监控服务器代理进行通信,从而避免了由于受到防火墙开通规则过多的限制,使得集群内与集群外进行数据通信复杂导致无法对应用程序进行监控的问题。
根据第九方面,本发明实施例提供了一种应用程序监控***,包括:多个主机,所述多个主机部署有至少一个应用程序代理和至少一个监控服务器代理,所述监控服务器代理用于接收所述应用程序代理监控的至少一应用程序的待监控数据;监控服务器,位于所述多个主机所属的集群外,用于接收所述监控服务器代理发送的所述应用程序的待监控数据。
本发明实施例提供的应用程序监控***,通过将监控服务器部署于集群外,使得监控服务器可以直接与监控服务器代理进行通信,从而避免了由于受到防火墙开通规则过多的限制,使得集群内与集群外进行数据通信复杂导致无法对应用程序进行监控的问题,实现了对集群内应用程序的待监控数据进行监控的目的。
可选地,所述监控服务器代理还用于接收所述应用程序代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;所述监控服务器还用于接收所述监控服务器代理发送的所述查询标识。
本发明实施例提供的应用程序监控***,通过应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,该用程序监控***实现了通过查询标识的唯一性判断各个应用程序是否被监控的功能。
根据第十方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面、第二方面或第三方面,或者其任意一种可选实施方式中所述的应用程序监控方法。
根据第十一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面、第二方面或第三方面,或者其任意一种可选实施方式中所述的应用程序监控方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种应用程序监控方法的流程图;
图2是根据本发明实施例的另一种应用程序监控方法的流程图;
图3是根据本发明实施例的另一种应用程序监控方法的流程图;
图4为本发明实施例的一种应用程序监控***的结构示意图;
图4A是根据本发明实施例的一种应用程序监控交互示意图;
图4B是根据本发明实施例的另一应用程序监控交互示意图;
图4C为本发明实施例的一种应用程序监控***的另一结构示意图;
图5为本发明实施例的另一种应用程序监控***的结构示意图;
图6为本发明实施例的种应用程序监控装置的结构示意图;
图7为本发明实施例的另一种应用程序监控装置的结构示意图;
图8为本发明实施例的另一种应用程序监控装置的结构示意图;
图9为本发明实施例的一种应用程序监控***的另一结构示意图;
图10是本发明实施例的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
在本发明所提供的实施例中,所应用的容器集群以基于Kubernetes开源编排软件来实现容器集群的创建的,即k8s容器集群为例进行说明。
在k8s集群中,一般包括有多个主机,在每一个主机上运行有多个Pod,Pod为k8s集群的基本操作单元,一个Pod由一个容器或多个容器组成,Pod包含的容器运行在同一主机上,使用相同的网络命令空间、IP地址和端口,相互之间能通过本地主机来发现和通信,还可共享一块存储卷空间,处于同一Pod中的应用可以看到彼此的进程,还可以用systemVipc或者posix消息队列进行通信。
图1示出了根据本发明实施例的一种应用程序监控方法的流程图。该方法应用于上述k8s集群中的主机,该主机包括至少一个Pod,Pod包括至少两个容器,至少两个容器中的一个部署有应用程序代理,至少两个容器中的其他容器分别部署至少一个应用程序,该方法可以用于对容器集群中的各个应用程序进行监控,如图1所示,该方法包括如下步骤:
S101:应用程序代理获取各个应用程序的端口标识和其所处Pod的Pod标识。
具体地,在k8s中创建、调度和管理的最小单位就是Pod。在实际应用中,k8s集群中容器的网络驱动可以配置成overlay网络,以解决各个容器的跨主机通信问题,能够为集群中的所有节点重新规划IP地址的使用规则,使不同节点上的Pod能够获得"同属一个内网"且"不重复的"IP地址,并让属于不同节点上的容器能够直接通过内网IP通信,该IP地址即为上述的Pod标识,Pod标识由k8s集群统一分配,在同一个k8s集群中Pod标识不会冲突。各个应用程序部署于对应的容器中具有自己的端口标识,例如:部署于同一Pod标识为Pod1中的两个应用程序Tomcat1和Tomcat2的端口标识分别为JMX:9001和JMX:9002。
因而,应用程序代理可以获取同一pod内的各个应用程序的端口标识和应用程序代理所处Pod的Pod标识。
S102:应用程序代理根据端口标识和对应的Pod标识生成各个应用程序的查询标识。
具体地,由于k8s集群中每一个Pod的标识都不相同,在同一个Pod中所部署的应用程序具有不同的端口标识,因此可以根据该应用程序的端口标识和其所在Pod的Pod标识生成在集群中唯一的查询标识。从而可以解决在同一个Pod内多个相同的应用无法进行区分的问题。
在实际应用中,该查询标识可以构建为通用唯一识别码(Universally UniqueIdentifier,简称UUID码),例如:上述部署于Pod1中的应用程序Tomcat1的UUID码为:tomcat-5fd98dbf5f,需要说明的是,在实际应用中,上述的查询标识的生成过程还可以通过其他方式实现,例如:将应用程序的端口标识与Pod标识进行合并构成查询标识,本发明并不以此为限。
S103:应用程序代理发送查询标识。
在实际应用中,应用程序代理通过与该应用程序部署于同一Pod中的应用程序代理将上述的查询标识发送给监控该应用程序的接收方。
此外,本发明中通过将应用程序代理与应用程序部署在同一个Pod中,应用程序代理在对应用程序进行监控时,只监控同一pod内部的应用程序所对应的应用端口,从而无需将Pod的所有端口都暴露给外部的监控服务器,从而保证了安全运维管理的安全性。
通过上述步骤S101至步骤103,本发明实施例提供的应用程序监控方法,通过应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,在对应用程序进行监控的过程中可以通过查询标识的唯一性判断应用程序是否被监控。
在本实施例中,在对应用程序代理所代理的应用程序被监控后,需要对应用程序代理进行监听管理,应用程序代理启动后,会通过监控服务器代理向监控服务器进行注册,即开启监控服务器对该应用程序代理的监控,具体的,如图4B所示,可以包括如下步骤:
S104:应用程序代理发送连接验证报文。在本实施例中,连接验证报文用于验证应用程序代理与监控服务器之间的连接状态,具体的,验证报文可以为心跳报文,应用程序代理可以周期性的向监控服务器代理发送心跳报文,监控服务器代理将心跳报文转发至监控服务器,监控服务器可以通过是否接收到心跳报文确定与应用程序代理的连通状态。
S105:应用程序代理接收用于获取待监控数据的获取指令。
监控服务器根据与应用程序代理的连接状态确定是否需要获取监控数据。具体的,当监控服务器超过预设时长没有接收到心跳报文时,则确定监控服务器与应用程序代理之间的通信异常;当在预设时长内接收到心跳报文,则可以确定监控服务器与应用程序代理之间通信正常,因此,监控服务器可以向应用程序代理下发获取指令,以使得应用程序代理向监控服务器上报待监控的数据。该待监控数据包括其所对应的应用程序在运行过程中的各类指标数据,例如:运行程序的运行时间、内存占用率、线程等,可以对这些指标数据的处理和分析,得到该运行程序的运行状况,以便于及时发现应用程序的故障,方便运维管理,进而实现对该应用程序的监控。
S106:应用程序代理根据所述获取指令发送所述待监控数据。
可以通过心跳机制实现对应用程序运行状态的监控,从而及时发现运行的应用程序,并能够根据该应用程序的查询标识获取该应用程序的待监控数据。
实施例2
图2示出了根据本发明实施例的另一种应用程序监控方法的流程图。该方法应用于上述k8s集群中的主机,主机包括至少一个Pod,至少一个Pod之一部署有监控服务器代理,监控服务器代理监控至少一个应用程序代理,该方法可以用于对容器集群中的各个应用程序进行监控,如图2所示,该方法包括如下步骤:
步骤S201:监控服务器代理接收应用程序代理发送的查询标识,查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成。
具体地,上述的查询标识的生成过程可以具体参见上述步骤S101和步骤S102的相关描述,在此不再进行赘述。在实际应用中,通过上述的监控服务器代理来接收应用程序代理发送的查询标识。
步骤S202:监控服务器代理发送查询标识。
具体地,通过监控服务器代理将其所监控的所有应用程序代理发送的查询标识发送给监控各个应用程序的接收方。
通过上述步骤S201至步骤202,本发明实施例提供的应用程序监控方法,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
作为本实施例的一种可选实施方式,在上述监控服务器代理将查询标识发送之前,该应用程序监控方法还包括:对接收的运行数据进行预处理的操作,例如:计算运行数据中的相关阈值,并将其与预设阈值进行比较,如果与预设阈值不同,则说明该应用程序存在相应的故障风险,进而完成对应用程序运行状况的初步筛查,并将该筛查结果一起发生至监控应用程序的接收方,方便运维人员及时发现故障,便于运维管理。
在本实施例中,在对应用程序代理所代理的应用程序进行监控后,监控服务器需要对应用程序代理进行监听管理,具体地,在应用程序代理启动后,会通过监控服务器代理向监控服务器代理上报至监控服务器进行注册,即开启监控服务器对该应用程序代理的监控,具体的,如图4B所示,在监控服务器代理一端可以包括如下步骤:
S203:监控服务器代理接收连接验证报文。在本实施例中,监控服务器可以通过心跳报文确定与应用程序代理间的连通状态。
S204:监控服务器代理发送连接验证报文。监控服务器代理仅转发应用程序代理发送的连接验证报文。
S205:监控服务器代理接收用于获取待监控数据的获取指令,获取指令为监控服务器与应用程序代理间的连接状态为连通状态时发送的。具体地,当监控服务器判断上述连接状态为连通时,向监控服务器代理发送的用于获取待监控数据的获取指令。
S206:监控服务器代理发送获取指令,获取指令用于获取待监控数据。具体地,监控服务器代理将获取指令发送至应用程序代理,使得应用程序代理根据该获取指令获取应用程序的待监控数据,在本实施例中,监控服务器代理转发监控服务器代理生成的获取指令。
S207:接收并发送待监控数据。具体地,监控服务器代理将应用程序代理发送的待监控数据转发至监控服务器进行处理。
从而可以通过心跳机制实现对应用程序运行状态的监控,从而及时发现运行的应用程序,并能够根据该应用程序的查询标识获取该应用程序的待监控数据。
本发明实施例中提供的监控服务器代理,还实现了将集群内部部署的各个应用程序的待监控数据发送至外部服务器,避免了对外部监控服务器直接监控各个应用程序对资源的占用(监控服务器的CPU利用率、内存空间等),有效的分担了服务器的负载,此外,该监控服务器代理可以通过Overlay网络中的数据传输协议进行k8s集群内部与外部的通信,从而仅需要开通与监控服务器代理相对应的防火墙规则即可,无需对每个应用程序开通一个对应的防火墙规则,解决了现有技术中由于受到防火墙开通规则过多的限制,使得集群内与集群外进行数据通信复杂导致无法对应用程序进行监控的问题。
实施例3
图3示出了根据本发明实施例的另一种应用程序监控方法的流程图。该方法应用于监控上述k8s集群的监控服务器,该方法可以用于对容器集群中的各个应用程序进行监控,如图3所示,该方法包括如下步骤:
步骤S301:监控服务器接收监控服务器代理发送的查询标识,查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成。
具体地,上述的查询标识的生成过程可以具体参见上述步骤S101和步骤S102的相关描述,在此不再进行赘述。在实际应用中,通过上述的监控服务器来接收监控服务器代理发送的查询标识。
步骤S302:监控服务器根据查询标识判断应用程序是否被监控。
具体地,当上述的监控服务器接收到由监控服务器代理上报的关于k8s集群内部署的各个应用程序的查询标识等信息后,根据应用程序的唯一标识即通过判断根据该查询标识是否已经存在来确定其所对应的应用程序是否被监控服务器纳管并监控,如果该查询标识已经存在,则说明该应用程序属于已经监控的应用程序,可以将当前接收到的关于该应用程序的待监控数据补充到该查询标识对应的历史监控数据中,从而保持了同一个应用程序的监控数据的连续性。
通过上述步骤S301至步骤302,本发明实施例提供的应用程序监控方法,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控,使得对应用程序进行监控管理更加便捷。
作为本实施例的一种可选实施方式,当判断上述的查询标识没有记录,则说明该查询标识所对应的应用程序未被监控,则需要根据该查询标识建立对该应用程序的待监控数据的监控,以便于对该应用程序进行后续的待监控数据的采集和使用,在实际应用中,可以根据查询标识建立该查询标识对应的应用程序的待监控数据的存储文件,将该应用程序的所有待监控数据存放至该存储文件中,并对该应用程序的待监控数据进行分析和处理,得到该应用程序的具体运行状况,需要说明的是,上述根据查询标识建立对应用程序的待监控数据进行监控的过程还可以根据实际需要进行设置,本发明并不以此为限。上述的过程为自动判断识别对应用程序进行监控无需人工操作。
在本实施例中,在对应用程序代理所代理的应用程序被监控后,监控服务器需要对应用程序代理进行监听管理,具体地,在应用程序代理启动后,会通过监控服务器代理向监控服务器代理上报至监控服务器进行注册,即开启监控服务器对该应用程序代理的监控,具体的,如图4B所示,在监控服务器一端可以包括如下步骤:
S303:监控服务器接收连接验证报文,并根据连接验证报文确定与应用程序代理的连接状态,具体的,该验证报文为应用程序代理生成并发送的,经过监控服务器代理转发至监控服务器。
S304:在连接状态为连通状态时,监控服务器发送获取待监控数据的获取指令,具体的,获取指令发送后,经过监控服务器代理转发至应用程序代理;
S305:监控服务器接收待监控数据,并对待监控数据进行监控,具体的,应用程序代理接收到获取指令后,根据获取指令发送待监控数据,待监控数据通过监控服务器代理转发至监控服务器,并在监控服务器中对数据进行监控。
作为本实施例的另一种可选实施方式,代理服务器还连接有备用监控服务器代理,上述方法还包括:
对监控服务器代理的运行状态进行监控;
判断监控服务器代理是否出现异常;
当监控服务器出现异常时,启动备用监控服务器对监控服务器代理所监控的至少一应用程序代理进行监控。
在实际应用中,在上述监控服务器中包含有监听的功能,其可以通过判断接收到监控服务器代理发送的心跳报文的时间间隔来确定上述监控服务器代理的状态,需要说明的是,监控服务器代理发送心跳报文的时间间隔可以根据实际需要进行调整,本发明并不以此为限。
当监控服务器监听到监控服务器代理(本实施例中为了区分方便,也可以称为主用监控服务器代理)出现异常时,例如:在主用监控服务器代理无法接收应用程序代理发送的数据时,自动的切断主用监控服务器代理对各个应用程序代理的监控,启动备用监控服务器代理对上述各个应用程序代理进行监控。当主用监控服务器代理恢复正常后,可以根据实际情况的需要预先设置是否自动由备用监控服务器代理切换回原主用监控服务器代理。
在实际应用中与监控服务器连接的备用监控服务器代理的个数可以根据需要进行设置,例如同时设置多个备用监控服务器代理,同时设置各个备用监控服务器代理的优先级顺序,当监控服务器确定主用监控服务器代理出现异常时按照预设的优先级顺序切换备用监控服务器代理,当备用监控服务器代理也出现异常时,可以继续切换另一个监控服务器代理,从而通过多个备用监控服务器代理的设置保障监控的连续性。
具体地,在实际应用中,对于k8s集群中的每一个应用程序代理,可以在配置文件中配置主用监控服务器代理与备用监控服务器代理的IP地址,在应用程序代理启动时会获取主用监控服务器代理与备用监控服务器代理的IP地址,应用程序代理将获取的待监控数据及生成的查询标识通过主用监控服务器代理上报到监控服务器。应用程序代理优先连接主用监控服务器代理,当主用监控服务器代理无法连通时,则连接备用监控服务器代理。
在实际应用中,上述的应用程序代理可以采用在监控服务器代理以及监控服务器出现故障时自动重新启动以及自身提供采集数据的缓存机制,可以根据配置的数据缓存时间缓存采集的数据。当监控服务器代理以及监控服务器出现故障或者与应用程序代理的连接中断后,应用程序代理自身具有独立的采集和保存采集数据的能力,待故障恢复或者重新连接后,能够将缺少的采集数据一次性传送给监控服务器,提高了该应用程序监控方法的可用性。
需要说明的是,本实施例中的监控服务器与监控服务器代理之间的心跳报文与监控服务器与应用程序代理间所交互的心跳报文并非是同一心跳报文。本实施例中监控服务器与监控服务器代理之间交互的心跳报文是使得监控服务器在确定与主用监控服务器代理之间出现通信故障时,监控服务器及时的建立与备用监控服务器代理之间的通信,由此保证监控服务器代理的高可用。
在实际应用中,上述的监控服务器还可以设置有多个,各个监控服务器之间可以采用zookeeper集群机制。当一个监控服务器出现异常时,由监控服务器的leader重新调度,将异常监控服务器管理的监控服务器代理分配给正常运行的监控服务器管理;当监控服务器的leader出现异常时,Zookeeper会重新选举监控服务器的leader,并由新选举的监控服务器的leader调度,将异常监控服务器管理的监控服务器代理分配给正常运行的监控服务器进行管理,提高了该应用程序监控方法的可用性。
实施例4
图4示出了根据本发明实施例的一种应用程序监控***的结构示意图。该***可以实现上述实施例1、实施例2、实施例3或者其任意可选实施方式中所提供的方法。该***可以用于对容器集群中的各个应用程序进行监控,如图4所示,该***包括:至少一个第一主机、至少一个第二主机以及监控服务器。
至少一个第一主机4,第一主机4包括至少一个Pod,Pod包括至少两个容器,本实施例中以pod中包括两个容器,容器41和容器42为例进行说明,其中,容器41部署有应用程序代理411,另一个容器42部署有至少一个应用程序(412,413,414),第一主机4用于获取各个应用程序(412,413,414)的端口标识和第一主机4内部署的Pod的Pod标识;根据端口标识和对应的Pod标识生成各个应用程序(412,413,414)的查询标识;
至少一个第二主机40,第二主机40包括至少一个Pod,本实施例中以包括两个pod为例进行说明,其中一个Pod部署有监控服务器代理401,另一个Pod中部署有应用程序代理411和一个应用程序415,监控服务器代理401监控至少一个应用程序代理411,第二主机40用于接收各个应用程序代理411发送的查询标识;
监控服务器400,用于接收监控服务器代理401所发送的查询标识,根据查询标识判断应用程序412是否被监控。在实际应用中,上述的第一主机4与第二主机40可以是同一个主机,也可以是不同的两个主机,例如:将第一主机4中的Pod部署于第二主机40中,或者将第二主机40中的Pod部署于第一主机4中,本发明实施例并不以此为限。
具体地,上述应用程序监控***中部署的应用程序代理411用于执行上述实施例1中提供的应用程序监控方法,上述应用程序监控***中部署的监控服务器代理401于执行上述实施例2中提供的另一种应用程序监控方法,上述应用程序监控***中部署的监控服务器400用于执行上述实施例3中提供的另一种应用程序监控方法,详细内容参数上述实施例1、实施例2及实施例3中的相关描述,在此不再进行赘述。具体的,应用程序代理411、监控服务器代理401、监控服务器400的交互方式可以参见图4A或图4B所示的应用程序监控***的交互图。
通过上述各个组成部分的协同合作,本发明实施例提供的应用程序监控***,通过应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,该用程序监控***实现了通过查询标识的唯一性判断各个应用程序是否被监控的功能。
作为本实施例的另一种可选实施方式,如图4C所示,监控服务器400部署于第一主机4及第二主机40所属的集群外。在实际应用中,上述的第一主机4及第二主机40同属于k8s集群中,各个主机在k8s集群中通过容器Overlay网络进行通信与数据传输,实现跨主机通信。在现有技术中的应用监控***部署在管理区(k8s集群外部),k8s应用程序部署在生产区(k8s集群内部),管理区和生产区之间有防火墙进行隔离,防火墙只能开通有限数量且规则定义明确的防火墙规则;由于应用程序412数量规模巨大,如要监控,需要开通的防火墙规则太多,不能满足安全运维管理的要求。从而通过将上述的监控服务器400部署在k8s集群外部,使得该监控服务器400通过Overlay网络中的数据传输协议进行k8s集群内部与外部的通信,从而仅需要开通与监控服务器代理401相对应的防火墙规则即可,无需对每个应用程序开通一个对应的防火墙规则,解决了现有技术中由于受到防火墙开通规则过多的限制,使得集群内与集群外进行数据通信复杂导致无法对应用程序进行监控的问题。
实施例5
图5示出了根据本发明实施例的另一种应用程序监控***的结构示意图。该***可以实现上述实施例1、实施例2、实施例3或者其任意可选实施方式中所提供的方法。如图5所示,该***包括:多个主机501,本发明实施例中是以3个主机为例进行的说明,多个主机501部署有至少一个应用程序代理5011和至少一个监控服务器代理5012,在本发明实施例中,其中一个主机501中部署有一个监控服务器代理5012,并部署有一个应用程序代理5011及一个应用程序5013,其余两个主机501中分别部署有一个应用程序代理5011和多个应用程序5013,其中,监控服务器代理5012用于接收应用程序代理5011监控的至少一应用程序5013的待监控数据;监控服务器502,位于多个主机501所属的集群外,用于接收监控服务器代理5012发送的应用程序的待监控数据。
具体地,上述应用程序监控***中部署的应用程序代理用于执行上述实施例1中提供的应用程序监控方法,上述应用程序监控***中部署的监控服务器代理于执行上述实施例2中提供的另一种应用程序监控方法,上述应用程序监控***中部署的监控服务器用于执行上述实施例3中提供的另一种应用程序监控方法,详细内容参数上述实施例1、实施例2及实施例3中的相关描述,在此不再进行赘述。
通过上述各个组成部分的协同合作,本发明实施例提供的应用程序监控***,通过将监控服务器部署于集群外,使得监控服务器可以直接与监控服务器代理进行通信,从而避免了由于受到防火墙开通规则过多的限制,使得集群内与集群外进行数据通信复杂导致无法对应用程序进行监控的问题,实现了对集群内应用程序的待监控数据进行监控的目的。
作为本实施例的另一种可选实施方式,述监控服务器代理5012还用于接收应用程序代理5011发送的查询标识,查询标识由各个应用程序5013的端口标识和其所处Pod的Pod标识生成;监控服务器503还用于接收监控服务器代理5012发送的查询标识。通过应用程序5013的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序5013的唯一标识,在应用程序5013的IP地址发生变化或将多个应用程序5013部署于同一容器时,各个应用程序5013所对应的查询标识也不会改变,该用程序监控***实现了通过查询标识的唯一性判断各个应用程序是否被监控的功能。
实施例6
图6示出了根据本发明实施例的一种应用程序监控装置的结构示意图。该装置可以实现上述实施例1中所提供的方法。该装置可以用于对容器集群中的各个应用程序进行监控,应用于主机,主机包括至少一个Pod,Pod包括至少两个容器,至少两个容器中的一个部署有应用程序代理,至少两个容器中的其他容器分别部署至少一个应用程序,如图6所示,该装置包括:获取单元601、处理单元602及发送单元603。
获取单元601,用于获取各个应用程序的端口标识和其所处Pod的Pod标识。详细内容参见实施例1中步骤S101的相关描述。
处理单元602,用于根据端口标识和对应的Pod标识生成各个应用程序的查询标识。详细内容参见实施例1中步骤S102的相关描述。
第一发送单元603,用于发送查询标识。详细内容参见实施例1中步骤S103的相关描述。
本发明实施例提供的应用程序监控装置,通过应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
在一可选实施例中,本发明实施例提供的应用程序监控装置还包括:
验证报文第一发送单元,用于发送连接验证报文。详细内容参见实施例1中步骤S103的相关描述。
获取指令第一接收单元,用于接收用于获取待监控数据的获取指令。详细内容参见实施例1中步骤S104的相关描述。
监控数据第一发送单元,用于根据获取指令发送待监控数据。详细内容参见实施例1中步骤S105的相关描述。
实施例7
图7示出了根据本发明实施例的一种应用程序监控装置的结构示意图。该装置可以实现上述实施例2中所提供的方法。该装置可以用于对容器集群中的各个应用程序进行监控,应用于主机,主机包括至少一个Pod,Pod包括至少两个容器,至少两个容器中的一个部署有应用程序代理,至少两个容器中的其他容器分别部署至少一个应用程序,如图7所示,该装置包括:第一接收单元701和第二发送单元702。
第一接收单元701,用于接收应用程序代理发送的查询标识,查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成。详细内容参见实施例2中步骤S201的相关描述。
第二发送单元702,用于发送查询标识。详细内容参见实施例2中步骤S202的相关描述。
本发明实施例提供的应用程序监控装置,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控。
在一可选实施例中,本发明实施例提供的应用程序监控装置还包括:
验证报文第二接收单元,用于接收连接验证报文。详细内容参见实施例2中步骤S203的相关描述。
验证报文第二发送单元,用于发送连接验证报文。详细内容参见实施例2中步骤S204的相关描述。
获取指令第二接收单元,用于接收用于获取待监控数据的获取指令。详细内容参见实施例2中步骤S205的相关描述。
获取指令第二发送单元,用于发送获取指令。详细内容参见实施例2中步骤S206的相关描述。
监控数据转发单元,用于接收并发送待监控数据。详细内容参见实施例2中步骤S207的相关描述。
实施例8
图8示出了根据本发明实施例的一种应用程序监控装置的结构示意图。该装置可以实现上述实施例3中所提供的方法。该装置可以用于对容器集群中的各个应用程序进行监控,如图6所示,该装置包括:应用于主机,主机包括至少一个Pod,Pod包括至少两个容器,至少两个容器中的一个部署有应用程序代理,至少两个容器中的其他容器分别部署至少一个应用程序,如图8所示,该装置包括:第二接收单元801和判断单元802。
第二接收单元801,用于接收监控服务器代理发送的查询标识,查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成。详细内容参见实施例3中步骤S301的相关描述。
判断单元802,用于根据查询标识判断应用程序是否被监控。详细内容参见实施例3中步骤S302的相关描述。
本发明实施例提供的应用程序监控装置,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控,使得对应用程序进行监控管理更加便捷。
在一可选实施例中,本发明实施例提供的应用程序监控装置还包括:
验证报文第三接收单元,用于接收连接验证报文,并根据所述连接验证报文确定与应用程序代理的连接状态。详细内容参见实施例3中步骤S303的相关描述。
获取指令第三发送单元,用于在所述连接状态为连通状态时,发送获取待监控数据的获取指令。详细内容参见实施例3中步骤S304的相关描述。
监控数据第三接收单元,用于接收待监控数据,并对所述待监控数据进行监控。详细内容参见实施例3中的相关描述。
监控单元,用于监控所述监控服务器代理。详细内容参见实施例3中的相关描述。
判断单元,用于判断所述监控服务器代理是否出现异常。详细内容参见实施例3中的相关描述。
备用单元,当所述监控服务器出现异常时,所述备用单元用于启动备用监控服务器代理对所述监控服务器代理所监控的至少一应用程序代理进行监控。详细内容参见实施例3中的相关描述。
实施例9
图9示出了了根据本发明实施例的另一种应用程序监控***的结构示意图。该***可以实现上述实施例1、实施例2、实施例3或者其任意可选实施方式中所提供的方法。该***可以用于对容器集群中的各个应用程序进行监控,如图9所示,该应用程序监控***包括:上述实施例6中所述的应用程序监控装置6、上述实施例7中所述的应用程序监控装置7及上述实施例8中所述的应用程序监控装置8,详细内容参见上述实施例6-8中的相关描述,在此不再进行赘述。
本发明实施例提供的应用程序监控***,通过接收由应用程序的端口标识和其所处Pod的Pod标识所生成的查询标识,实现了对应用程序的唯一标识,在应用程序的IP地址发生变化或将多个应用程序部署于同一容器时,各个应用程序所对应的查询标识也不会改变,可以通过查询标识的唯一性判断各个应用程序是否被监控,使得对应用程序进行监控管理更加便捷。
实施例10
图10示出了根据本发明实施例的一种电子设备,如图10所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图10中以通过总线连接为例。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的容器镜像的管理、使用或构建方法所对应的程序指令/模块(例如,图6所示的获取单元601、处理单元602和第一发送单元603)。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的应用程序的监控方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的应用程序监控方法。
上述电子设备具体细节可以对应参阅实施例1至实施例3所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (13)
1.一种应用程序监控方法,应用于主机,其特征在于,主机包括至少一个Pod,所述Pod包括至少两个容器,所述至少两个容器中的一个部署有应用程序代理,所述至少两个容器中的其他容器分别部署至少一个应用程序,所述方法包括:
获取各个所述应用程序的端口标识和其所处Pod的Pod标识;
根据所述端口标识和对应的Pod标识生成各个所述应用程序的查询标识;
发送所述查询标识。
2.如权利要求1所述的应用程序监控方法,其特征在于,还包括:
发送连接验证报文;
接收用于获取待监控数据的获取指令;
根据所述获取指令发送所述待监控数据。
3.一种应用程序监控方法,应用于主机,其特征在于,所述主机包括至少一个Pod,所述至少一个Pod之一部署有监控服务器代理,所述监控服务器代理监控至少一个应用程序代理,所述方法包括:
接收所述应用程序代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;
发送所述查询标识。
4.如权利要求3所述的应用程序监控方法,其特征在于,还包括:
接收连接验证报文;
发送所述连接验证报文;
接收用于获取待监控数据的获取指令;
发送所述获取指令;
接收并发送所述待监控数据。
5.一种应用程序监控方法,应用于监控服务器,其特征在于,所述方法包括:
接收监控服务器代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;
根据所述查询标识判断所述应用程序是否被监控。
6.根据权利要求5所述的应用程序监控方法,其特征在于,还包括:
接收连接验证报文,并根据所述连接验证报文确定与应用程序代理的连接状态;
在所述连接状态为连通状态时,发送获取待监控数据的获取指令;
接收待监控数据,并对所述待监控数据进行监控。
7.根据权利要求5所述的应用程序监控方法,其特征在于,所述方法还包括:
监控所述监控服务器代理;
判断所述监控服务器代理是否出现异常;
当所述监控服务器出现异常时,启动备用监控服务器代理对所述监控服务器代理所监控的至少一应用程序代理进行监控。
8.一种应用程序监控装置,应用于主机,其特征在于,所述主机包括至少一个Pod,所述Pod包括至少两个容器,所述至少两个容器中的一个部署有应用程序代理,所述至少两个容器中的其他容器分别部署至少一个应用程序,所述装置包括:
获取单元,用于获取各个所述应用程序的端口标识和其所处Pod的Pod标识;
处理单元,用于根据所述端口标识和对应的Pod标识生成各个所述应用程序的查询标识;
第一发送单元,用于发送所述查询标识。
9.一种应用程序监控装置,应用于主机,其特征在于,所述主机包括至少一个Pod,所述至少一个Pod之一部署有监控服务器代理,所述监控服务器代理监控至少一个应用程序代理,所述装置包括:
第一接收单元,用于接收所述应用程序代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;
第二发送单元,用于发送所述查询标识。
10.一种应用程序监控装置,应用于监控服务器,其特征在于,所述装置包括:
第二接收单元,用于接收监控服务器代理发送的查询标识,所述查询标识由各个应用程序的端口标识和其所处Pod的Pod标识生成;
判断单元,用于根据所述查询标识判断所述应用程序是否被监控。
11.一种应用程序监控***,其特征在于,包括:权利要求8所述的应用程序监控装置、权利要求9所述的应用程序监控装置和权利要求10所述的应用程序监控装置。
12.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1或2所述的应用程序监控方法,或者,执行权利要求3或4所述的应用程序监控方法,或者执行权利要求5-8任意一项所述的应用程序监控方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行权利要求1或2所述的应用程序监控方法,或者,执行权利要求3或4所述的应用程序监控方法,或者执行权利要求5-8任意一项所述的应用程序监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910255968.1A CN109960634B (zh) | 2019-03-29 | 2019-03-29 | 一种应用程序监控方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910255968.1A CN109960634B (zh) | 2019-03-29 | 2019-03-29 | 一种应用程序监控方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109960634A true CN109960634A (zh) | 2019-07-02 |
CN109960634B CN109960634B (zh) | 2023-10-31 |
Family
ID=67025471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910255968.1A Active CN109960634B (zh) | 2019-03-29 | 2019-03-29 | 一种应用程序监控方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109960634B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427249A (zh) * | 2019-07-26 | 2019-11-08 | 重庆紫光华山智安科技有限公司 | 任务分配方法、pod初始化方法及相关装置 |
CN110515696A (zh) * | 2019-08-09 | 2019-11-29 | 济南浪潮数据技术有限公司 | 信息监控方法及装置 |
CN111045908A (zh) * | 2019-12-13 | 2020-04-21 | 深圳前海环融联易信息科技服务有限公司 | ***性能监控方法、装置及计算机设备 |
CN111064781A (zh) * | 2019-12-10 | 2020-04-24 | 北京金山云网络技术有限公司 | 多容器集群监控数据的采集方法、装置及电子设备 |
CN112291288A (zh) * | 2019-07-24 | 2021-01-29 | 北京金山云网络技术有限公司 | 一种容器集群伸缩方法、装置、电子设备及可读存储介质 |
CN112835766A (zh) * | 2021-02-10 | 2021-05-25 | 杭州橙鹰数据技术有限公司 | 应用监控方法及装置 |
CN116560893A (zh) * | 2023-07-07 | 2023-08-08 | 湖南开放大学(湖南网络工程职业学院、湖南省干部教育培训网络学院) | 一种计算机应用程序运行数据故障处理*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160373327A1 (en) * | 2015-06-22 | 2016-12-22 | Draios Inc. | Communication between independent containers |
GB201709133D0 (en) * | 2017-06-08 | 2017-07-26 | British Telecomm | Containerised programming |
CN107197012A (zh) * | 2017-05-19 | 2017-09-22 | 焦点科技股份有限公司 | 一种基于元数据管理***的服务发布及监管***及方法 |
US20170315795A1 (en) * | 2016-04-29 | 2017-11-02 | Ca, Inc. | Monitoring containerized applications |
US20180048545A1 (en) * | 2016-08-11 | 2018-02-15 | Hewlett Packard Enterprise Development Lp | Container monitoring configuration deployment |
US20180288129A1 (en) * | 2017-03-29 | 2018-10-04 | Ca, Inc. | Introspection driven monitoring of multi-container applications |
CN109062655A (zh) * | 2018-06-05 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种容器化云平台及服务器 |
-
2019
- 2019-03-29 CN CN201910255968.1A patent/CN109960634B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160373327A1 (en) * | 2015-06-22 | 2016-12-22 | Draios Inc. | Communication between independent containers |
US20170315795A1 (en) * | 2016-04-29 | 2017-11-02 | Ca, Inc. | Monitoring containerized applications |
US20180048545A1 (en) * | 2016-08-11 | 2018-02-15 | Hewlett Packard Enterprise Development Lp | Container monitoring configuration deployment |
US20180288129A1 (en) * | 2017-03-29 | 2018-10-04 | Ca, Inc. | Introspection driven monitoring of multi-container applications |
CN107197012A (zh) * | 2017-05-19 | 2017-09-22 | 焦点科技股份有限公司 | 一种基于元数据管理***的服务发布及监管***及方法 |
GB201709133D0 (en) * | 2017-06-08 | 2017-07-26 | British Telecomm | Containerised programming |
CN109062655A (zh) * | 2018-06-05 | 2018-12-21 | 腾讯科技(深圳)有限公司 | 一种容器化云平台及服务器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291288A (zh) * | 2019-07-24 | 2021-01-29 | 北京金山云网络技术有限公司 | 一种容器集群伸缩方法、装置、电子设备及可读存储介质 |
CN112291288B (zh) * | 2019-07-24 | 2022-10-04 | 北京金山云网络技术有限公司 | 一种容器集群伸缩方法、装置、电子设备及可读存储介质 |
CN110427249A (zh) * | 2019-07-26 | 2019-11-08 | 重庆紫光华山智安科技有限公司 | 任务分配方法、pod初始化方法及相关装置 |
CN110515696A (zh) * | 2019-08-09 | 2019-11-29 | 济南浪潮数据技术有限公司 | 信息监控方法及装置 |
CN111064781A (zh) * | 2019-12-10 | 2020-04-24 | 北京金山云网络技术有限公司 | 多容器集群监控数据的采集方法、装置及电子设备 |
CN111045908A (zh) * | 2019-12-13 | 2020-04-21 | 深圳前海环融联易信息科技服务有限公司 | ***性能监控方法、装置及计算机设备 |
CN112835766A (zh) * | 2021-02-10 | 2021-05-25 | 杭州橙鹰数据技术有限公司 | 应用监控方法及装置 |
CN116560893A (zh) * | 2023-07-07 | 2023-08-08 | 湖南开放大学(湖南网络工程职业学院、湖南省干部教育培训网络学院) | 一种计算机应用程序运行数据故障处理*** |
CN116560893B (zh) * | 2023-07-07 | 2023-09-22 | 湖南开放大学(湖南网络工程职业学院、湖南省干部教育培训网络学院) | 一种计算机应用程序运行数据故障处理*** |
Also Published As
Publication number | Publication date |
---|---|
CN109960634B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109960634A (zh) | 一种应用程序监控方法、装置及*** | |
JP6835444B2 (ja) | ソフトウェア定義型データセンター、並びにそのためのサービスクラスタスケジューリング方法及びトラフィック監視方法 | |
US9838483B2 (en) | Methods, systems, and computer readable media for a network function virtualization information concentrator | |
US20140215077A1 (en) | Methods and systems for detecting, locating and remediating a congested resource or flow in a virtual infrastructure | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
CN111800354B (zh) | 消息处理方法及装置、消息处理设备及存储介质 | |
EP3854033B1 (en) | Packet capture via packet tagging | |
CN109074280B (zh) | 网络功能虚拟化 | |
WO2019141089A1 (zh) | 网络告警方法、装置、***及终端 | |
CN112564994B (zh) | 流量监测方法、装置、云服务器及存储介质 | |
WO2020121293A1 (en) | Orchestration of activities of entities operating in a network cloud | |
CN101431435B (zh) | 一种基于面向连接的业务配置与管理方法 | |
Levin et al. | Network Monitoring in Federated Cloud Environment | |
US20230060758A1 (en) | Orchestration of Activities of Entities Operating in a Network Cloud | |
CN106453118B (zh) | 一种流量控制方法及流量控制*** | |
US10904123B2 (en) | Trace routing in virtual networks | |
CN116915837B (zh) | 基于软件定义网络的通信方法及通信*** | |
WO2024051258A1 (zh) | 事件处理方法、装置及*** | |
US12028246B2 (en) | Collection of segment routing IPV6 (SRV6) network telemetry information | |
CN110417568B (zh) | Nfv策略协商方法及*** | |
US11671354B2 (en) | Collection of segment routing IPV6 (SRV6) network telemetry information | |
US12035156B2 (en) | Communication method and apparatus for plurality of administrative domains | |
Vuong et al. | Distributed Event Monitoring for Software Defined Networks | |
US20230246955A1 (en) | Collection of segment routing ipv6 (srv6) network telemetry information | |
JP5890545B1 (ja) | ノード装置、障害検出方法及びプログラム |
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 |