CN116132327A - 一种面向dubbo调用全链路的深度监管系统及方法 - Google Patents
一种面向dubbo调用全链路的深度监管系统及方法 Download PDFInfo
- Publication number
- CN116132327A CN116132327A CN202310102591.2A CN202310102591A CN116132327A CN 116132327 A CN116132327 A CN 116132327A CN 202310102591 A CN202310102591 A CN 202310102591A CN 116132327 A CN116132327 A CN 116132327A
- Authority
- CN
- China
- Prior art keywords
- component
- server
- monitoring
- 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
Links
Images
Classifications
-
- 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
-
- 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/06—Management of faults, events, alarms or notifications
-
- 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/16—Threshold monitoring
-
- 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/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种面向DUBBO调用全链路的深度监管系统及方法,涉及服务框架深度监控技术领域,包括客户端和服务端;客户端用于:集成在应用上,将应用名称和监听端口向服务端进行注册;实时监听监听端口,获取服务端传入的需监控组件名称;根据需监控组件名称对应用中的该组件进行性能数据采集;将采集到的性能数据发送服务端;服务端用于:记录客户端注册的各应用名称和监听端口信息;设置各应用的监控策略;根据监控策略向各应用的监听接口发送需监控组件名称;接收客户端发送的各需监控组件的性能数据;对各组件的性能数据进行分析,发现应用异常问题。本发明能够发现应用问题的根源所在,对组件参数快速调优,解决应用流量异常问题。
Description
技术领域
本发明属于服务框架深度监控技术领域,尤其是涉及一种面向DUBBO调用全链路的深度监管系统及方法。
背景技术
DUBBO是一个开源的高性能RPC分布式服务框架,能使得应用通过高性能的RPC(远程过程调用协议)实现服务的输出和输入功能
目前多数微服务应用都基于DUBBO实现RPC,对于这一技术实现的性能监控方面,业界多数停留在调用耗时等问题上,对于耗时为什么长的根因溯源方面支撑度较弱;原因在于,当前市场上的监控工具停留在请求AOP(面向切面编程,即:通过预编译方式和运行期间动态代理实现程序功能)级别,没有深入源码级的监控以及监控数据之间的串接和分析比较缺乏。
另外,由于DUBBO整个调用链路涉及ZK中间件、NETTY框架所以当某个环节出现问题时,生产环境很难溯源。
鉴于此,只能更进一步的对DUBBO各框架进行深度监控,才能快速准确发现问题根源。
发明内容
针对上述问题,本发明提出了一种面向DUBBO调用全链路的深度监管系统及方法,通过对各组件性能数据的采集,发现应用问题的根源所在,进而对组件参数快速调优,解决应用流量异常问题。
为实现上述目的,本发明公开了一种面向DUBBO调用全链路的深度监管方法,包括:
包括:客户端和服务端;
所述客户端,用于:
集成在应用上,将应用名称和监听端口向服务端进行注册;
实时监听所述监听端口,获取服务端传入的需监控组件名称;
根据所述需监控组件名称对应用中的该组件进行性能数据采集;
将采集到的性能数据发送服务端;
所述服务端,用于:
记录客户端注册的各应用名称和监听端口信息;
设置各应用的监控策略;
根据监控策略向各客户端的所述监听接口发送需监控组件名称;
接收所述客户端发送的各需监控组件的性能数据;
对各组件的性能数据进行分析,发现应用异常问题。
作为本发明的进一步改进,述客户端配置有服务端地址;
所述客户端根据所述服务端地址将客户端所在应用的应用名称和监控端口向所述服务端进行注册;
所述客户端根据所述服务端地址将采集到的性能数据发送所述服务端。
作为本发明的进一步改进,获取服务端传入的需监控组件名称,根据所述需监控组件名称对应用中的该组件进行性能数据采集;包括:
客户端将所述需监控组件名称放入任务队列,当执行到该任务时,调用该组件对应的采集器,完成性能数据的采集。
作为本发明的进一步改进,所述任务队列中的任务,采用多线程并行执行。
作为本发明的进一步改进,所述监控策略,包括:应用名称、需监控组件名称和采集周期。
作为本发明的进一步改进,所述根据监控策略向各应用的所述监听接口发送需监控组件名称;包括:
所述服务端定期扫描所述监控策略,若时间满足所述监控策略中任一需监控组件的所述采集周期,则开始监控调度。
作为本发明的进一步改进,对存在应用异常问题的组件进行阈值判断,若超出阈值,则发起告警。
作为本发明的进一步改进,还包括指标平台,用于:
展示所述服务端接收到的各徐监控组件的性能数据及分析结果;
接收服务端发起的告警信号。
作为本发明的进一步改进,需监控组件包括:DUBBO客户端、DUBBO服务端、ZK客户端、NETTY客户端、NETTY服务端。
如图2所示,本发明还提供了一种面向DUBBO调用全链路的深度监管方法,包括:
各客户端分别向服务端注册其所在应用的应用名称和监听端口;
服务端记录各客户端注册的所述应用名称和监听端口信息;
所述服务端设置并实时扫描监控策略,根据监控策略向各客户端的所述监听接口发送需监控组件名称;
所述客户端实时监听所述监听端口,获取服务端传入的所述需监控组件名称,根据所述需监控组件名称对应用中的该组件进行性能数据采集,并将采集到的性能数据发送服务端;
所述服务端对各组件的性能数据进行分析,发现应用异常问题。
与现有技术相比,本发明的有益效果为:
本发明通过搭建客户端和服务端,并将客户端集成到应用上,对服务端进行配置并控制客户端对应用中的组件性能数据进行采集,通过各组件的性能数据,发现应用问题的根源所在,进而对组件参数快速调优,解决应用流量异常问题。
附图说明
图1为本发明一种实施例公开的面向DUBBO调用全链路的深度监管系统示意图;
图2为本发明一种实施例公开的面向DUBBO调用全链路的深度监管方法流程图;
图3为本发明一种实施例公开的面向DUBBO调用全链路的深度监管系统整体架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,本发明公开的一种面向DUBBO调用全链路的深度监管系统,包括:客户端、服务端和指标平台;
客户端,用于:
(1)集成在应用上,将应用名称和监听端口向服务端进行注册;
其中,
客户端配置有服务端地址;
客户端根据服务端地址将客户端所在应用的应用名称和监控端口向服务端进行注册;
(2)实时监听监听端口,获取服务端传入的需监控组件名称;
其中,
需监控组件包括:DUBBO客户端、DUBBO服务端、ZK客户端、NETTY客户端、NETTY服务端。
(3)根据需监控组件名称对应用中的该组件进行性能数据采集,将采集到的性能数据发送服务端;
其中,
客户端将需监控组件名称放入任务队列,当执行到该任务时,调用该组件对应的采集器,完成性能数据的采集;
客户端根据服务端地址将采集到的性能数据发送服务端。
进一步的,
任务队列中的任务,采用多线程并行执行。
服务端,用于:
(1)记录客户端注册的各应用名称和监听端口信息;
(2)设置各应用的监控策略;
其中,
监控策略,包括:应用名称、需监控组件名称和采集周期。
(3)根据监控策略向各客户端的监听接口发送需监控组件名称;
其中,
服务端定期扫描监控策略,若时间满足监控策略中任一需监控组件的采集周期,则开始监控调度。
进一步的,
将服务端注册的所有客户端和监听端口写入列表;
通过REST轮巡列表依次向各客户端的监听端口发送监控组件名称。
(4)接收客户端发送的各需监控组件的性能数据;
(5)对各组件的性能数据进行分析,发现应用异常问题。
其中,
对存在应用异常问题的组件进行阈值判断,若超出阈值,则发起告警。
指标平台,用于:
展示服务端接收到的各徐监控组件的性能数据及分析结果;
接收服务端发起的告警信号。
如图2所示,本发明还提供了一种面向DUBBO调用全链路的深度监管方法,包括:
S1、各客户端分别向服务端注册其所在应用的应用名称和监听端口;
S2、服务端记录各客户端注册的应用名称和监听端口信息;
S3、服务端设置并实时扫描监控策略,根据监控策略向各客户端的监听接口发送需监控组件名称;
S4、客户端实时监听监听端口,获取服务端传入的需监控组件名称,根据需监控组件名称对应用中的该组件进行性能数据采集,并将采集到的性能数据发送服务端;
S5、服务端对各组件的性能数据进行分析,发现应用异常问题。
实施例:
如图3所示,本发明一种面向DUBBO调用全链路的深度监管系统整体架构示意图,采用开源调度器作为基础基座,开源调度器自身几倍启动任务、触发任务和任务回调的功能,可实现分布式轻量级调度;以DUBBO服务端为例,性能数据采集过程如下:
步骤1、在客户端基础基座上编写DUBBO组件采集程序,如下:
(1)无API依赖:
Object threadPoolChecker
=Class.forName("org.apache.dubbo.rpc.protocol.dubbo.status.ThreadPoolStatusChecker").newIn stance();
Class statusClazz=lass.forName("org.apache.dubbo.common.status.Status");
Object check=threadPoolChecker.getClass().getMethod("check").invoke(threadPool Checker);
Field message=statusClazz.getDeclaredField("message");
message.setAccessible(true);
msgStr=(String)message.get(check);
(2)API依赖:
Map<String,String>checkMsg2Map=DubboStatusChecker.getCheckMsg2Map();
步骤2、在客户端基础基座(开源调度器)中编辑一个rest监听端口;
步骤3、客户端根据配置的服务端地址向服务端进行自身信息注册,如业务应用名称为:移动微厅,监听端口为rest 1;
步骤4、服务端设置监控策略为(DUBBO、2s),实时扫描监控策略,当时间达到DUBBO组件的采集周期2s时,将所有在本服务端注册的客户端和监听端口写入列表;
步骤5、通过REST轮巡列表,当轮巡到移动微厅是,向移动微厅的的监听端口rest1发送需监控组件名称DUBBO;
步骤6、移动微厅的客户端实时监听其监听端口rest 1,获取服务端传入的需监控组件名称DUBBO,将组件名称DUBBO放入任务队列;
步骤7、基础基座的多线程调度引擎处理到该任务时,通过DUBBO组件采集程序对需监控组件名称DUBBO进行性能数据采集;
其中,DUBBO组件采集程序能够获取到连接池内部状态,如下:
Pool status:OK,
max:200,core:200,largest:0,
active:0,task:0,
service port:20880
步骤8、客户端将采集到的结果经预先配置的服务端地址回传到服务端;
步骤9、服务端对DUBBO组件的性能数据进行分析,发现应用异常问题;对存在异常问题的组件进行阈值判断,当前等待数为0,没有超出阈值,无需发起告警。
本发明的优点:
本发明通过搭建客户端和服务端,并将客户端集成到应用上,对服务端进行配置并控制客户端对应用中的组件性能数据进行采集,通过各组件的性能数据,发现应用问题的根源所在,进而对组件参数快速调优,解决应用流量异常问题。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向DUBBO调用全链路的深度监管系统,其特征在于,包括:客户端和服务端;
所述客户端,用于:
集成在应用上,将应用名称和监听端口向服务端进行注册;
实时监听所述监听端口,获取服务端传入的需监控组件名称;
根据所述需监控组件名称对应用中的该组件进行性能数据采集;
将采集到的性能数据发送服务端;
所述服务端,用于:
记录客户端注册的各应用名称和监听端口信息;
设置各应用的监控策略;
根据监控策略向各客户端的所述监听接口发送需监控组件名称;
接收所述客户端发送的各需监控组件的性能数据;
对各组件的性能数据进行分析,发现应用异常问题。
2.根据权利要求1所述的面向DUBBO调用全链路的深度监管系统,其特征在于:所述客户端配置有服务端地址;
所述客户端根据所述服务端地址将客户端所在应用的应用名称和监控端口向所述服务端进行注册;
所述客户端根据所述服务端地址将采集到的性能数据发送所述服务端。
3.根据权利要求1所述的面向DUBBO调用全链路的深度监管系统,其特征在于:获取服务端传入的需监控组件名称,根据所述需监控组件名称对应用中的该组件进行性能数据采集;包括:
客户端将所述需监控组件名称放入任务队列,当执行到该任务时,调用该组件对应的采集器,完成性能数据的采集。
4.根据权利要求3所述的面向DUBBO调用全链路的深度监管系统,其特征在于:所述任务队列中的任务,采用多线程并行执行。
5.根据权利要求1所述的面向DUBBO调用全链路的深度监管系统,其特征在于:所述监控策略,包括:应用名称、需监控组件名称和采集周期。
6.根据权利要求5所述的面向DUBBO调用全链路的深度监管系统,其特征在于:所述根据监控策略向各应用的所述监听接口发送需监控组件名称;包括:
所述服务端定期扫描所述监控策略,若时间满足所述监控策略中任一需监控组件的所述采集周期,则开始监控调度。
7.根据权利要求1所述的面向DUBBO调用全链路的深度监管系统,其特征在于:对存在应用异常问题的组件进行阈值判断,若超出阈值,则发起告警。
8.根据权利要求7所述的面向DUBBO调用全链路的深度监管系统,其特征在于:还包括指标平台,用于:
展示所述服务端接收到的各徐监控组件的性能数据及分析结果;
接收服务端发起的告警信号。
9.根据权利要求1所述的面向DUBBO调用全链路的深度监管系统,其特征在于,需监控组件包括:DUBBO客户端、DUBBO服务端、ZK客户端、NETTY客户端、NETTY服务端。
10.一种面向DUBBO调用全链路的深度监管方法,应用如权利要求1~9任一项所述的面向DUBBO调用全链路的深度监管系统,其特征在于,包括:
各客户端分别向服务端注册其所在应用的应用名称和监听端口;
服务端记录各客户端注册的所述应用名称和监听端口信息;
所述服务端设置并实时扫描监控策略,根据监控策略向各客户端的所述监听接口发送需监控组件名称;
所述客户端实时监听所述监听端口,获取服务端传入的所述需监控组件名称,根据所述需监控组件名称对应用中的该组件进行性能数据采集,并将采集到的性能数据发送服务端;
所述服务端对各组件的性能数据进行分析,发现应用异常问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102591.2A CN116132327A (zh) | 2023-01-31 | 2023-01-31 | 一种面向dubbo调用全链路的深度监管系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102591.2A CN116132327A (zh) | 2023-01-31 | 2023-01-31 | 一种面向dubbo调用全链路的深度监管系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132327A true CN116132327A (zh) | 2023-05-16 |
Family
ID=86300821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310102591.2A Pending CN116132327A (zh) | 2023-01-31 | 2023-01-31 | 一种面向dubbo调用全链路的深度监管系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132327A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041329A (zh) * | 2023-10-08 | 2023-11-10 | 南京翼辉信息技术有限公司 | 一种基于异构总线结构的微服务配置系统及其控制方法 |
-
2023
- 2023-01-31 CN CN202310102591.2A patent/CN116132327A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041329A (zh) * | 2023-10-08 | 2023-11-10 | 南京翼辉信息技术有限公司 | 一种基于异构总线结构的微服务配置系统及其控制方法 |
CN117041329B (zh) * | 2023-10-08 | 2023-12-15 | 南京翼辉信息技术有限公司 | 一种基于异构总线结构的微服务配置系统及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539053A (zh) | 基于爬虫技术的电力调度自动化巡检机器人及巡检方法 | |
CN116132327A (zh) | 一种面向dubbo调用全链路的深度监管系统及方法 | |
WO2018184420A1 (zh) | 软件测试方法、装置、电子设备及介质 | |
CN108874524A (zh) | 大数据分布式任务调度系统 | |
EP1659548A3 (en) | Supervisor program | |
CN110231998B (zh) | 分布式定时任务的检测方法、装置及存储介质 | |
WO2020232871A1 (zh) | 一种微服务依赖分析方法及装置 | |
CN110297746A (zh) | 一种数据处理方法及系统 | |
CN112134754A (zh) | 压力测试方法、装置、网络设备及存储介质 | |
CN111190758B (zh) | 基于fpga计算规则和rpc监控结合实现设备状态自恢复方法 | |
CN111447170A (zh) | 数据处理方法及其系统、计算机系统及计算机可读介质 | |
CN111211934A (zh) | 集群远程通信测试方法以及系统 | |
CN113779094B (zh) | 基于批流一体的数据处理方法、装置、计算机设备和介质 | |
CN112650706A (zh) | 一种大数据技术体系下实现高态势感知能力的方法 | |
CN109726011A (zh) | 一种基于嵌入式人工智能的网络安全测试系统及实现方法 | |
CN110995538B (zh) | 网络数据采集方法、装置、系统、设备及存储介质 | |
CN112817820A (zh) | 一种面向java组件的源码深度监控方法及系统 | |
CN109901950A (zh) | 一种规避应用程序崩溃的方法及装置 | |
CN114745330A (zh) | 一种数据处理方法及装置 | |
CN106647628B (zh) | 一种数控加工过程中g代码执行状态数据的实时采集方法 | |
CN110532253B (zh) | 一种业务分析方法、系统及集群 | |
CN109614429B (zh) | 基于内核驱动实现应用访问和数据库访问行为关联的方法 | |
CN109086116B (zh) | 基于辅助功能服务的通讯工具言论实时监测方法及装置 | |
CN113204694A (zh) | 一种应用于业务系统智能数据交换的方法 | |
CN113010483A (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 |