CN108880908A - 一种监控方法及其服务器 - Google Patents
一种监控方法及其服务器 Download PDFInfo
- Publication number
- CN108880908A CN108880908A CN201810747415.3A CN201810747415A CN108880908A CN 108880908 A CN108880908 A CN 108880908A CN 201810747415 A CN201810747415 A CN 201810747415A CN 108880908 A CN108880908 A CN 108880908A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- monitored object
- server
- configurator
- monitored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请的目的是提供一种监控方法及其服务器,监控方法包括:配置与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个监控对象;配置监控接入配置程序,所述监控接入配置程序用于输入所述监控对象的名称并且用于配置所述监控对象集合的监控点和监控组;将所述切面程序插入所述监控接入配置程序。本申请提供的一种监控方法及其服务器,通过面向切面编程方法配置与多个监控对象相对应的切面程序,并将切面程序插入监控接入配置程序,通过切面程序避免对已有代码进行侵入式修改,提高了监控组件接入的工作效率。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种监控方法及其服务器。
背景技术
中央应用跟踪(Central Application Tracking,CAT)监控系统的原型和理念来源于eBay的集中应用日志(Centralized Application Logging,CAL)系统。CAT监控系统不仅增强了CAL系统的核心模型,还添加了更丰富的报表。自2014年开源以来,CAT监控系统在携程、陆金所、猎聘网、找钢网等多家互联网公司生产环境应用。CAT监控系统是一个实时和接近全量的监控系统,它侧重于对Java应用的监控。CAT监控系统目前在中间件(例如模型视图控制器(Model View Controller,MVC)、远程过程调用(Remote Procedure Call,RPC)、数据库、缓存等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、监控告警等。然而现有的CAT监控系统需要在程序调用入口和出口处添加CAT调用代码,对已有代码进行侵入式修改,导致接入CAT监控组件时,费时费力。
发明内容
本申请的一个目的是提供一种监控方法及其服务器,以解决现有的监控系统接入时采用侵入式代码带来的问题。
根据本申请的第一方面,提供一种监控方法,包括:配置与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个监控对象;配置监控接入配置程序,所述监控接入配置程序用于输入所述监控对象的名称并且用于配置所述监控对象集合的监控点和监控组;将所述切面程序插入所述监控接入配置程序。
在一个示例中,本申请所述的监控方法,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
在一个示例中,本申请所述的监控方法,所述监控对象包括:类和/或方法。
在一个示例中,本申请所述的监控方法,所述切面程序包括至少两个所述监控对象共同的监控配置代码。
在一个示例中,本申请所述的监控方法,还包括:向第一服务器发布所述监控接入配置程序。
根据本申请第二方面,提供一种监控方法,包括:响应于通过监控接入配置程序输入的监控对象的名称,在所述监控接入配置程序插入与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个所述监控对象;通过所述监控接入配置程序配置所述监控对象集合的监控组以及与所述监控组相对应的监控点。
在一个示例中,本申请所述的监控方法,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
在一个示例中,本申请所述的监控方法,所述监控对象包括:类和/或方法。
在一个示例中,本申请所述的监控方法,所述切面程序包括至少两个所述监控对象共同的监控配置代码。
在一个示例中,本申请所述的监控方法,所述监控组包括时间监控;所述监控方法还包括:通过所述监控接入配置程序向第二服务器发送第一监控请求,所述第一监控请求用于监控所述监控对象在所述监控点的时间数据;接收所述第二服务器发送的所述监控对象在所述监控点的所述时间数据。
在一个示例中,本申请所述的监控方法,所述监控组包括异常监控;所述监控方法还包括:通过所述监控接入配置程序向第二服务器发送第二监控请求,所述第二监控请求用于监控所述监控对象在所述监控点的异常数据;接收所述第二服务器发送的所述监控对象在所述监控点的所述异常数据。
在一个示例中,本申请所述的监控方法,所述监控组包括事件监控;所述监控方法还包括:通过所述监控接入配置程序向第二服务器发送第三监控请求,所述第三监控请求用于监控所述监控对象在所述监控点的预设事件的发生数据;接收所述第二服务器发送的所述监控对象在所述监控点的预设事件的发生数据。
根据本申请第三方面,提供一种监控方法,包括:接收第一服务器通过监控接入配置程序发送的监控请求;所述监控接入配置程序设有与监控对象集合相对应的切面程序;其中,所述监控对象集合包括至少两个所述监控对象;向所述第一服务器返回监控数据。
在一个示例中,本申请所述的监控方法,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
在一个示例中,本申请所述的监控方法,所述监控对象包括:类和/或方法。
在一个示例中,本申请所述的监控方法,所述切面程序包括至少两个所述监控对象共同的监控配置代码。
根据本申请第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令根据本申请所述的监控方法进行执行。
根据本申请第五方面,提供一种服务器,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如本申请所述监控方法的操作。
本申请提供的一种监控方法及其服务器,通过面向切面编程方法配置与多个监控对象相对应的切面程序,并将切面程序插入监控接入配置程序,通过切面程序避免对已有代码进行侵入式修改,提高了监控组件接入的工作效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请第一方面实施例的监控方法的流程示意图;
图2为本申请第二方面实施例的监控方法的流程示意图;
图3为本申请第三方面实施例的监控方法的流程示意图;
图4为本申请实施例的监控系统的结构示意图;
图5为本申请实施例的第三服务器的结构示意图;
图6为本申请实施例的第一服务器的结构示意图;
图7为本申请实施例的第二服务器的结构示意图;
图8为本申请实施例的监控系统的工作原理示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(Central Processing Unit,CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read-Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase Change RAM,PRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
现有的CAT监控系统需要在程序调用入口和出口处添加CAT调用代码,对已有代码进行侵入式修改,造成了如下问题:接入CAT监控组件费时费力;多次编写的侵入代码有可能因为对CAT事物状态控制不当而产生BUG;当要去除或者替换CAT监控组件时,需要删除侵入式代码而导致开发量大增。例如,当需要对多个类进行监控时,需要对每个类都添加CAT调用代码,造成大量重复劳动。
有鉴于此,本申请将提供一种监控方法,该监控方法的主要思想在于:将若干具有共性的CAT调用代码构建为切面程序,当需要对监控对象进行监控时,调用切面程序替换原有CAT调用代码,可避免重复劳动,而且通过切面程序还可满足CAT程序调用入口和出口集中管理的需求。
图1为本申请第一方面实施例的监控方法的流程示意图,如图1所示,在本申请第一方面实施例的监控方法,包括:
步骤S101,配置与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个监控对象。
在一个示例中,本申请主要采用面向切面编程(Aspect Oriented Programming,AOP)技术配置切面程序。本申请中,切面程序与监控对象集合相对应,监控对象集合为包括多个监控对象的集合,切面程序具体与监控对象集合中的多个监控对象相对应。其中,监控对象主要包括:类和/或方法。类(Class)是面向对象编程(Object-Oriented Programming,OOP)实现信息封装的基础。类是一种用户定义类型。每个类包含数据说明和一组操作数据或传递消息的函数。方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。方法也可被理解为函数。可以将类或方法分为若干组,每组构成一个监控对象集合,每个监控对象集合设有一个与其对应的切面程序。每个监控对象集合包含若干具有相同CAT调用代码的类或方法,将相同的调用代码配置为切面程序,则该切面程序与包含若干具有相同CAT调用代码的类或方法的监控对象集合相对应,同时也与该若干具有相同CAT调用代码的类或方法相对应,即与监控对象集合包括的监控对象相对应。
具体地,切面程序包括至少两个所述监控对象共同的监控配置代码。监控配置代码可以指接入CAT监控组件时,具有相同部分的CAT调用代码。对于属性相似的多个类或方法,其具有相同部分的CAT调用代码,通过CAT调用代码可接入CAT监控组件,以对配置的类或方法进行监控。可以将多个方法或类的共同的CAT调用代码通过AOP技术写入切面程序,当接入监控系统时,使用切面程序中的监控配置代码替换原有的CAT调用代码,以达到将切面程序切入至CAT监控系统原有调用入口和出口的程序,调用CAT监控组件的目的。
步骤S102,配置监控接入配置程序,所述监控接入配置程序用于输入所述监控对象的名称并且用于配置所述监控对象集合的监控点和监控组。
在一个示例中,监控对象的名称可以为类名称或方法名称(例如函数名称),除此之外,也可以是类、方法或其他监控对象的标识信息。可通过JavaBean配置CAT监控系统的监控接入配置程序,以替换CAT监控系统原有的调用入口和出口的程序。JavaBean是一种JAVA语言写成的可重用组件。JavaBean类是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成为属性。作为一个面向对象的编程接口,JavaBean可以看作一个黑匣子,即只需要知道其功能而不必管其内部结构的软件程序模块。对于原有的CAT监控组件的入口和出口程序,统一通过监控接入配置程序进行改造,监控接入配置程序作为一个类似于黑匣子的计算机程序模块,仅提供如下输入接口:监控对象的名称的输入接口以及监控点和监控组的配置接口。用户只需要通过监控接入配置程序提供的接口输入监控对象的名称并配置监控点和监控组,不再需要重复编写CAT调用代码以调用监控组件,监控接入配置程序相对用户是一个只提供功能和接口的黑匣子,其内部用于调用监控组件的调用代码统一通过切面程序替换,切面程序相对用户是透明的,从而避免采用侵入式代码,为用户带来操作便利。
步骤S103,将所述切面程序插入所述监控接入配置程序。
具体地,在配置作为黑匣子的监控接入配置程序后,需要在其内部插入多个切面程序。可以将类或方法分为若干组,每组构成一个监控对象集合,每个监控对象集合包含若干具有相同CAT调用代码的类或方法,将相同的调用代码通过AOP技术配置为切面程序。当需要对该监控对象集合中的类或方法进行监控时,插入该监控对象集合对应的切面程序,对原有调用代码的操作进行拦截,从而实现了将切面程序插入监控接入配置程序。
在本申请一些实施例中,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
其中,监控接入配置程序的监控对象名称输入接口可配置为配置表达式,以实现根据监控对象名称对监控对象进行逻辑运算,以满足更加灵活的配制需求。例如,监控对象包括:函数A、函数B,用户需要对与函数A和函数B属于同类的一组函数进行监控。这里,函数即监控对象中的方法。可以设置配置表达式为“A+B+*”,其中“*”表示其他同类函数。当用户通过监控接入配置程序输入配置表达式“A+B+*”后,监控接入配置程序查询同时包含函数A和B的监控对象集合,对该监控对象集合中的全部函数进行监控,监控时需插入与该监控对象集合相对应的切面程序,以实现该监控对象集合中的全部函数均通过该切面程序调用相应的监控组件,切面程序对于用户为透明不可见的,从而实现对与函数A和函数B属于同类的一组函数进行监控。如果根据原有的CAT监控系统,需要对包括函数A和函数B等全部需要监控的函数中的每一个函数编写调用代码,工作量十分巨大。而通过本申请实施例的监控方法,用户仅需要输入配置表达式,就可根据配置表达式对一组函数进行监控,大幅提升了监控工作的效率。
图1所示的监控方法主要可以应用于监控接入配置程序的管理者使用的第三服务器。管理者通过第三服务器配置监控接入配置程序,并在监控接入配置程序中插入切面程序。管理者在第三服务器内对监控接入配置程序和切面程序进行统一的开发、管理和维护。例如,需要对监控接入配置程序或切面程序升级或更新时,统一在第三服务器进行,便于管理和维护CAT监控系统的接口程序。
在本申请一些实施例中,本申请所述的监控方法,还可以包括:向第一服务器发布所述监控接入配置程序。
其中,管理者在第三服务器开发或更新切面程序,将其插入监控接入配置程序以构成新的监控接入配置程序后,或者,管理者在第三服务器开发或更新监控接入配置程序本身后,通过第三服务器向若干第一服务器发布新的监控接入配置程序,以对第一服务器的监控系统应用端进行更新或维护。第一服务器主要部署CAT监控系统的应用端,第一服务器通常被称为CAT监控系统的应用服务端,应用服务端与CAT监控系统相对应,监控者通过应用服务端与CAT监控系统交互信息,以实现监控目的。
图2为本申请第二方面实施例的监控方法的流程示意图,其中,图2所示方法与图1所示方法相同或相似的内容可以参考图1中的详细描述,后续不再赘述。如图2所示,在本申请第二方面实施例的监控方法,包括:
步骤S201,响应于通过监控接入配置程序输入的监控对象的名称,在所述监控接入配置程序插入与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个所述监控对象。
在一个示例中,监控对象可以包括:类和/或方法。在一个示例中,所述切面程序包括至少两个所述监控对象共同的监控配置代码。监控接入配置程序可以设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
步骤S202,通过所述监控接入配置程序配置所述监控对象集合的监控组以及与所述监控组相对应的监控点。
图2所示的监控方法主要可以应用于监控者使用的第一服务器。第一服务器接收到第三服务器发布的监控接入配置程序,以配置CAT监控系统应用端接口。CAT监控系统部署于第二服务器。第一服务器通过监控接入配置程序调用监控组件与部署于第二服务器的CAT监控系统交互,实现监控功能。
在一个示例中,监控者在第一服务器通过监控接入配置程序输入配置表达式,并通过监控接入配置程序配置监控点和监控组。监控接入配置程序查询到与配置表达式相对应的监控对象集合并且插入与该监控对象集合相对应的切面程序,以调用监控组件对该监控对象集合中的类或方法进行监控。进行监控时,按照监控者通过监控接入配置程序配置的监控点和监控组进行监控。
本申请实施例的监控组和监控点将在下文详细介绍。
监控组指若干监控项目的集合,包括:时间监控、异常监控、事件监控等。监控点包括通过监控接入配置程序对于不同监控组设置的埋点,例如对时间、异常、事件等监控项目设置的埋点。例如,对于函数进行时间监控时,设置埋点对该函数运行各个阶段的节点的时间进行监控,该埋点即为监控点。数据埋点是一种私有化部署数据采集方式,通过监控接入配置程序配置监控点对时间、异常、事件等监控项目进行监控。监控组和监控点可与监控对象集合相对应,对监控对象集合中的各个监控对象均按照监控点对监控组配置的监控项目进行监控。
在本申请一些实施例中,所述监控组可以包括时间监控。所述监控方法还可以包括:通过所述监控接入配置程序向第二服务器发送第一监控请求,所述第一监控请求用于监控所述监控对象在所述监控点的时间数据;接收所述第二服务器发送的所述监控对象在所述监控点的所述时间数据。
其中,时间监控为对监控对象的运行时间的监控。监控点可设于监控对象运行的全部过程中的各个阶段节点,包括:开始节点、结束节点、中间阶段节点等。中间阶段节点可以为一个或多个。在调用监控组件时,按照预设监控点控制监控组件对各监控点的时间进行监控。例如,监控者需要监控函数A、函数B的同类函数在各个软件内的运行时间。监控者在第一服务器通过监控接入配置程序输入配置表达式“A”、“B”、“*”并将监控组设置为时间监控,且配置包含函数A和B的监控对象集合的监控点作为时间监控的埋点。监控接入配置程序查询到包含函数A和B的监控对象集合,并插入该监控对象集合所对应的切面程序以调用监控组件,监控组件按照与该监控对象集合对应的监控点对该监控对象集合内的全部函数进行时间监控。例如,对于函数A监控其运行时间,则在函数A开始运行的节点设置第一埋点,并在函数A结束运行的节点设置第二埋点,监控第一埋点和第二埋点的时间,两者的差值就是函数A的运行时间。第一埋点和第二埋点即为监控点。监控点具体与监控对象集合相对应。通过切面程序调用监控组件后,监控组件向部署于第二服务器的监控系统按照时间监控配置要求发出第一监控请求,第一监控请求包括监控点的配置信息,例如函数开始节点(第一埋点)和函数结束节点(第二埋点),第一监控请求还包括监控对象集合。第二服务器接收到第一监控请求后,构建数据列表,数据列表的每行数据包括:函数名称以及其对应的第一埋点和第二埋点的时间。第二服务器将该数据列表返回至第一服务器的JavaBean,即监控系统的调用出口。与第一服务器连接的客户端可以通过查询JavaBean,获取到函数A在第一埋点和第二埋点的时间,也可获取到包括函数A和B的监控对象集合中的全部监控对象的开始时间和结束时间,进而得到该监控对象集合中各个函数的运行时间。
在本申请一些实施例中,所述监控组可以包括异常监控;所述监控方法还可以包括:通过所述监控接入配置程序向第二服务器发送第二监控请求,所述第二监控请求用于监控所述监控对象在所述监控点的异常数据;接收所述第二服务器发送的所述监控对象在所述监控点的所述异常数据。
具体地,与时间监控类似,可以设置监控组为异常监控项目,以对函数的异常情况进行监控。监控点同样也设为函数运行的各个阶段节点,例如开始节点、结束节点、中间节点。具体可根据实际需要,由监控者通过监控接入配置程序进行自由设置。例如,对于包括函数A和B的监控对象集合中的全部函数进行异常监控,监控者通过配置表达式输入函数A和B的名称,并且配置监控对象集合的监控点为开始节点和结束节点,并且配置监控组为异常监控项目。插入监控对象集合所对应的的切面程序以对监控组件进行调用。被调用的监控组件按照异常监控项目对监控对象集合中的全部函数在开始节点和结束节点进行监控。监控的异常事项可设为函数是否有不同于正常执行情况的异常事项发生。通过切面程序的控制,监控组件向部署于第二服务器的监控系统按照异常监控配置要求发出第二监控请求,第二监控请求包括监控点的配置信息,例如函数开始节点和函数结束节点,以及监控组被配置为异常监控的信息。第一监控请求还包括监控对象集合。第二服务器接收到第一监控请求后,构建数据列表,数据列表的每行数据包括:函数名称以及其对应的开始节点和结束节点的异常事项发生的数据。第二服务器将该数据列表返回至第一服务器的JavaBean,即监控系统的调用出口。与第一服务器连接的客户端或者使用第一服务器的监控者可以通过查询JavaBean,获取到函数A在开始节点和结束节点的异常事项发生数据,也可获取到包括函数A和B的监控对象集合中的全部监控对象的异常事项发生数据。
在本申请一些实施例中,所述监控组可以包括事件监控;所述监控方法还可以包括:通过所述监控接入配置程序向第二服务器发送第三监控请求,所述第三监控请求用于监控所述监控对象在所述监控点的预设事件的发生数据;接收所述第二服务器发送的所述监控对象在所述监控点的预设事件的发生数据。
具体地,与时间监控类似,可以设置监控组为事件监控项目。事件为监控者自定义的某类事件,具体根据监控者需求自由定义,例如函数A执行A1和A2动作的事件的发生情况。监控点同样也设为函数运行的各个阶段节点,例如开始节点、结束节点、若干中间节点等,具体可根据实际需要,由监控者通过监控接入配置程序进行自由设置。通过切面程序调用并控制监控组件,向部署于第二服务器的CAT监控系统按照事件监控配置要求发送第三监控请求,第三监控请求包括监控点的配置信息,例如函数的某自定义中间节点。第一监控请求还包括监控对象集合。第一监控请求还包括监控者自定义事件,即预设事件。第二服务器接收到第一监控请求后,构建数据列表,数据列表的每行数据包括:函数名称以及其在中间节点的自定义事件发生的数据。例如对于函数A,在中间节点发生A1动作或发生A2动作的数据,第二服务器将该数据列表返回至第一服务器的JavaBean,即监控系统的调用出口。与第一服务器连接的客户端可以通过查询JavaBean,获取到函数A在中间节点的自定义事件发生数据,也可获取到包括函数A和B的监控对象集合中的全部监控对象的自定义事件发生数据。
图3为本申请第三方面实施例的监控方法的流程示意图,其中,与图1或图2所示方法相同或相似的内容,可以参考图1或图2中的详细描述,此处不作赘述。如图3所示,在本申请第三方面实施例的监控方法,包括:
步骤S301,接收第一服务器通过监控接入配置程序发送的监控请求;所述监控接入配置程序设有与监控对象集合相对应的切面程序;其中,所述监控对象集合包括至少两个所述监控对象。
其中,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。在一个示例中,所述监控对象包括:类和/或方法。在一个示例中,所述切面程序包括至少两个所述监控对象共同的监控配置代码。
步骤S302,向所述第一服务器返回监控数据。
图3所示的监控方法主要可以应用于第二服务器。第二服务器部署CAT监控系统。第二服务器与作为应用服务端的第一服务器相对应,接收第一服务器通过监控接入配置程序发送的监控请求,并根据该请求向第一服务器返回监控数据。监控请求携带监控组和监控点的配置信息以及监控对象名称。监控组可以包括:时间监控、异常监控、事件监控等,具体可以参考图2所示的监控方法,此处不再赘述。
图4为本申请实施例的监控系统的示意图,如图4所示,本申请的监控系统包括:第一服务器401、第二服务器402和第三服务器403。
第三服务器403、第一服务器401和第二服务器402依次顺序连接。监控系统接口的管理者使用第三服务器403创建、更新监控接入配置程序和切面程序。监控者使用第一服务器401作为应用服务端。CAT监控系统被部署于第二服务器402。第三服务器403将创建或更新的监控接入配置程序发布给若干第一服务器401,第一服务器401通过监控接入配置程序接入第二服务器402的CAT监控系统,实现对监控对象进行监控。
上文分别从第三服务器、第一服务器和第二服务器的角度对本申请实施例提供的监控方法进行了描述,接下来,本申请将分别对第三服务器、第一服务器和第二服务器的结构进行介绍。本申请实施例提供的第三服务器可以实施上述图1所示的方法,本申请实施例提供的第一服务器可以实施上述图2所示的方法,本申请实施例提供的第二服务器可以实施上述图3所示的方法。其中,第三服务器、第一服务器或第二服务器可以通过软件、硬件或软硬结合的方式来实现。例如,第三服务器、第一服务器或第二服务器可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。下面结合图5至图7,对第三服务器、第一服务器和第二服务器的结构进行举例介绍。
图5为本申请实施例的第三服务器的结构示意图,如图5所示,第三服务器包括:第一切面模块501、第一接口模块502和控制模块503。
第一切面模块501,用于配置与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个监控对象。
第一接口模块502,用于配置监控接入配置程序,所述监控接入配置程序用于输入所述监控对象的名称并且用于配置所述监控对象集合的监控点和监控组。
控制模块503,用于将所述切面程序插入所述监控接入配置程序。
图6为本申请实施例的第一服务器的结构示意图,如图6所示,第一服务器包括:第二切面模块601和第二接口模块602。
第二切面模块601,用于响应于通过监控接入配置程序输入的监控对象的名称,在所述监控接入配置程序插入与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个所述监控对象。
第二接口模块602,用于通过所述监控接入配置程序配置所述监控对象集合的监控组以及与所述监控组相对应的监控点。
在本申请一些实施例中,所述监控组包括时间监控;第二接口模块602还用于:通过所述监控接入配置程序向第二服务器发送第一监控请求,所述第一监控请求用于监控所述监控对象在所述监控点的时间数据;接收所述第二服务器发送的所述监控对象在所述监控点的所述时间数据。
在本申请一些实施例中,所述监控组包括异常监控;第二接口模块602还用于:通过所述监控接入配置程序向第二服务器发送第二监控请求,所述第二监控请求用于监控所述监控对象在所述监控点的异常数据;接收所述第二服务器发送的所述监控对象在所述监控点的所述异常数据。
在本申请一些实施例中,所述监控组包括事件监控;第二接口模块602还用于:通过所述监控接入配置程序向第二服务器发送第三监控请求,所述第三监控请求用于监控所述监控对象在所述监控点的预设事件的发生数据;接收所述第二服务器发送的所述监控对象在所述监控点的预设事件的发生数据。
图7为本申请实施例的第二服务器的结构示意图,如图7所示,本申请实施例的第二服务器包括:接收模块701和发送模块702。
接收模块701,用于接收第一服务器通过监控接入配置程序发送的监控请求;所述监控接入配置程序设有与监控对象集合相对应的切面程序;其中,所述监控对象集合包括至少两个所述监控对象;
发送模块702,用于向所述第一服务器返回监控数据。
图8为本申请实施例的监控系统的工作原理示意图,如图8所示,监控系统接口的管理者在第三服务器403采用图1所示的监控方法,创建、更新监控接入配置程序和切面程序,之后将监控接入配置程序发送至若干第一服务器401。监控者在第一服务器401采用图2所示的监控方法,根据监控对象配置监控接入配置程序的监控组和监控点。CAT监控系统被部署于第二服务器402,在第二服务器402采用图3所示的监控方法,接收第一服务器401通过监控接入配置程序发送的监控请求并返回监控数据。
根据本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令根据本申请图1、图2或图4所示的监控方法进行执行。
本申请实施例提供一种服务器,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如本申请图1、图2或图3所示的监控方法的操作。
本发明所指终端包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的电子产品,例如智能手机、平板电脑等移动电子产品,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述服务器包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、嵌入式设备等。所述服务器包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述终端和服务器还可以是运行于所述终端、服务器、或终端与服务器过网络相集成所构成的设备上的程序。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种监控方法,其特征在于,包括:
配置与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个监控对象;
配置监控接入配置程序,所述监控接入配置程序用于输入所述监控对象的名称并且用于配置所述监控对象集合的监控点和监控组;
将所述切面程序插入所述监控接入配置程序。
2.根据权利要求1所述的监控方法,其特征在于,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
3.根据权利要求1或2所述的监控方法,其特征在于,所述监控对象包括:类和/或方法。
4.根据权利要求1至3中任一项所述的监控方法,其特征在于,所述切面程序包括至少两个所述监控对象共同的监控配置代码。
5.根据权利要求1至4中任一项所述的监控方法,其特征在于,还包括:
向第一服务器发布所述监控接入配置程序。
6.一种监控方法,其特征在于,包括:
响应于通过监控接入配置程序输入的监控对象的名称,在所述监控接入配置程序插入与监控对象集合相对应的切面程序,其中,所述监控对象集合包括至少两个所述监控对象;
通过所述监控接入配置程序配置所述监控对象集合的监控组以及与所述监控组相对应的监控点。
7.根据权利要求6所述的监控方法,其特征在于,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
8.根据权利要求6或7所述的监控方法,其特征在于,所述监控对象包括:类和/或方法。
9.根据权利要求6至8中任一项所述的监控方法,其特征在于,所述切面程序包括至少两个所述监控对象共同的监控配置代码。
10.根据权利要求6至9中任一项所述的监控方法,其特征在于,所述监控组包括时间监控;所述监控方法还包括:
通过所述监控接入配置程序向第二服务器发送第一监控请求,所述第一监控请求用于监控所述监控对象在所述监控点的时间数据;
接收所述第二服务器发送的所述监控对象在所述监控点的所述时间数据。
11.根据权利要求6至9中任一项所述的监控方法,其特征在于,所述监控组包括异常监控;所述监控方法还包括:
通过所述监控接入配置程序向第二服务器发送第二监控请求,所述第二监控请求用于监控所述监控对象在所述监控点的异常数据;
接收所述第二服务器发送的所述监控对象在所述监控点的所述异常数据。
12.根据权利要求6至9中任一项所述的监控方法,其特征在于,所述监控组包括事件监控;所述监控方法还包括:
通过所述监控接入配置程序向第二服务器发送第三监控请求,所述第三监控请求用于监控所述监控对象在所述监控点的预设事件的发生数据;
接收所述第二服务器发送的所述监控对象在所述监控点的预设事件的发生数据。
13.一种监控方法,其特征在于,包括:
接收第一服务器通过监控接入配置程序发送的监控请求;所述监控接入配置程序设有与监控对象集合相对应的切面程序;其中,所述监控对象集合包括至少两个所述监控对象;
向所述第一服务器返回监控数据。
14.根据权利要求13所述的监控方法,其特征在于,所述监控接入配置程序设有配置表达式,所述配置表达式用于输入包含所述监控对象的名称的逻辑运算公式。
15.根据权利要求13或14所述的监控方法,其特征在于,所述监控对象包括:类和/或方法。
16.根据权利要求13至15中任一项所述的监控方法,其特征在于,所述切面程序包括至少两个所述监控对象共同的监控配置代码。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储指令,所述指令根据权利要求1至16中任一项所述的监控方法进行执行。
18.一种服务器,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至16中任一项所述监控方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810747415.3A CN108880908A (zh) | 2018-07-09 | 2018-07-09 | 一种监控方法及其服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810747415.3A CN108880908A (zh) | 2018-07-09 | 2018-07-09 | 一种监控方法及其服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108880908A true CN108880908A (zh) | 2018-11-23 |
Family
ID=64300433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810747415.3A Pending CN108880908A (zh) | 2018-07-09 | 2018-07-09 | 一种监控方法及其服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108880908A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413269A (zh) * | 2019-06-18 | 2019-11-05 | 深圳壹账通智能科技有限公司 | 接口编码方法、服务器及计算机可读存储介质 |
CN111586092A (zh) * | 2020-03-25 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 全链路监控方法、系统及cat客户端 |
CN111651324A (zh) * | 2020-06-02 | 2020-09-11 | 上海泛微网络科技股份有限公司 | 一种日志收集方法、装置 |
CN113242388A (zh) * | 2021-06-15 | 2021-08-10 | 中国银行股份有限公司 | 一种摄像机控制方法、系统、服务器和控制设备 |
CN113722016A (zh) * | 2021-09-10 | 2021-11-30 | 拉卡拉支付股份有限公司 | 应用程序配置方法、装置、设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7810072B2 (en) * | 2006-01-06 | 2010-10-05 | International Business Machines Corporation | Exception thrower |
CN102495853A (zh) * | 2011-11-17 | 2012-06-13 | 成都康赛电子科大信息技术有限责任公司 | 一种面向切面的云存储引擎构造方法 |
CN103365873A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 业务数据的推送方法及装置 |
CN104391787A (zh) * | 2014-11-13 | 2015-03-04 | 华为软件技术有限公司 | 一种针对目标方法的监控、热切入方法及装置 |
CN106844153A (zh) * | 2017-01-20 | 2017-06-13 | 北京奇虎科技有限公司 | 应用程序运行监控方法、装置以及终端 |
-
2018
- 2018-07-09 CN CN201810747415.3A patent/CN108880908A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7810072B2 (en) * | 2006-01-06 | 2010-10-05 | International Business Machines Corporation | Exception thrower |
CN102495853A (zh) * | 2011-11-17 | 2012-06-13 | 成都康赛电子科大信息技术有限责任公司 | 一种面向切面的云存储引擎构造方法 |
CN103365873A (zh) * | 2012-03-28 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 业务数据的推送方法及装置 |
CN104391787A (zh) * | 2014-11-13 | 2015-03-04 | 华为软件技术有限公司 | 一种针对目标方法的监控、热切入方法及装置 |
CN106844153A (zh) * | 2017-01-20 | 2017-06-13 | 北京奇虎科技有限公司 | 应用程序运行监控方法、装置以及终端 |
Non-Patent Citations (1)
Title |
---|
卜炟: "《开发参考 JSTL网络标签与SSH类参考手册》", 30 November 2010 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413269A (zh) * | 2019-06-18 | 2019-11-05 | 深圳壹账通智能科技有限公司 | 接口编码方法、服务器及计算机可读存储介质 |
CN111586092A (zh) * | 2020-03-25 | 2020-08-25 | 深圳壹账通智能科技有限公司 | 全链路监控方法、系统及cat客户端 |
CN111651324A (zh) * | 2020-06-02 | 2020-09-11 | 上海泛微网络科技股份有限公司 | 一种日志收集方法、装置 |
CN111651324B (zh) * | 2020-06-02 | 2023-09-01 | 上海泛微网络科技股份有限公司 | 一种日志收集方法、装置 |
CN113242388A (zh) * | 2021-06-15 | 2021-08-10 | 中国银行股份有限公司 | 一种摄像机控制方法、系统、服务器和控制设备 |
CN113242388B (zh) * | 2021-06-15 | 2022-11-18 | 中国银行股份有限公司 | 一种摄像机控制方法、系统、服务器和控制设备 |
CN113722016A (zh) * | 2021-09-10 | 2021-11-30 | 拉卡拉支付股份有限公司 | 应用程序配置方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108880908A (zh) | 一种监控方法及其服务器 | |
US9798882B2 (en) | Real-time model of states of monitored devices | |
US10270668B1 (en) | Identifying correlated events in a distributed system according to operational metrics | |
WO2020237797A1 (zh) | 一种微服务框架下动态配置管理方法及系统 | |
CN108965289B (zh) | 一种网络安全协同防护方法和系统 | |
US10979288B2 (en) | Distributed rules engine for processing events associated with internet of things devices | |
US11190552B2 (en) | Gateway configurations in industrial internet of things | |
US8625757B1 (en) | Monitoring services and service consumers | |
US9330161B2 (en) | Creating global aggregated namespaces for storage management | |
WO2019062304A1 (zh) | 用于管理区块链节点的计算资源的方法、设备和系统 | |
US20150286969A1 (en) | System and method for providing a scalable semantic mechanism for policy-driven assessment and effective action taking on dynamically changing data | |
WO2018215666A1 (en) | Application deployment in industrial internet of things | |
US20200089182A1 (en) | Distributed embedded data and knowledge management system integrated with plc historian | |
CN105474171A (zh) | 用于计算域中智能自动化的基于模型的方法 | |
US20210157671A1 (en) | Automated generation of an information technology asset ontology | |
US9892275B2 (en) | Data encryption in a multi-tenant cloud environment | |
KR102197329B1 (ko) | 스크래핑 기반 서비스 제공 방법 및 이를 수행하는 어플리케이션 | |
CN112860343A (zh) | 配置变更方法、系统、装置、电子设备以及存储介质 | |
US12009997B2 (en) | Cell-based architecture for an extensibility platform | |
US20230325294A1 (en) | Models for detecting and managing excessive log patterns | |
US9600358B1 (en) | Scalable monitoring and error handling in multi-latency systems | |
Ionescu et al. | An architecture and methods for big data analysis | |
Binev | Centralised Monitoring and Alerting Solution for Complex Information Management Infrastructure | |
US11882124B1 (en) | Account integration with an event-driven application programing interface call manager | |
CN112506641B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |