CN112817820A - 一种面向java组件的源码深度监控方法及*** - Google Patents

一种面向java组件的源码深度监控方法及*** Download PDF

Info

Publication number
CN112817820A
CN112817820A CN202110126907.2A CN202110126907A CN112817820A CN 112817820 A CN112817820 A CN 112817820A CN 202110126907 A CN202110126907 A CN 202110126907A CN 112817820 A CN112817820 A CN 112817820A
Authority
CN
China
Prior art keywords
monitoring
component
server
client
name
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
Application number
CN202110126907.2A
Other languages
English (en)
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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN202110126907.2A priority Critical patent/CN112817820A/zh
Publication of CN112817820A publication Critical patent/CN112817820A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种面向JAVA组件的源码深度监控方法及***,涉及电信业务支撑领域,包括:客户端向服务端注册该客户端所在的应用名称和监听端口;服务端记录各客户端的注册信息;服务端设置并实时扫描监控策略,根据监控策略向各客户端的监听端口发送需监控组件名称;客户端实时监听其监听端口,获取服务端传入的需监控组件名称,根据需监控组件名称对应用中该组件的性能数据进行采集;客户端将采集到的结果回传到服务端。本发明通过对各组件性能数据的采集,发现应用问题的根源所在,进而对组件参数快速调优,解决应用流量异常问题。

Description

一种面向JAVA组件的源码深度监控方法及***
技术领域
本发明涉及电信业务支撑领域,尤其是涉及一种面向JAVA组件的源码深度监控方法及***。
背景技术
目前,对应用的监控主要聚焦对流量进行耗时统计,进而判断应用的性能,如对http接口进行AOP(面向切面编程)统计流量时长,该监控方法能够发现问题,如发现http接口响应较慢,但是该程度的监控结果粒度较粗,因为很多接口需要多个环节,如web接口需要http监控连接池、业务处理线程池和数据库连接池,这种情况下,通过AOP监控,虽能统计到某个接口流速慢,但是无法定位是http监控连接池的问题、业务处理线程池还是数据库连接池的问题。
鉴于此,只能更进一步的对各环节进行深度监控,才能快速准确发现问题根源。
发明内容
针对上述问题,本发明提供了一种面向JAVA组件的源码深度监控方法及***,通过对各组件性能数据的采集,发现应用问题的根源所在,进而对组件参数快速调优,解决应用流量异常问题。
为实现上述目的,本发明提供了面向JAVA组件的源码深度监控方法,包括:客户端和服务端;
所述客户端,用于:
集成在应用上,将所在应用名称和监听端口向服务端进行注册;
实时监听所述监听端口,获取服务端传入的需监控组件名称;
根据所述需监控组件名称对应用中该组件的性能数据进行采集;
将采集到的结果回传到服务端;
所述服务端,用于:
记录各客户端的注册信息;
设置应用的监控策略;
根据监控策略向各所述客户端的监听端口发送需监控组件名称;
接收客户端回传的结果;
对各组件的性能数据进行分析,发现应用异常问题。
作为本发明的进一步改进,所述客户端配置有服务端地址,根据所述服务端地址将所在应用名称和监控端口向服务端进行注册,以及将采集到的结果回传到所述服务端。
作为本发明的进一步改进,所述监控策略包括:应用名称、监控组件名称和采集周期。
作为本发明的进一步改进,所述根据监控策略向各所述客户端的监听端口发送需监控组件名称;包括:
所述服务端定期扫描监控策略,若时间满足所述监控策略中任一监控组件的采集周期,则开始监控调度;
将所述服务端注册的所有所述客户端和监听端口写入列表;
通过Http轮巡列表依次向各客户端的监听端口发送所述监控组件名称。
作为本发明的进一步改进,根据所述需监控组件名称对应用中该组件的性能数据进行采集;包括:
所述客户端将需监控组件名称放入任务队列;
当执行到该任务时,调用该组件对应的采集器完成其性能数据的采集。
本发明还提供了一种面向JAVA组件的源码深度监控***的方法,包括:
客户端向服务端注册该客户端所在的应用名称和监听端口;
服务端记录各客户端的注册信息;
服务端设置并实时扫描监控策略,根据所述监控策略向各所述客户端的监听端口发送需监控组件名称;
客户端实时监听所述监听端口,获取服务端传入的需监控组件名称,根据所述需监控组件名称对应用中该组件的性能数据进行采集;
将采集到的结果回传到服务端;
服务端对各组件的性能数据进行分析,发现应用异常问题。
作为本发明的进一步改进,所述客户端配置有服务端地址,根据所述服务端地址将所在应用名称和监控端口向服务端进行注册,以及将采集到的结果回传到所述服务端。
作为本发明的进一步改进,所述监控策略包括:应用名称、监控组件名称和采集周期。
作为本发明的进一步改进,所述根据监控策略向各所述客户端的监听端口发送需监控组件名称;包括:
所述服务端定期扫描监控策略,若时间满足所述监控策略中任一监控组件的采集周期,则开始监控调度;
将所述服务端注册的所有所述客户端和监听端口写入列表;
通过Http轮巡列表依次向各客户端的监听端口发送所述监控组件名称。
作为本发明的进一步改进,根据所述需监控组件名称对应用中该组件的性能数据进行采集;包括:
所述客户端将需监控组件名称放入任务队列;
当执行到该任务时,调用该组件对应的采集器完成其性能数据的采集。
与现有技术相比,本发明的有益效果为:
本发明通过搭建客户端和服务端,并将客户端集成到应用上,对服务端进行配置并控制客户端对应用中的组件性能数据进行采集,通过各组件的性能数据,发现应用问题的根源所在,进而对组件参数快速调优,解决应用流量异常问题。
附图说明
图1为本发明一种实施例公开的面向JAVA组件的源码深度监控***示意图;
图2为本发明一种实施例公开的面向JAVA组件的源码深度监控方法流程图;
图3为本发明一种实施例公开的面向JAVA组件的源码深度监控***整体示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,本发明提供的一种面向JAVA组件的源码深度监控***,包括:客户端、服务端和指标平台;
客户端,用于:
集成在应用上,将所在应用名称和监听端口向服务端进行注册;
其中,客户端配置有服务端地址,根据服务端地址将该客户端所在的应用名称和监控端口向服务端进行注册;
实时监听其监听端口,获取服务端传入的需监控组件名称;
根据需监控组件名称对应用中该组件的性能数据进行采集;
其中,客户端将需监控组件名称放入任务队列;当执行到该任务时,调用该组件对应的采集器完成其性能数据的采集;进一步的,任务队列中的任务处理时采用多线程并行执行。
将采集到的结果回传到服务端;
其中,根据服务端地址将采集到的结果回传到服务端。
服务端,用于:
记录各客户端的注册信息,包括应用名称和监控端口;
设置应用的监控策略;
其中,包括应用名称、监控组件名称和采集周期;
根据监控策略向各客户端的监听端口发送需监控组件名称;
其中,服务端定期扫描监控策略,若时间满足监控策略中任一监控组件的采集周期,则开始监控调度;将服务端注册的所有客户端和监听端口写入列表;通过Http轮巡列表依次向各客户端的监听端口发送监控组件名称。
接收客户端回传的结果;
对各组件的性能数据进行分析,发现应用异常问题。
对存在异常问题的组件进行阈值判断,若超出阈值则发起告警。
指标平台,用于:
展示服务端收到的组件性能数据及数据分析结果;
接收服务端发出的告警信号。
如图2所示,本发明提供的一种面向JAVA组件的源码深度监控***的方法,包括:
S1、客户端向服务端注册该客户端所在的应用名称和监听端口;
其中,客户端配置有服务端地址,根据服务端地址将所在应用名称和监控端口向服务端进行注册。
S2、服务端记录各客户端的注册信息;
其中,包括应用名称和监听端口。
S3、服务端设置并实时扫描监控策略,根据监控策略向各客户端的监听端口发送需监控组件名称;
其中,
监控策略包括应用名称、监控组件名称和采集周期;
服务端定期扫描监控策略,若时间满足监控策略中任一监控组件的采集周期,则开始监控调度;
将服务端注册的所有客户端和监听端口写入列表;
通过Http轮巡列表依次向各客户端的监听端口发送监控组件名称。
进一步的,
监控组件包括工具类、处理类、IO类,工具类包括excel解析,处理类包括quartz、线程池,IO类包括tomcat、jetty、kafka、httpclient、druid;
S4、客户端实时监听监听端口,获取服务端传入的需监控组件名称,根据需监控组件名称对应用中该组件的性能数据进行采集;
其中,
客户端将需监控组件名称放入任务队列;
当执行到该任务时,调用该组件对应的采集器完成其性能数据的采集。
S5、客户端将采集到的结果回传到服务端;
其中,根据服务端地址将采集到的结果回传到服务端。
S6、服务端对各组件的性能数据进行分析,发现应用异常问题;对存在异常问题的组件进行阈值判断,若超出阈值则发起告警。
实施例:
如图3所示为一种实施例面向JAVA组件的源码深度监控***整体架构示意图,采用开源调度器作为基础基座,开源调度器自身几倍启动任务、触发任务和任务回调的功能,可实现分布式轻量级调度;以IO类组件HttpClient为例,性能数据采集过程如下:
步骤1、在客户端基础基座上编写HttpClient组件采集程序,如下:
Pooling HttpClient Connection Manager cm=HttpClient Util.getConnectionManager();
PoolStats poolStats=cm.getTotalStats();
步骤2、在客户端基础基座(开源调度器)中编辑一个rest监听端口;
步骤3、客户端根据配置的服务端地址向服务端进行自身信息注册,如业务应用名称为:移动微厅,监听端口为rest 1;
步骤4、服务端设置监控策略为(HttpClient、2s),实时扫描监控策略,当时间达到HttpClient组件的采集周期2s时,将所有在本服务端注册的客户端和监听端口写入列表;
步骤5、通过Http轮巡列表,当轮巡到移动微厅是,向移动微厅的的监听端口rest1发送需监控组件名称HttpClient;
步骤6、移动微厅的客户端实时监听其监听端口rest 1,获取服务端传入的需监控组件名称HttpClient,将组件名称HttpClient放入任务队列;
步骤7、基础基座的多线程调度引擎处理到该任务时,通过HttpClient组件采集程序对需监控组件名称HttpClient进行性能数据采集;
其中,HttpClient组件采集程序能够获取到连接池内部状态,如下:
[leased:81;pending:0;available:19;max:100]
max为最大并发数
leased当前在用数
available当前空闲数
pending为等待数
步骤8、客户端将采集到的结果经预先配置的服务端地址回传到服务端;
步骤9、服务端对HttpClient组件的性能数据进行分析,发现应用异常问题;对存在异常问题的组件进行阈值判断,当前等待数为0,没有超出阈值,无需发起告警。
本发明的优点:
通过搭建客户端和服务端,并将客户端集成到应用上,对服务端进行配置并控制客户端对应用中的组件性能数据进行采集,通过各组件的性能数据,发现应用问题的根源所在,进而对组件参数快速调优,解决应用流量异常问题。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种面向JAVA组件的源码深度监控***,其特征在于,包括:客户端和服务端;
所述客户端,用于:
集成在应用上,将所在应用名称和监听端口向服务端进行注册;
实时监听所述监听端口,获取服务端传入的需监控组件名称;
根据所述需监控组件名称对应用中该组件的性能数据进行采集;
将采集到的结果回传到服务端;
所述服务端,用于:
记录各客户端的注册信息;
设置应用的监控策略;
根据监控策略向各所述客户端的监听端口发送需监控组件名称;
接收客户端回传的结果;
对各组件的性能数据进行分析,发现应用异常问题。
2.根据权利要求1所述的源码深度监控***,其特征在于,所述客户端配置有服务端地址,根据所述服务端地址将所在应用名称和监控端口向服务端进行注册,以及将采集到的结果回传到所述服务端。
3.根据权利要求1所述的源码深度监控***,其特征在于,所述监控策略包括:应用名称、监控组件名称和采集周期。
4.根据权利要求1所述的源码深度监控***,其特征在于,所述根据监控策略向各所述客户端的监听端口发送需监控组件名称;包括:
所述服务端定期扫描监控策略,若时间满足所述监控策略中任一监控组件的采集周期,则开始监控调度;
将所述服务端注册的所有所述客户端和监听端口写入列表;
通过Http轮巡列表依次向各客户端的监听端口发送所述监控组件名称。
5.根据权利要求1所述的源码深度监控***,其特征在于:根据所述需监控组件名称对应用中该组件的性能数据进行采集;包括:
所述客户端将需监控组件名称放入任务队列;
当执行到该任务时,调用该组件对应的采集器完成其性能数据的采集。
6.一种基于权利要求1~5所述的面向JAVA组件的源码深度监控***的方法,其特征在于,包括:
客户端向服务端注册该客户端所在的应用名称和监听端口;
服务端记录各客户端的注册信息;
服务端设置并实时扫描监控策略,根据所述监控策略向各所述客户端的监听端口发送需监控组件名称;
客户端实时监听所述监听端口,获取服务端传入的需监控组件名称,根据所述需监控组件名称对应用中该组件的性能数据进行采集;
客户端将采集到的结果回传到服务端;
服务端对各组件的性能数据进行分析,发现应用异常问题。
7.根据权利要求6所述的***,其特征在于:所述客户端配置有服务端地址,根据所述服务端地址将所在应用名称和监控端口向服务端进行注册,以及将采集到的结果回传到所述服务端。
8.根据权利要求6所述的***,其特征在于,所述监控策略包括:应用名称、监控组件名称和采集周期。
9.根据权利要求6所述的***,其特征在于:所述根据监控策略向各所述客户端的监听端口发送需监控组件名称;包括:
所述服务端定期扫描监控策略,若时间满足所述监控策略中任一监控组件的采集周期,则开始监控调度;
将所述服务端注册的所有所述客户端和监听端口写入列表;
通过Http轮巡列表依次向各客户端的监听端口发送所述监控组件名称。
10.根据权利要求6所述的***,其特征在于,根据所述需监控组件名称对应用中该组件的性能数据进行采集;包括:
所述客户端将需监控组件名称放入任务队列;
当执行到该任务时,调用该组件对应的采集器完成其性能数据的采集。
CN202110126907.2A 2021-01-29 2021-01-29 一种面向java组件的源码深度监控方法及*** Pending CN112817820A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110126907.2A CN112817820A (zh) 2021-01-29 2021-01-29 一种面向java组件的源码深度监控方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110126907.2A CN112817820A (zh) 2021-01-29 2021-01-29 一种面向java组件的源码深度监控方法及***

Publications (1)

Publication Number Publication Date
CN112817820A true CN112817820A (zh) 2021-05-18

Family

ID=75860294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110126907.2A Pending CN112817820A (zh) 2021-01-29 2021-01-29 一种面向java组件的源码深度监控方法及***

Country Status (1)

Country Link
CN (1) CN112817820A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239502A (zh) * 2017-05-10 2017-10-10 杭州铭师堂教育科技发展有限公司 基于salt的数据库错误日志监控***
CN112039726A (zh) * 2020-08-25 2020-12-04 新浪网技术(中国)有限公司 一种内容分发网络cdn设备的数据监控方法及***
WO2021003923A1 (zh) * 2019-07-08 2021-01-14 平安科技(深圳)有限公司 FreeSWITCH监控方法、设备、存储介质及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239502A (zh) * 2017-05-10 2017-10-10 杭州铭师堂教育科技发展有限公司 基于salt的数据库错误日志监控***
WO2021003923A1 (zh) * 2019-07-08 2021-01-14 平安科技(深圳)有限公司 FreeSWITCH监控方法、设备、存储介质及装置
CN112039726A (zh) * 2020-08-25 2020-12-04 新浪网技术(中国)有限公司 一种内容分发网络cdn设备的数据监控方法及***

Similar Documents

Publication Publication Date Title
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
CN106941493B (zh) 一种网络安全态势感知结果输出方法及装置
CN108462598B (zh) 一种日志生成方法、日志分析方法及装置
CN108874524A (zh) 大数据分布式任务调度***
CN108089535B (zh) 控制***和控制装置
CN111159520B (zh) 样本鉴定方法、装置及安全应急响应***
CN101234018B (zh) 心跳检测方法、***和中央处理单元
CN116132327A (zh) 一种面向dubbo调用全链路的深度监管***及方法
CN107204868B (zh) 一种任务运行监控信息获取方法和装置
CN106648722B (zh) 基于大数据的Flume接收端数据处理方法和装置
CN110224848B (zh) 告警的播报方法及装置
CN112817820A (zh) 一种面向java组件的源码深度监控方法及***
CN114116872A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN112650706A (zh) 一种大数据技术体系下实现高态势感知能力的方法
CN111221744A (zh) 数据采集方法、装置及电子设备
CN113918636B (zh) 一种基于etl的数据处理量分析方法
CN115525392A (zh) 容器监控方法、装置、电子设备及存储介质
CN115529227A (zh) 一种基于Web请求的链路跟踪和异常诊断方法
CN107357703A (zh) 一种终端应用耗电检测方法及服务器
CN113190458A (zh) 自动埋点数据分析的方法、装置、计算机设备和存储介质
CN113138872A (zh) 数据库***的异常处理装置及方法
CN115934782B (zh) 一种安全日志分析与处理的方法及计算机存储介质
CN116187869B (zh) 一种应用于政企信息化***的用户行为分析方法及***
CN111835577A (zh) 物联网专网质差问题确定的方法、装置和电子设备
CN113296840B (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