CN109561121B - 监控部署的方法及装置 - Google Patents
监控部署的方法及装置 Download PDFInfo
- Publication number
- CN109561121B CN109561121B CN201710884940.5A CN201710884940A CN109561121B CN 109561121 B CN109561121 B CN 109561121B CN 201710884940 A CN201710884940 A CN 201710884940A CN 109561121 B CN109561121 B CN 109561121B
- Authority
- CN
- China
- Prior art keywords
- monitoring
- code
- deployment
- configuration information
- identification 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
Abstract
本发明公开了一种监控部署的方法及装置,涉及系统监控技术领域,为解决现有监控部署效率低的问题而发明。本发明的方法包括:获取提交的代码以及监控配置信息,监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;根据监控配置信息确定提交的代码是否需要进行监控部署;若需要进行监控部署,则根据监控配置信息中代码的监控类型自动为代码进行监控部署。本发明适合应用在程序监控部署的过程中。
Description
技术领域
本发明涉及系统监控技术领域,尤其涉及一种监控部署的方法及装置。
背景技术
现有的对程序性能监控主要有外部监控和内部监控两种。对于外部监控,比如对于Web应用使用统一资源定位符(Uniform Resource Locator,URL)监控该Web应用,对于内部监控,比如将监控代码(侵入或非侵入式的监控代码)插入程序代码中进行程序的监控。关于上述两种监控的部署方式:具体对于Web应用的外部监控的部署则需要根据Web应用程序开发的接口确定供访问的URL,然后手动将供访问的URL添加到监控列表中作为监控项;对于程序的内部监控的部署,则需要在代码编译、构建或部署时,将监控代码手动插入被监控程序。
根据上述现有的监控部署的方式可以看出,不管是内部监控还是外部监控的部署都需要人工进行部署,而人工操作耗时耗力并且容易出错,因此现有的监控部署方式效率较低。
发明内容
鉴于上述问题,本发明提供一种监控部署的方法及装置,为了提高监控部署的效率。
为解决上述技术问题,第一方面,本发明提供了一种监控部署的方法,该方法包括:
获取提交的代码以及监控配置信息,所述监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;
根据监控配置信息确定提交的代码是否需要进行监控部署;
若需要进行监控部署,则根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署。
可选的,所述根据监控配置信息确定所述代码是否需要进行监控部署,包括:
将所述代码的标识信息与监控配置信息中的代码的标识信息进行比对;
若监控配置信息中的代码的标识信息中存在所述代码的标识信息,则确定所述代码需要进行监控部署;
若监控配置信息中的代码的标识信息中不存在所述代码的标识信息,则所述代码不需要进行监控部署。
可选的,所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行外部监控;若需要进行外部监控,则构造所述代码的监控统一资源定位符URL;将所述监控URL添加到监控列表中;
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,在根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署之前,所述方法还包括:
判断所述代码是否为web应用的代码;
若不是web应用的代码,所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,所述构造所述代码的监控URL,包括:
获取所述代码使用的应用框架中的请求映射文件;
从所述请求映射文件中提取所述代码对应的相对URL;
获取所述代码部署的服务器的域名和/或网间协议IP地址;
根据所述域名和/或IP地址以及相对URL构造所述监控URL。
第二方面,本发明还提供了一种监控部署的装置,该装置包括:
获取单元,用于获取提交的代码以及监控配置信息,所述监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;
确定单元,用于根据监控配置信息确定提交的代码是否需要进行监控部署;
部署单元,用于若需要进行监控部署,则根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署。
可选的,所述确定单元包括:
比对模块,用于将所述代码的标识信息与监控配置信息中的代码的标识信息进行比对;
确定模块,用于若监控配置信息中的代码的标识信息中存在所述代码的标识信息,则确定所述代码需要进行监控部署;
所述确定模块,还用于若监控配置信息中的代码的标识信息中不存在所述代码的标识信息,则所述代码不需要进行监控部署。
可选的,所述部署单元,包括:
外部监控部署模块,用于根据监控类型判断所述代码是否需要进行外部监控;若需要进行外部监控,则构造所述代码的监控统一资源定位符URL;将所述监控URL添加到监控列表中;
内部监控部署模块,用于根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,所述装置还包括:
判断单元,用于在根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署之前,判断所述代码是否为web应用的代码;
若不是web应用的代码,所述部署单元,用于:
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,所述外部监控部署模块,还用于:
获取所述代码使用的应用框架中的请求映射文件;
从所述请求映射文件中提取所述代码对应的相对URL;
获取所述代码部署的服务器的域名和/或网间协议IP地址;
根据所述域名和/或IP地址以及相对URL构造所述监控URL。
为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的监控部署的方法。
为了实现上述目的,根据本发明的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的监控部署的方法。
借由上述技术方案,本发明提供的监控部署的方法及装置,在进行程序的监控部署时,程序的监控部署的相关信息可以通过监控配置信息获取,然后根据该监控配置信息中对应的程序代码的监控类型自动为其进行监控部署,实现监控部署的自动化。相比于现有技术,不需要人工进行监控的部署,有效解决了人工部署过程中存在的耗时耗力并且容易出错的问题,因此在一定程度上能够提高监控部署的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种监控部署的方法流程图;
图2示出了本发明实施例提供的另一种监控部署的方法流程图;
图3示出了本发明实施例提供的一种监控部署的方法执行的流程图;
图4示出了本发明实施例提供的一种监控部署的装置的组成框图;
图5示出了本发明实施例提供的另一种监控部署的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了提高监控部署的效率,本发明实施例提供了一种监控部署的方法,如图1所示,该方法包括:
101、获取提交的代码以及监控配置信息。
在程序开发过程中,如果需要对程序的性能进行监控,通常需要在代码进行编译前,进行监控的部署。具体的进行监控部署是依据提交的代码进行的,因为不同的代码对应的监控部署通常是不同的,因此进行监控部署首先需要获取提交的代码。另外监控配置信息中存储有监控部署的相关信息,因此也需要获取监控配置信息。
需要说明的是,监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息,监控配置信息中至少包含哪些程序(或代码)需要进行监控、监控的类型、监控的位置等与监控部署相关的配置信息。另外,监控配置信息中所有的信息都是可以更改、查看、删除等操作的。
102、根据监控配置信息确定提交的代码是否需要进行监控部署。
由步骤101可知监控配置信息中包含哪些程序(或代码)需要进行监控的信息,因此从监控配置信息中可以查找并确定获取到的提交的代码是否需要进行监控部署。
103、若需要进行监控部署,则根据监控配置信息中代码的监控类型自动为代码进行监控部署。
如果确定提交的代码需要进行监控部署,则根据监控配置信息中的与提交的代码对应的监控类型以及其他信息为代码进行自动化的监控部署。其中,监控类型包括外部监控和内部监控,外部监控主要是指URL监控,内部监控主要是指在代码中嵌入监控代码进行监控。具体的自动化的监控部署的实现方式为:对于提交的代码,根据其对应的监控类型进行不同的部署。对于外部监控,则会自动识别对应的监控URL,将监控URL配置到监控系统中,供监控系统通过该监控URL对提交的代码进行监控;对于内部监控则会根据配置信息中的监控位置自动为其添加监控代码,以使监控系统通过监控代码对提交的代码进行监控。可以看到整个过程中,不需要人工的部署和操作。
本发明实施例提供的监控部署的方法,在进行程序的监控部署时,程序的监控部署的相关信息可以通过监控配置信息获取,然后根据该监控配置信息中对应的程序代码的监控类型自动为其进行监控部署,实现监控部署的自动化。相比于现有技术,不需要人工进行监控的部署,有效解决了人工部署过程中存在的耗时耗力并且容易出错的问题,因此在一定程度上能够提高监控部署的效率。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种监控部署的方法,如图2所示。
201、获取提交的代码以及监控配置信息。
本步骤的实现方式与图1步骤101的实现方式相同,此处不再赘述。
202、将代码的标识信息与监控配置信息中的代码的标识信息进行比对。
由于监控配置信息中包含哪些程序(或代码)需要进行监控,且具体的监控配置信息中,不同的代码通常通过不同的代码的标识信息进行区别,即不同的代码的标识信息对应不同的代码,因此监控配置信息中包含所有需要进行监控的代码的代码的标识信息。因此,如果要判断提交的代码是否需要进行监控,则可以通过代码的标识信息确定,即根据监控配置信息中是否存在提交的代码的标识信息来确定提交的代码是否需要进行监控。所以,确定提交的代码是否需要进行监控,首先需要将提交的代码的标识信息与监控配置信息中的代码的标识信息进行比对。其中代码的标识信息,可以是代码所在的文件的名称等能够唯一标识代码的其他自定义标识符。
203、若监控配置信息中的代码的标识信息中存在代码的标识信息,则确定代码需要进行监控部署。
根据步骤202的比对结果进行判断,若监控配置信息中的代码的标识信息中存在代码的标识信息,则确定代码需要进行监控部署;若监控配置信息中的代码的标识信息中不存在代码的标识信息,则代码不需要进行监控部署。
对于需要进行监控部署的代码,则继续进行后续步骤;若不需要进行监控部署的代码,则会跳过监控部署阶段,直接进入后续的过程中,比如在持续集成系统中,会直接进入编译、构建、部署的过程。
204、根据监控类型判断代码是否需要进行外部监控。
根据提交代码的标识信息从监控配置信息中查找到与标识信息对应的代码的监控部署的相关信息,其中监控部署的相关信息中包括监控类型,监控类型包括外部监控和内部监控,因此根据该监控类型确定是否需要进行外部监控。
205、若需要进行外部监控,则构造代码的监控URL并将监控URL添加到监控列表中。
具体的构造代码的监控URL的过程包括如下步骤:
首先,获取代码使用的应用框架中的请求映射文件;
应用框架的请求映射文件中包含了通过该应用框架进行编写的代码中所提供给外部进行访问的所有相对URL。不同的应用框架对应的请求映射文件是不同的,比如对于Django框架,则对应的请求映射文件为urls.py。
其次,从请求映射文件中提取代码对应的相对URL;
对获取到的请求映射文件进行分析,从所有涉及相对URL的代码中获所有相对URL。比如,若请求映射文件中某一涉及相对URL的代码为url(r'^p/some_url/$',some_view)代码,则对应的相对URL为p/some_url。
第三,获取代码部署的服务器的域名和/或网间协议(InternetProtocol,IP)地址;
获取到相对URL后,还需要根据代码部署的服务器的域名和/或IP地址构造相对URL对应的绝对URL,即监控URL,因此构造监控URL首先需要获取代码部署的服务器的域名和/或IP地址。具体的代码部署的服务器的域名以及IP地址是提前设置好的,因此可以直接获取到。
第四,根据域名和/或IP地址以及相对URL构造监控URL。
若获取到的是服务器的域名,则将域名添加到相对URL中,构成监控URL;若获取到的是服务器的IP地址,则将服务器的IP地址添加到相对URL中,构成监控URL;若即获取到服务器的域名又获取到服务器的IP地址,则分别将服务器的域名以及IP地址添加到相对URL中,构成监控URL。给出具体的示例进行说明,对于上述示例中的相对URL:p/some_url,若获取到的代码部署服务器的IP地址为10.1.1.1和10.1.1.2,则构成的监控URL为http://10.1.1.1/p/some_url和http://10.1.1.2/p/some_url;若获取到的代码部署服务器的域名为lantian.com,则构成的监控URL为http://lantian.com/p/some_url。
206、根据监控类型判断代码是否需要进行内部监控。
根据提交代码的标识信息从监控配置信息中查找到与标识信息对应的代码的监控部署的相关信息,其中监控部署的相关信息中包括监控类型,监控类型包括外部监控和内部监控,因此根据该监控类型确定是否需要进行内部监控。
207、若需要进行内部监控,则从监控配置信息中获取与代码的标识信息对应的内部监控的位置并根据内部监控的位置将与代码对应的监控代码嵌入到代码中。
监控配置信息中与代码的标识信息对应的监控的位置即为内部监控的位置,该内部监控的位置是与代码的标识信息对应的代码需要嵌入监控代码的嵌入位置,因此在获取代码对应的监控代码后能够根据确定的内部监控的位置将监控代码嵌入到代码中。具体的嵌入监控代码的位置不限于代码的头部,也可以为代码中其他位置。
在监控部署完后,继续进行其他的操作,比如在持续集成系统中,会继续进行编译、构建、部署的过程。
另外,对于内部监控和外部监控的判断以及部署的过程的顺序在实际应用中可以调换,没有严格的执行顺序。即可以先执行步骤206和207,之后再执行步骤204和205。
另外,由于通常只有web应用会涉及URL监控,为了进一步提高监控部署的效率,则在步骤204之前,增加判断代码是否为web应用的代码的步骤。
具体的,若判断确定提交的代码不是web应用的代码,则不需进行是否需要进行外部监控部署的判断,即不需要执行步骤204和205,而直接进行是否需要内部监控部署的判断,即在步骤203之后执行206以及207。若判断提交的代码是web应用的代码,则按照正常的步骤顺序进行。
与图2实施例的监控部署的方法相对应,给出一种监控部署的方法执行的流程图,如图3所示:方法执行开始后,首先获取监控配置信息以及提交的代码;然后判断提交的代码是否需要进行监控部署;若不需要进行监控部署则结束;若需要进行监控部署,则继续判断提交的代码是否为web应用的代码;若不是web应用的代码,则直接判断提交的代码是否需要嵌入监控代码;若不需要嵌入监控代码则结束;若需要嵌入监控代码则将对应的监控代码嵌入到提交的代码中,然后结束;若提交的代码是web应用的代码,则判断提交的代码是否需要进行URL监控;若不需要进行URL监控,则进入判断是否需要嵌入监控代码的流程;若需要进行URL监控,则构造监控URL并将监控URL添加到监控列表中;之后再判断是否需要嵌入监控代码。
最后,对于上述图1、图2以及图3所示的监控部署的方法,在实现程序监控部署自动化的同时,还将监控部署标准化。因为对于不管是只进行内部监控还是只进行外部监控或者同时进行内部监控和外部监控的情况都可以按照上述流程进行。
进一步的,作为对上述图1、图2以及图3所示方法的实现,本发明实施例另一实施例还提供了一种监控部署的装置,用于对上述图1、图2以及图3所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图4所示,该装置包括:获取单元31、确定单元32以及部署单元33。
获取单元31,用于获取提交的代码以及监控配置信息,所述监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;
在程序开发过程中,如果需要对程序的性能进行监控,通常需要在代码进行编译前,进行监控的部署。具体的进行监控部署是依据提交的代码进行的,因为不同的代码对应的监控部署通常是不同的,因此进行监控部署首先需要获取提交的代码。另外监控配置信息中存储有监控部署的相关信息,因此也需要获取监控配置信息。
需要说明的是,监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息,监控配置信息中至少包含哪些程序(或代码)需要进行监控、监控的类型、监控的位置等与监控部署相关的配置信息。另外,监控配置信息中所有的信息都是可以更改、查看、删除等操作的。
确定单元32,用于根据监控配置信息确定提交的代码是否需要进行监控部署;
由获取单元31可知监控配置信息中包含哪些程序(或代码)需要进行监控的信息,因此从监控配置信息中可以查找并确定获取到的提交的代码是否需要进行监控部署。
部署单元33,用于若需要进行监控部署,则根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署。
如果确定提交的代码需要进行监控部署,则根据监控配置信息中的与提交的代码对应的监控类型以及其他信息为代码进行自动化的监控部署。其中,监控类型包括外部监控和内部监控,外部监控主要是指URL监控,内部监控主要是指在代码中嵌入监控代码进行监控。具体的自动化的监控部署的实现方式为:对于提交的代码,根据其对应的监控类型进行不同的部署。对于外部监控,则会自动识别对应的监控URL,将监控URL配置到监控系统中,供监控系统通过该监控URL对提交的代码进行监控;对于内部监控则会根据配置信息中的监控位置自动为其添加监控代码,以使监控系统通过监控代码对提交的代码进行监控。可以看到整个过程中,不需要人工的部署和操作。
如图5所示,所述确定单元32包括:
比对模块321,用于将所述代码的标识信息与监控配置信息中的代码的标识信息进行比对;
由于监控配置信息中包含哪些程序(或代码)需要进行监控,且具体的监控配置信息中,不同的代码通常通过不同的代码的标识信息进行区别,即不同的代码的标识信息对应不同的代码,因此监控配置信息中包含所有需要进行监控的代码的代码的标识信息。因此,如果要判断提交的代码是否需要进行监控,则可以通过代码的标识信息确定,即根据监控配置信息中是否存在提交的代码的标识信息来确定提交的代码是否需要进行监控。所以,确定提交的代码是否需要进行监控,首先需要将提交的代码的标识信息与监控配置信息中的代码的标识信息进行比对。其中代码的标识信息,可以是代码所在的文件的名称等能够唯一标识代码的其他自定义标识符。
确定模块322,用于若监控配置信息中的代码的标识信息中存在所述代码的标识信息,则确定所述代码需要进行监控部署;
所述确定模块322,还用于若监控配置信息中的代码的标识信息中不存在所述代码的标识信息,则所述代码不需要进行监控部署。
如图5所示,所述部署单元33,包括:
外部监控部署模块331,用于根据监控类型判断所述代码是否需要进行外部监控;若需要进行外部监控,则构造所述代码的监控统一资源定位符URL;将所述监控URL添加到监控列表中;
根据提交代码的标识信息从监控配置信息中查找到与标识信息对应的代码的监控部署的相关信息,其中监控部署的相关信息中包括监控类型,监控类型包括外部监控和内部监控,因此根据该监控类型确定是否需要进行外部监控。
内部监控部署模块332,用于根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
根据提交代码的标识信息从监控配置信息中查找到与标识信息对应的代码的监控部署的相关信息,其中监控部署的相关信息中包括监控类型,监控类型包括外部监控和内部监控,因此根据该监控类型确定是否需要进行内部监控。
如图5所示,所述装置还包括:
判断单元34,用于在根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署之前,判断所述代码是否为web应用的代码;
若不是web应用的代码,所述部署单元33,用于:
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
所述外部监控部署模块331,还用于:
获取所述代码使用的应用框架中的请求映射文件;
应用框架的请求映射文件中包含了通过该应用框架进行编写的代码中所提供给外部进行访问的所有相对URL。不同的应用框架对应的请求映射文件是不同的。
从所述请求映射文件中提取所述代码对应的相对URL;
对获取到的请求映射文件进行分析,从所有涉及相对URL的代码中获所有相对URL。
获取所述代码部署的服务器的域名和/或网间协议IP地址;
根据所述域名和/或IP地址以及相对URL构造所述监控URL。
若获取到的是服务器的域名,则将域名添加到相对URL中,构成监控URL;若获取到的是服务器的IP地址,则将服务器的IP地址添加到相对URL中,构成监控URL;若即获取到服务器的域名又获取到服务器的IP地址,则分别将服务器的域名以及IP地址添加到相对URL中,构成监控URL。
本发明实施例提供的监控部署的装置,在进行程序的监控部署时,程序的监控部署的相关信息可以通过监控配置信息获取,然后根据该监控配置信息中对应的程序代码的监控类型自动为其进行监控部署,实现监控部署的自动化。相比于现有技术,不需要人工进行监控的部署,有效解决了人工部署过程中存在的耗时耗力并且容易出错的问题,因此在一定程度上能够提高监控部署的效率。
所述监控部署的装置包括处理器和存储器,上述获取单元31、确定单元32以及部署单元33等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高用户需求分析结果的准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述监控部署的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述监控部署的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取提交的代码以及监控配置信息,所述监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;根据监控配置信息确定提交的代码是否需要进行监控部署;若需要进行监控部署,则根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署。
可选的,所述根据监控配置信息确定所述代码是否需要进行监控部署,包括:
将所述代码的标识信息与监控配置信息中的代码的标识信息进行比对;
若监控配置信息中的代码的标识信息中存在所述代码的标识信息,则确定所述代码需要进行监控部署;
若监控配置信息中的代码的标识信息中不存在所述代码的标识信息,则所述代码不需要进行监控部署。
可选的,所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行外部监控;若需要进行外部监控,则构造所述代码的监控统一资源定位符URL;将所述监控URL添加到监控列表中;
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,在根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署之前,所述方法还包括:
判断所述代码是否为web应用的代码;
若不是web应用的代码,所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,所述构造所述代码的监控URL,包括:
获取所述代码使用的应用框架中的请求映射文件;
从所述请求映射文件中提取所述代码对应的相对URL;
获取所述代码部署的服务器的域名和/或网间协议IP地址;
根据所述域名和/或IP地址以及相对URL构造所述监控URL。
本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取提交的代码以及监控配置信息,所述监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;根据监控配置信息确定提交的代码是否需要进行监控部署;若需要进行监控部署,则根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署。
可选的,所述根据监控配置信息确定所述代码是否需要进行监控部署,包括:
将所述代码的标识信息与监控配置信息中的代码的标识信息进行比对;
若监控配置信息中的代码的标识信息中存在所述代码的标识信息,则确定所述代码需要进行监控部署;
若监控配置信息中的代码的标识信息中不存在所述代码的标识信息,则所述代码不需要进行监控部署。
可选的,所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行外部监控;若需要进行外部监控,则构造所述代码的监控统一资源定位符URL;将所述监控URL添加到监控列表中;
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,在根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署之前,所述方法还包括:
判断所述代码是否为web应用的代码;
若不是web应用的代码,所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
可选的,所述构造所述代码的监控URL,包括:
获取所述代码使用的应用框架中的请求映射文件;
从所述请求映射文件中提取所述代码对应的相对URL;
获取所述代码部署的服务器的域名和/或网间协议IP地址;
根据所述域名和/或IP地址以及相对URL构造所述监控URL。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种监控部署的方法,其特征在于,所述方法包括:
获取提交的代码以及监控配置信息,所述监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;
根据监控配置信息确定提交的代码是否需要进行监控部署;
若需要进行监控部署,则根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署;
所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行外部监控;若需要进行外部监控,则构造所述代码的监控统一资源定位符URL;将所述监控URL添加到监控列表中;
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
2.根据权利要求1所述的方法,其特征在于,所述根据监控配置信息确定所述代码是否需要进行监控部署,包括:
将所述代码的标识信息与监控配置信息中的代码的标识信息进行比对;
若监控配置信息中的代码的标识信息中存在所述代码的标识信息,则确定所述代码需要进行监控部署;
若监控配置信息中的代码的标识信息中不存在所述代码的标识信息,则所述代码不需要进行监控部署。
3.根据权利要求1所述的方法,其特征在于,在根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署之前,所述方法还包括:
判断所述代码是否为web应用的代码;
若不是web应用的代码,所述根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署,包括:
根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
4.根据权利要求1所述的方法,其特征在于,所述构造所述代码的监控URL,包括:
获取所述代码使用的应用框架中的请求映射文件;
从所述请求映射文件中提取所述代码对应的相对URL;
获取所述代码部署的服务器的域名和/或网间协议IP地址;
根据所述域名和/或IP地址以及相对URL构造所述监控URL。
5.一种监控部署的装置,其特征在于,所述装置包括:
获取单元,用于获取提交的代码以及监控配置信息,所述监控配置信息是预先配置的,包含所有提交的代码的监控部署的相关信息;
确定单元,用于根据监控配置信息确定提交的代码是否需要进行监控部署;
部署单元,用于若需要进行监控部署,则根据监控配置信息中所述代码的监控类型自动为所述代码进行监控部署;
所述部署单元,包括:
外部监控部署模块,用于根据监控类型判断所述代码是否需要进行外部监控;若需要进行外部监控,则构造所述代码的监控统一资源定位符URL;将所述监控URL添加到监控列表中;
内部监控部署模块,用于根据监控类型判断所述代码是否需要进行内部监控;若需要进行内部监控,则从所述监控配置信息中获取与所述代码的标识信息对应的内部监控的位置;根据所述内部监控的位置将与所述代码对应的监控代码嵌入到所述代码中。
6.根据权利要求5所述的装置,其特征在于,所述确定单元包括:
比对模块,用于将所述代码的标识信息与监控配置信息中的代码的标识信息进行比对;
确定模块,用于若监控配置信息中的代码的标识信息中存在所述代码的标识信息,则确定所述代码需要进行监控部署;
所述确定模块,还用于若监控配置信息中的代码的标识信息中不存在所述代码的标识信息,则所述代码不需要进行监控部署。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求4中任意一项所述的监控部署的方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求4中任意一项所述的监控部署的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710884940.5A CN109561121B (zh) | 2017-09-26 | 2017-09-26 | 监控部署的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710884940.5A CN109561121B (zh) | 2017-09-26 | 2017-09-26 | 监控部署的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109561121A CN109561121A (zh) | 2019-04-02 |
CN109561121B true CN109561121B (zh) | 2021-10-15 |
Family
ID=65863206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710884940.5A Active CN109561121B (zh) | 2017-09-26 | 2017-09-26 | 监控部署的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109561121B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110601926A (zh) * | 2019-10-21 | 2019-12-20 | 北京宝兰德软件股份有限公司 | Web服务端系统吞吐量的统计方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458754A (zh) * | 2009-01-09 | 2009-06-17 | 清华大学 | 一种监控应用程序行为的方法及装置 |
CN102521136A (zh) * | 2011-12-31 | 2012-06-27 | 山东中创软件商用中间件股份有限公司 | 一种应用程序监控装置及方法 |
CN102831043A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 应用程序监控方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809525B2 (en) * | 2007-07-31 | 2010-10-05 | International Business Machines Corporation | Automatic configuration of robotic transaction playback through analysis of previously collected traffic patterns |
CN100551049C (zh) * | 2007-11-01 | 2009-10-14 | 中兴通讯股份有限公司 | 一种视频监控系统监控前端的升级方法 |
US9542222B2 (en) * | 2008-11-14 | 2017-01-10 | Oracle International Corporation | Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement |
US8584087B2 (en) * | 2009-12-11 | 2013-11-12 | Sap Ag | Application configuration deployment monitor |
CN102163052B (zh) * | 2010-12-24 | 2012-12-26 | 江苏省烟草公司常州市公司 | 工作过程的实时监控系统和方法 |
US9319286B2 (en) * | 2012-03-30 | 2016-04-19 | Cognizant Business Services Limited | Apparatus and methods for managing applications in multi-cloud environments |
CN106027328B (zh) * | 2016-05-13 | 2020-02-07 | 深圳市中润四方信息技术有限公司 | 一种基于应用容器部署的集群监控的方法及系统 |
-
2017
- 2017-09-26 CN CN201710884940.5A patent/CN109561121B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101458754A (zh) * | 2009-01-09 | 2009-06-17 | 清华大学 | 一种监控应用程序行为的方法及装置 |
CN102831043A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 应用程序监控方法和装置 |
CN102521136A (zh) * | 2011-12-31 | 2012-06-27 | 山东中创软件商用中间件股份有限公司 | 一种应用程序监控装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109561121A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN108268609B (zh) | 一种文件路径的建立、访问方法和装置 | |
CN110020339B (zh) | 基于无埋点的网页数据采集方法及装置 | |
CN111241073B (zh) | 一种数据质量检查方法及装置 | |
CN110515795B (zh) | 一种大数据组件的监控方法、装置、电子设备 | |
CN104423961A (zh) | 一种生成测试脚本的方法及系统 | |
CN113672441B (zh) | 对智能设备的测试方法及装置 | |
CN109542754B (zh) | 移动设备的接入方法、应用程序的调试方法、装置和系统 | |
CN109598526B (zh) | 媒体贡献的分析方法及装置 | |
CN111124480A (zh) | 应用程序包的生成方法、装置、电子设备及存储介质 | |
CN106648839B (zh) | 数据处理的方法和装置 | |
CN108874379B (zh) | 页面的处理方法及装置 | |
CN109600272B (zh) | 爬虫检测的方法及装置 | |
CN109561121B (zh) | 监控部署的方法及装置 | |
CN105354490B (zh) | 一种处理被劫持浏览器的方法及设备 | |
CN104252413A (zh) | 一种自动化脚本生成方法、装置及系统 | |
CN106648913B (zh) | 数据采集软件标识方法及装置 | |
CN109561126B (zh) | 一种数据同步方法和装置、存储介质、处理器 | |
CN109429100B (zh) | 一种页面路径的存储方法、装置及系统 | |
CN111124545A (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
CN110908876B (zh) | 一种硬件性能数据的获取方法及装置 | |
CN115525545A (zh) | 一种基于Docker的自动化测试方法、系统、设备及介质 | |
CN110968500A (zh) | 一种测试用例的执行方法及装置 | |
CN111125087A (zh) | 数据的存储方法及装置 | |
CN104239199A (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 | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |