CN112653567A - 监控方法、装置、计算机设备及存储介质 - Google Patents

监控方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112653567A
CN112653567A CN201910969957.XA CN201910969957A CN112653567A CN 112653567 A CN112653567 A CN 112653567A CN 201910969957 A CN201910969957 A CN 201910969957A CN 112653567 A CN112653567 A CN 112653567A
Authority
CN
China
Prior art keywords
monitoring
domain name
application
log data
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910969957.XA
Other languages
English (en)
Other versions
CN112653567B (zh
Inventor
王伯龙
钟源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910969957.XA priority Critical patent/CN112653567B/zh
Publication of CN112653567A publication Critical patent/CN112653567A/zh
Application granted granted Critical
Publication of CN112653567B publication Critical patent/CN112653567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Abstract

本发明公开了一种监控方法、装置、计算机设备及可读存储介质,属于计算机技术领域。本发明的监控方法包括:接收应用程序通过URL请求上报的监控日志数据;对所述URL请求中的域名进行截断处理,以得到预设等级的域名;将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。本发明可以提高统计得到的告警信息精确度。

Description

监控方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种监控方法、装置、计算机设备及存储介质。
背景技术
应用监控系统(Central Application Tracking,CAT)的原型和理念来源于eBay的集中应用日志(Centralized Application Logging,CAL)系统。CAT监控系统不仅增强了CAL系统的核心模型,还添加了更丰富的报表。自2014年开源以来,CAT监控系统在多家互联网公司的生产环境得以应用。CAT监控系统是一个实时和接近全量的监控系统,它侧重于对Java应用的监控。CAT监控系统目前在中间件(例如模型视图控制器(Model ViewController,MVC)、远程过程调用(Remote Procedure Call,RPC)、数据库、缓存等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、监控告警等。然而现有的CAT监控系统在对数据进行统计时,是按照整个URL匹配的方式进行统计,当出现不同埋点数据时会导致统计结果分裂,不利于数据统计分析及监控告警配置。
发明内容
针对现有技术在对数据进行统计时,会导致统计结果分裂,进而造成得到的告警信息不精确的问题,现提供一种监控方法、装置、计算机设备及计算机可读存储介质,以提高统计得到的告警信息精确度。
本发明提供了一种监控方法,包括下述步骤:
接收应用程序通过URL请求上报的监控日志数据;
对所述URL请求中的域名进行截断处理,以得到预设等级的域名;
将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。
可选地,所述预设等级的域名为三级域名。
可选地,所述接收应用程序通过URL请求上报的监控日志数据的步骤之前,还包括:
从配置中心获取所述应用程序对应的客户端配置信息;
根据所述配置信息对所述应用程序进行配置操作,以将所述应用程序接入到所述应用监控系统。
可选地,所述监控方法还包括:
调用所述应用监控系统的初始化代码对所述应用程序对应的客户端进行初始化。
可选地,所述监控方法还包括:
预先在所述应用监控系统中插入Mybatis插件。
可选地,所述监控方法还包括:
通过所述Mybatis插件拦截所述监控日志数据中包含的SQL语句操作;
获取基于所述SQL语句操作的执行信息,并将所述执行信息以及所述SQL语句操作上传至所述应用监控系统的服务端。
可选地,所述SQL语句操作包括增删操作、事务操作、回滚操作中的至少一种。
本发明还提供了一种监控装置,包括:
接收模块,用于接收应用程序通过URL请求上报的监控日志数据;
处理模块,用于对所述URL请求中的域名进行截断处理,以得到预设等级的域名;
上传模块,用于将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。
本发明还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述技术方案的有益效果:
本技术方案中,接收应用程序通过URL请求上报的监控日志数据;对所述URL请求中的域名进行截断处理,以得到预设等级的域名;将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。本案通过在接收到URL请求时,对URL进行截断处理,从而使得聚合后的告警信息更加收敛,进而可以提高统计得到的告警信息精确度。
附图说明
图1为本发明所述监控的系统框架图的一种实施例的框架图;
图2为本发明所述的监控方法的一种实施例的流程图;
图3为本发明所述的监控方法的另一种实施例的流程图;
图4为本发明所述的监控方法的另一种实施例的流程图;
图5为本发明所述的监控装置的一种实施例的模块图;
图6为本发明实施例提供的执行监控方法的计算机设备的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
请参考图1,图1是本申请实施例提供的应用监控系统的系统架构图。该监控方法应用于该应用监控系统。如图1所示,该应用监控系统(CAT)包括应用监控系统,后台系统应用、APP应用。其中,应用监控系统包括后台应用监控模块、前端APP监控模块以及实时告警模块。后台应用监控模块主要用于处理和展示来自后台服务器的数据,前端APP监控主要用于处理和展示来自前端APP应用的数据,实时告警模块主要用于对这两个模块中的监控数据进行告警判断处理。后台应用监控模块以及前端APP监控模块会将处理后的监控数据发送至实时告警模块,实时告警模块会分析接收到的监控数据,对于异常信息或者符合告警条件的数据,能够及时捕捉,并给相关人员发送告警通知。
本发明为解决现有在进行对照实验时,需要耗费较多的的硬件资源的问题,提出了一种监控方法。参阅图2,其为本发明一实施例的监控方法的流程示意图,从图中可以看出,本实施例中所提供的监控方法包括以下步骤:
步骤S20、接收应用程序通过URL请求上报的监控日志数据。
具体地,应用程序在接入应用监控系统后,会主动向该应用监控系统上报监控日志数据。
所述应用程序可以为APP应用程序,也可以为后台系统的应用程序。示例性的,该应用程序以美团系的应用程序为例,则该应用程序可以为美团外卖系统、美团团购系统,或者可以为用户安装的美团外卖APP、美团团购APP等。
所述URL请求为通过URL(Uniform Resource Locator,统一资源定位符)发送的请求。
所述监控日志数据可以为后台系统的应用程序所上报的监控数据,也可以为前端APP应用程序所上报的监控数据。当该监控日志数据为后台系统的应用程序所上报的监控数据时,该监控日志数据可以包括心跳指标数据(CPU、内存相关数据),性能指标数据(代码的耗时等)和业务指标数据等。当该监控日志数据为前端APP应用程序所上报的监控数据时,该监控日志数据可以包括接口访问数据,APP报错数据等。
步骤S21、对所述URL请求中的域名进行截断处理,以得到预设等级的域名。
具体地,通过预先在应用监控系统提供的jar包中增设配置代码,以在接收到应用程序程序发送的URL请求时,对该URL请求中的域名进行截断处理。在本实施例中,该截断处理具体为选取该URL中的前面等级的域名,去掉该URL中的后面等级的域名,该后面等级的域名一般为时间/各类ID等不确定因素的域名。在本实施例中,该预设等级可以根据实际情况进行设定,比如,在一实施方式中,该预设等级设置为三级,即该预设等级的域名为三级域名。
当该预设等级的域名为三级域名时,在对URL请求中的域名进行截断处理过程中,可以首先分析该URL请求中的域名由多少个等级的域名组成,假设分析得到该URL请求中的域名由一级域名、二级域名、三级域名、四级域名以及五级域名组成,则在对该URL请求中的域名进行截断时,可以选取该一级域名、二级域名、三级域名组成的域名作为所述预设等级的域名,而将所述四级域名以及五级域名去除。
在本实施例中,由于URL中包含的三级域名是一个确定的域名,通过该三级域名即可以确定监控日志数据的来源。因此,通过只截断URL请求中的三级域名即可实现对监控日志数据来源的确定,而不用截断URL请求中的更多级的域名来确定监控日志数据的来源,进而可以减少数据的截取量,节省数据的存储资源。
步骤S22、将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。
具体地,现有技术在接收到URL请求时,直接将该URL请求中的域名以及该URL请求对应的监控日志数据上传至应用监控系统,应用监控系统在接收到多个URL请求以及各个URL请求对应的监控日志数据时,按照该URL请求中的域名进行聚类及统计。由于在不对URL请求中的域名进行处理时,各个URL请求对应的域名基本上不同,会造成聚类得到的监控日志数据不可控。
通过对URL请求中的域名进行处理以得到预设等级的域名,从而可以将多个不同的域名,但只要前面预设等级的域名相同,就可以聚合为同一个域名,进而可以减少上报至应用监控系统的域名数量,也可以将聚合后的同一域名对应的各个监控数据进行聚合统计,使得通过该聚合后的数据得到的告警信息更加收敛。
在本实施例中,通过接收应用程序通过URL请求上报的监控日志数据;对所述URL请求中的域名进行截断处理,以得到预设等级的域名;将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。本案通过在接收到URL请求时,对URL进行截断处理,从而使得聚合后的告警信息更加收敛,进而可以提高统计得到的告警信息精确度。
进一步地,参阅图3,其为本发明另一实施例的监控方法的流程示意图,从图中可以看出,本实施例中所提供的监控方法包括以下步骤:
步骤S30,从配置中心获取所述应用程序对应的客户端配置信息。
具体地,所述客户端为对所述应用程序进行编译后得到的jav包。现有的应用监控系统在对应用程序对应的客户端进行配置时,通过从默认路径"/data/appdatas/cat/client.xml"获取客户端配置信息,通过该方式获得的配置信息需要依赖于运维操作客户端配置文件,这种获取方式获取客户端配置信息效率不高且造成额外沟通成本。
步骤S31,根据所述配置信息对所述应用程序进行配置操作,以将所述应用程序接入到所述应用监控系统。
具体地,在获取到配置信息后,根据该配置信息对应用程序进行配置操作,从而可以将该应用程序接入到所述应用监控系统,以使得该应用程序成为该应用监控系统的客户端。
本实施例通过在应用监控系统中的配置中心存储客户端配置信息,在需要该配置信息时,直接从配置中心获取,从而可以不用依赖于运维操作客户端配置文件,进而可以提高配置文件的获取效率。此外,通过直接从配置中心获取客户端配置信息的方式,可以针对不同应用分发不同客户端配置文件。
在一实施方式中,在完成该应用程序的配置操作之后,需要对该应用程序对应的客户端进行初始化,即所述监控方法还包括:
调用所述应用监控系统的初始化代码对所述应用程序对应的客户端进行初始化。
具体地,通过对应用监控系统的初始化代码进行改造,使得在对该应用程序对应的客户端进行配置之后,再调用应用监控系统的初始化代码对所述应用程序对应的客户端进行初始化,并在初始化的过程中不再根据原默认路径下去获取客户端配置信息,而是直接从配置中心获取配置信息来实现对该客户端的初始化。
步骤S32,接收应用程序通过URL请求上报的监控日志数据。
步骤S33,对所述URL请求中的域名进行截断处理,以得到预设等级的域名。
步骤S34,将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。
本发明实施例中的步骤S32-S34与上述实施例中的步骤S20-S22大致相同,在本实施例中不再赘述。
在本实施例中,通过从配置中心获取应用监控系统的客户端配置文件,从而可以达到不污染Docker镜像,且针对不同应用程序分发不同客户端配置的效果。
参阅图4所示,其为本发明另一实施例的监控方法的流程示意图,从图中可以看出,本实施例中所提供的监控方法还包括以下步骤:
步骤S40,预先在所述应用监控系统中插入Mybatis插件。
具体地,Mybatis插件是一种通过Interceptor接口可以做到拦截四大对象相关方法的执行,以及根据需求可以完成相关数据的动态改变的插件。在一实施方式中,该Mybatis插件优选为原生的Executor插件。
本实施例中,通过预先在应用监控系统中插入Mybatis插件,从而可以通过该Mybatis插件获取到监控日志数据中所包含的各种SQL语句操作,以使得应用监控系统可以发现SQL级问题,并且可以根据该SQL级问题直接找到客户端出现问题的原因,从而缩短定位客户端问题的时间。具体地,将该Mybatis插件添加至该应用监控系统的客户端中,以使客户端在和应用监控系统的服务端进行通讯时,先将监控日志数据中所包含的各种SQL语句操作进行拦截。
步骤S41,通过所述Mybatis插件拦截所述监控日志数据中包含的SQL语句操作。
具体地,在将监控日志数据上传至应用监控系统之前,通过Mybatis插件对监控日志数据进行拦截,判断该监控日志数据中是否包含有SQL语句操作,若该监控日志数据中包含有SQL语句操作,则将该SQL语句操作下来,若该监控日志数据中不包含有SQL语句操作,则不对该监控日志数据进行放行。
在本实施例中,该SQL语句操作可以为增加操作,删除操作,事务操作、回滚操作等所对应的SQL操作语句。
步骤S42,获取基于所述SQL语句操作的执行信息,并将所述执行信息以及所述SQL语句操作上传至所述应用监控系统的服务端。
具体地,在拦截到SQL语句操作后,同时获取该监控日志数据中的基于该SQL语句操作的执行信息,该执行信息包括执行该SQL语句操作所花的时间,执行该SQL语句操作的响应等。
在拦截获取到该执行信息以及该该SQL语句操作之后,即可以将该拦截后的信息上传至所述应用监控系统的服务端,以使得服务端根据该得到的数据分析得到实时的SQL执行信息,以发现SQL级问题。
本发明实施例通过所述Mybatis插件拦截所述监控日志数据中包含的SQL语句操作;获取基于所述SQL语句操作的执行信息,并将所述执行信息以及所述SQL语句操作上传至所述应用监控系统的服务端,从而可以发现SQL级问题。
参阅图5所示,是本发明监控装置500一实施例的程序模块图。
本实施例中,所述监控装置500包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本发明各实施例的监控功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,监控装置500可以被划分为一个或多个模块。例如,在图5中,所述监控装置500可以被分割成接收模块501、处理模块502、上传模块503。其中:
接收模块501,用于接收应用程序通过URL请求上报的监控日志数据。
具体地,应用程序在接入应用监控系统后,会主动向该应用监控系统上报监控日志数据。
所述应用程序可以为APP应用程序,也可以为后台系统的应用程序。示例性的,该应用程序以美团系的应用程序为例,则该应用程序可以为美团外卖系统、美团团购系统,或者可以为用户安装的美团外卖APP、美团团购APP等。
所述URL请求为通过URL(Uniform Resource Locator,统一资源定位符)发送的请求。
所述监控日志数据可以为后台系统的应用程序所上报的监控数据,也可以为前端APP应用程序所上报的监控数据。当该监控日志数据为后台系统的应用程序所上报的监控数据时,该监控日志数据可以包括心跳指标数据(CPU、内存相关数据),性能指标数据(代码的耗时等)和业务指标数据等。当该监控日志数据为前端APP应用程序所上报的监控数据时,该监控日志数据可以包括接口访问数据,APP报错数据等。
处理模块502,用于对所述URL请求中的域名进行截断处理,以得到预设等级的域名。
具体地,通过预先在应用监控系统提供的jar包中增设配置代码,以在接收到应用程序程序发送的URL请求时,对该URL请求中的域名进行截断处理。在本实施例中,该截断处理具体为选取该URL中的前面等级的域名,去掉该URL中的后面等级的域名,该后面等级的域名一般为时间/各类ID等不确定因素的域名。在本实施例中,该预设等级可以根据实际情况进行设定,比如,在一实施方式中,该预设等级设置为三级,即该预设等级的域名为三级域名。
当该预设等级的域名为三级域名时,在对URL请求中的域名进行截断处理过程中,可以首先分析该URL请求中的域名由多少个等级的域名组成,假设分析得到该URL请求中的域名由一级域名、二级域名、三级域名、四级域名以及五级域名组成,则在对该URL请求中的域名进行截断时,可以选取该一级域名、二级域名、三级域名组成的域名作为所述预设等级的域名,而将所述四级域名以及五级域名去除。
在本实施例中,由于URL中包含的三级域名是一个确定的域名,通过该三级域名即可以确定监控日志数据的来源。因此,通过只截断URL请求中的三级域名即可实现对监控日志数据来源的确定,而不用截断URL请求中的更多级的域名来确定监控日志数据的来源,进而可以减少数据的截取量,节省数据的存储资源。
上传模块503,用于将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。
具体地,现有技术在接收到URL请求时,直接将该URL请求中的域名以及该URL请求对应的监控日志数据上传至应用监控系统,应用监控系统在接收到多个URL请求以及各个URL请求对应的监控日志数据时,按照该URL请求中的域名进行聚类及统计。由于在不对URL请求中的域名进行处理时,各个URL请求对应的域名基本上不同,会造成聚类得到的监控日志数据不可控。
通过对URL请求中的域名进行处理以得到预设等级的域名,从而可以将多个不同的域名,但只要前面预设等级的域名相同,就可以聚合为同一个域名,进而可以减少上报至应用监控系统的域名数量,也可以将聚合后的同一域名对应的各个监控数据进行聚合统计,使得通过该聚合后的数据得到的告警信息更加收敛。
在本实施例中,通过接收应用程序通过URL请求上报的监控日志数据;对所述URL请求中的域名进行截断处理,以得到预设等级的域名;将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。本案通过在接收到URL请求时,对URL进行截断处理,从而使得聚合后的告警信息更加收敛,进而可以提高统计得到的告警信息精确度。
进一步地,参照图5,在一实施方式中,所述监控装置500还包括获取模块504以及接入模块505。
所述获取模块504,用于从配置中心获取所述应用程序对应的客户端配置信息。
具体地,所述客户端为对所述应用程序进行编译后得到的jav包。现有的应用监控系统在对应用程序对应的客户端进行配置时,通过从默认路径"/data/appdatas/cat/client.xml"获取客户端配置信息,通过该方式获得的配置信息需要依赖于运维操作客户端配置文件,这种获取方式获取客户端配置信息效率不高且造成额外沟通成本。
所述接入模块505,用于根据所述配置信息对所述应用程序进行配置操作,以将所述应用程序接入到所述应用监控系统。
具体地,在获取到配置信息后,根据该配置信息对应用程序进行配置操作,从而可以将该应用程序接入到所述应用监控系统,以使得该应用程序成为该应用监控系统的客户端。
本实施例通过在应用监控系统中的配置中心存储客户端配置信息,在需要该配置信息时,直接从配置中心获取,从而可以不用依赖于运维操作客户端配置文件,进而可以提高配置文件的获取效率。此外,通过直接从配置中心获取客户端配置信息的方式,可以针对不同应用分发不同客户端配置文件。
在一实施方式中,在完成该应用程序的配置操作之后,需要对该应用程序对应的客户端进行初始化,即所述监控方法还包括:
调用所述应用监控系统的初始化代码对所述应用程序对应的客户端进行初始化。
具体地,通过对应用监控系统的初始化代码进行改造,使得在对该应用程序对应的客户端进行配置之后,再调用应用监控系统的初始化代码对所述应用程序对应的客户端进行初始化,并在初始化的过程中不再根据原默认路径下去获取客户端配置信息,而是直接从配置中心获取配置信息来实现对该客户端的初始化。
在一实施方式中,所述监控装置500还包括插入模块、拦截模块及信息上传模块。
所述插入模块,用于预先在所述应用监控系统中插入Mybatis插件。
具体地,Mybatis插件是一种通过Interceptor接口可以做到拦截四大对象相关方法的执行,以及根据需求可以完成相关数据的动态改变的插件。在一实施方式中,该Mybatis插件优选为原生的Executor插件。
本实施例中,通过预先在应用监控系统中插入Mybatis插件,从而可以通过该Mybatis插件获取到监控日志数据中所包含的各种SQL语句操作,以使得应用监控系统可以发现SQL级问题,并且可以根据该SQL级问题直接找到客户端出现问题的原因,从而缩短定位客户端问题的时间。具体地,将该Mybatis插件添加至该应用监控系统的客户端中,以使客户端在和应用监控系统的服务端进行通讯时,先将监控日志数据中所包含的各种SQL语句操作进行拦截。
所述拦截模块,用于通过所述Mybatis插件拦截所述监控日志数据中包含的SQL语句操作。
具体地,在将监控日志数据上传至应用监控系统之前,通过Mybatis插件对监控日志数据进行拦截,判断该监控日志数据中是否包含有SQL语句操作,若该监控日志数据中包含有SQL语句操作,则将该SQL语句操作下来,若该监控日志数据中不包含有SQL语句操作,则不对该监控日志数据进行放行。
在本实施例中,该SQL语句操作可以为增加操作,删除操作,事务操作、回滚操作等所对应的SQL操作语句。
所述信息上传模块,用于获取基于所述SQL语句操作的执行信息,并将所述执行信息以及所述SQL语句操作上传至所述应用监控系统的服务端。
具体地,在拦截到SQL语句操作后,同时获取该监控日志数据中的基于该SQL语句操作的执行信息,该执行信息包括执行该SQL语句操作所花的时间,执行该SQL语句操作的响应等。
在拦截获取到该执行信息以及该该SQL语句操作之后,即可以将该拦截后的信息上传至所述应用监控系统的服务端,以使得服务端根据该得到的数据分析得到实时的SQL执行信息,以发现SQL级问题。
本发明实施例通过所述Mybatis插件拦截所述监控日志数据中包含的SQL语句操作;获取基于所述SQL语句操作的执行信息,并将所述执行信息以及所述SQL语句操作上传至所述应用监控系统的服务端,从而可以发现SQL级问题。
图6示意性示出了根据本申请实施例的适于实现监控方法的计算机设备2的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图6所示,计算机设备2至少包括但不限于:可通过系统总线相互通信链接存储器20、处理器21、网络接口22。其中:
存储器20至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器20可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器20也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器20还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器20通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如监控方法的程序代码等。此外,存储器20还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器21在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器21通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器21用于运行存储器20中存储的程序代码或者处理数据。
网络接口22可包括无线网络接口或有线网络接口,该网络接口22通常用于在计算机设备2与其他计算机设备之间建立通信链接。例如,网络接口22用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件20~22的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。在本实施例中,存储于存储器20中的监控方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器21)所执行,以完成本发明。
本申请实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的监控方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的监控方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种监控方法,其特征在于,包括:
接收应用程序通过URL请求上报的监控日志数据;
对所述URL请求中的域名进行截断处理,以得到预设等级的域名;
将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。
2.根据权利要求1所述的监控方法,其特征在于,所述预设等级的域名为三级域名。
3.根据权利要求1所述的监控方法,其特征在于,所述接收应用程序通过URL请求上报的监控日志数据的步骤之前,还包括:
从配置中心获取所述应用程序对应的客户端配置信息;
根据所述配置信息对所述应用程序进行配置操作,以将所述应用程序接入到所述应用监控系统。
4.根据权利要求3所述的监控方法,其特征在于,所述监控方法还包括:
调用所述应用监控系统的初始化代码对所述应用程序对应的客户端进行初始化。
5.根据权利要求1所述的监控方法,其特征在于,所述监控方法还包括:
预先在所述应用监控系统中插入Mybatis插件。
6.根据权利要求5所述的监控方法,其特征在于,所述监控方法还包括:
通过所述Mybatis插件拦截所述监控日志数据中包含的SQL语句操作;
获取基于所述SQL语句操作的执行信息,并将所述执行信息以及所述SQL语句操作上传至所述应用监控系统的服务端。
7.根据权利要求6所述的监控方法,其特征在于,所述SQL语句操作包括增删操作、事务操作、回滚操作中的至少一种。
8.一种监控装置,其特征在于,包括:
接收模块,用于接收应用程序通过URL请求上报的监控日志数据;
处理模块,用于对所述URL请求中的域名进行截断处理,以得到预设等级的域名;
上传模块,用于将所述预设等级的域名和所述监控日志数据上传至应用监控系统的服务端。
9.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的监控方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述的监控方法的步骤。
CN201910969957.XA 2019-10-12 2019-10-12 监控方法、装置、计算机设备及存储介质 Active CN112653567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910969957.XA CN112653567B (zh) 2019-10-12 2019-10-12 监控方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910969957.XA CN112653567B (zh) 2019-10-12 2019-10-12 监控方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112653567A true CN112653567A (zh) 2021-04-13
CN112653567B CN112653567B (zh) 2022-03-04

Family

ID=75343050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910969957.XA Active CN112653567B (zh) 2019-10-12 2019-10-12 监控方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112653567B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579864A (zh) * 2017-10-16 2018-01-12 深圳大宇无限科技有限公司 请求监控方法、装置及服务器
CN108874642A (zh) * 2018-05-25 2018-11-23 平安科技(深圳)有限公司 Sql性能监控方法、装置、计算机设备及存储介质
CN109634818A (zh) * 2018-10-24 2019-04-16 中国平安人寿保险股份有限公司 日志分析方法、系统、终端及计算机可读存储介质
CN110297814A (zh) * 2019-05-22 2019-10-01 中国平安人寿保险股份有限公司 数据库操作的性能监控方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579864A (zh) * 2017-10-16 2018-01-12 深圳大宇无限科技有限公司 请求监控方法、装置及服务器
CN108874642A (zh) * 2018-05-25 2018-11-23 平安科技(深圳)有限公司 Sql性能监控方法、装置、计算机设备及存储介质
CN109634818A (zh) * 2018-10-24 2019-04-16 中国平安人寿保险股份有限公司 日志分析方法、系统、终端及计算机可读存储介质
CN110297814A (zh) * 2019-05-22 2019-10-01 中国平安人寿保险股份有限公司 数据库操作的性能监控方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112653567B (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN109800223A (zh) 日志处理方法、装置、电子设备及存储介质
CN103077108B (zh) 一种对浏览器崩溃进行预警的方法和系统
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
CN109271359B (zh) 日志信息处理方法、装置、电子设备及可读存储介质
CN105512283A (zh) 数据质量管理控制方法及装置
CN103324713A (zh) 多级服务器中的数据处理方法、装置和数据处理系统
WO2015073025A1 (en) Indicating a trait of a continuous delivery pipeline
CN105049290A (zh) 页面访问监测方法及装置
CN111258798A (zh) 监控数据的故障定位方法、装置、计算机设备及存储介质
CN107566480B (zh) 移动终端应用的用户活动信息采集方法及装置、存储介质
CN113868248A (zh) 指标数据预聚合方法
CN112653567B (zh) 监控方法、装置、计算机设备及存储介质
CN112835779A (zh) 测试用例确定方法、装置、计算机设备
US20180089004A1 (en) Classification of application events using call stacks
CN113472881B (zh) 在线终端设备的统计方法和装置
US11621894B2 (en) Computerized systems and methods for processing high-volume log files from virtual servers
CN112990937B (zh) 资源数据采集方法、装置、计算机设备和存储介质
KR102349495B1 (ko) 가상 서버들로부터 대용량 로그 파일들을 프로세싱하는 컴퓨터 시스템 및 방법.
CN115185778A (zh) 数据库的监控方法及装置
CN114371980A (zh) 调用链路性能监控方法、装置、计算机设备及存储介质
CN113918204A (zh) 一种元数据脚本管理方法、装置、电子设备和存储介质
CN113392131A (zh) 数据处理方法、装置及计算机设备
CN113886419A (zh) Sql语句处理方法、装置、计算机设备及存储介质
CN112561388A (zh) 一种基于物联网的信息处理方法、装置及设备
CN112596974A (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