一种应用数据库连接池监控组件构建方法及构建系统与流程

文档序号:28501730发布日期:2022-01-15 04:59阅读:278来源:国知局
一种应用数据库连接池监控组件构建方法及构建系统与流程

1.本公开涉及电子技术领域,尤其涉及一种应用数据库连接池监控组件构建方法及构建系统。


背景技术:

2.基于springboot框架并结合prometheus开源监控解决方案的应用性能监控解决方案具有功能完善、官方支持度高等有点,在java应用中得到了广泛的应用。
3.现有的springboot1.x和springboot2.x版本对于数据库连接池工具的监控支持较少,除了springboot默认使用地hikaricp数据库连接池工具自身具备并提供metrics指标功能外,其他常用的数据库连接池工具自身均不支持提供metrics指标功能,并缺少与micormeter框架和prometheus框架适配的功能组件。然而,目前使用springboot1.x和springboot2.x版本的项目,有多种数据库连接池工具,由于缺少与prometheus监控系统集成地官方组件支持,难以实现jvm(java virtual machine,java虚拟机)指标信息和数据库连接池指标信息的监控。
4.因此,如何实现jvm(java virtual machine,java虚拟机)指标信息和数据库连接池指标信息的监控,成为了本领域技术人员急需解决的问题。


技术实现要素:

5.有鉴于此,本公开提供如下技术方案:
6.一种应用数据库连接池监控组件构建方法,包括:
7.配置prometheus指标监控接口;
8.实例化仪表注册表、收集器注册表;
9.配置数据库连接池监控指标;
10.加载数据库连接池指标跟踪器;
11.在仪表注册表注册数据库连接池监控指标;
12.对外暴露服务。
13.优选地,所述加载数据库连接池指标跟踪器包括:
14.确定数据源对象类型;
15.基于数据源对象类型加载对应的数据库连接池指标跟踪器。
16.优选地,当数据源对象类型为druid,加载druid数据库连接池指标跟踪器;当数据源对象类型为basic,加载dbcp2数据库连接池指标追踪器;当数据源对象类型为tomcat,加载tomcatjdbc数据库连接池指标追踪器。
17.优选地,所述对外暴露服务包括:
18.确定springboot版本信息;
19.基于springboot版本信息对应的组件对外暴露服务。
20.优选地,若为springboot1.5.x版本,利用springbootactuator组件、
micrometerregistryprometheus组件及micrometer-spring-legacy组件对外暴露服务;否则,利用springbootactuator组件及micrometerregistryprometheus组件对外暴露服务。
21.一种应用数据库连接池监控组件构建系统,包括:
22.接口配置模块,用于配置prometheus指标监控接口;
23.实例化模块,用于实例化仪表注册表、收集器注册表;
24.指标配置模块,用于配置数据库连接池监控指标;
25.加载模块,用于加载数据库连接池指标跟踪器;
26.注册模块,用于在仪表注册表注册数据库连接池监控指标;
27.暴露模块,用于对外暴露服务。
28.优选地,所述加载模块包括对象类型确定单元及加载单元,其中:
29.对象类型确定单元用于确定数据源对象类型;
30.加载单元用于基于数据源对象类型加载对应的数据库连接池指标跟踪器。
31.优选地,当对象类型确定单元确定数据源对象类型为druid,加载单元加载druid数据库连接池指标跟踪器;当对象类型确定单元确定数据源对象类型为basic,加载单元加载dbcp2数据库连接池指标追踪器;当对象类型确定单元确定数据源对象类型为tomcat,加载单元加载tomcatjdbc数据库连接池指标追踪器。
32.优选地,暴露模块包括版本确定单元及暴露单元,其中:
33.版本确定单元用于确定springboot版本信息;
34.暴露单元用于基于springboot版本信息对应的组件对外暴露服务。
35.优选地,若版本确定单元确定springboot版本为springboot1.5.x版本,暴露单元用于利用springbootactuator组件、micrometerregistryprometheus组件及micrometer-spring-legacy组件对外暴露服务;否则,暴露单元用于利用springbootactuator组件及micrometerregistryprometheus组件对外暴露服务。
36.从上述技术方案可以看出,本公开公开的一种应用数据库连接池监控组件构建方法及构建系统,通过配置prometheus指标监控接口;实例化仪表注册表、收集器注册表看;配置数据库连接池监控指标;加载数据库连接池指标跟踪器;在仪表注册表注册数据库连接池监控指标;对外暴露服务;实现了应用数据库连接池监控组件的构建。可以通过prometheus监控系统轻松监控到应用的jvm指标信息和数据库连接池指标信息,应用升级接入方式简单灵活,代码改动量少,不影响应用的正常业务功能,尽可能降低了应用升级带来的风险和测试成本。
附图说明
37.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为本公开公开的一种应用数据库连接池监控组件构建方法实施例1的方法流程图;
39.图2为本公开公开的一种应用数据库连接池监控组件构建方法实施例2的方法流
程图;
40.图3为本公开公开的一种应用数据库连接池监控组件构建方法实施例3的方法流程图;
41.图4为本公开公开的一种应用数据库连接池监控组件构建系统实施例1的结构示意图;
42.图5为本公开公开的一种应用数据库连接池监控组件构建系统实施例2的结构示意图;
43.图6为本公开公开的一种应用数据库连接池监控组件构建系统实施例2的结构示意图;
44.图7为本公开公开一种应用数据库连接池监控组件构建方法构建的springboot1.5.x版本对应的应用数据库连接池监控组件;
45.图8为本公开公开一种应用数据库连接池监控组件构建方法构建的springboot2.3.x版本对应的应用数据库连接池监控组件。
具体实施方式
46.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
47.如图1所示,为本公开公开的一种应用数据库连接池监控组件构建方法实施例1的方法流程图。
48.具体的:
49.s101.配置prometheus指标监控接口;
50.可利用prometheusmetricsexportautoconfiguration实现自动配置。
51.s102.实例化仪表注册表、收集器注册表;
52.本步骤中,将prometheusmeterregistry仪表注册表对象及collectorregistry对象进行实例化。
53.s103.配置数据库连接池监控指标;
54.通过customdatasourcepoolmetricsautoconfiguration,可实现数据库连接池监控指标的自动配置。
55.s104.加载数据库连接池指标跟踪器;
56.s105.在仪表注册表注册数据库连接池监控指标;
57.s106.对外暴露服务。
58.对外暴露http服务,提供health、metrics、prometheus等端点功能。当用户请求actuator执行器的prometheus端点时,即可从prometheusmeterregistry指标注册表中依次获取所有成功注册地指标,返回封装后的指标数据。
59.现有技术中,springboot1.x和springboot2.x版本对于数据库连接池工具的监控支持较少,除了springboot默认使用地hikaricp数据库连接池工具自身具备并提供metrics指标功能外,其他常用的数据库连接池工具自身均不支持提供metrics指标功能,并缺少与micormeter框架和prometheus框架适配的功能组件。springboot框架的actuator监控组件也不支持相关数据库连接池工具适配,仅提供了数据库连接池metircs信息扩展接口,且接口支持的指标项较少,不足以满足生产环境的应用监控需求。本公开公开了一种应用数据库连接池监控组件构建方法,能够实现基于micrometer框架的springboot java应用数据库连接池性能数据收集组件。采用开源的prometheus监控解决方案,springboot框架java应用通过集成自主研发地数据库连接池指标收集器组件和springbootactuator等组件,实现对基于springboot框架的java web应用性能监控,自动实时地获取应用的数据库连接池指标和jvm指标等其他指标信息,存储到prometheus服务器,通过grafana工具定制化绘制可视化监控面板,方便用户直观便捷地查询每个应用的性能指标。使用grafana的alerting组件,配置自定义告警规则,实现监控告警功能。
60.在上述方法实施例1的基础上,如图2所示,为本公开公开的一种应用数据库连接池监控组件构建方法实施例2的方法流程图。
61.具体的:
62.s201.配置prometheus指标监控接口;
63.可利用prometheusmetricsexportautoconfiguration实现自动配置。
64.s202.实例化仪表注册表、收集器注册表;
65.本步骤中,将prometheusmeterregistry仪表注册表对象及collectorregistry对象进行实例化。
66.s203.配置数据库连接池监控指标;
67.通过customdatasourcepoolmetricsautoconfiguration,可实现数据库连接池监控指标的自动配置。
68.s204.确定数据源对象类型;
69.数据源的类型包括druid、basic及tomcat。
70.s205.基于数据源对象类型加载对应的数据库连接池指标跟踪器;
71.当数据源对象类型为druid,加载druid数据库连接池指标跟踪器;当数据源对象类型为basic,加载dbcp2数据库连接池指标追踪器;当数据源对象类型为tomcat,加载tomcatjdbc数据库连接池指标追踪器。
72.s206.在仪表注册表注册数据库连接池监控指标;
73.s207.对外暴露服务。
74.综上所述,本实施例在上述方法实施例1的基础上,在加载数据库连接池指标跟踪器之前,先确定数据源对象类型,再基于数据源对象类型加载对应的数据库连接池指标跟踪器。完善了springboot应用监控功能,支持多种常用的数据库连接池工具监控,补了充springboot框架官方监控方案的缺失和常用数据库连接池工具自身监控方案的不足。
75.在上述方法实施例1的基础上,如图3所示,为本公开公开的一种应用数据库连接池监控组件构建方法实施例3的方法流程图。
76.具体的:
77.s301.配置prometheus指标监控接口;
78.可利用prometheusmetricsexportautoconfiguration实现自动配置。
79.s302.实例化仪表注册表、收集器注册表;
80.本步骤中,将prometheusmeterregistry仪表注册表对象及collectorregistry对象进行实例化。
81.s303.配置数据库连接池监控指标;
82.通过customdatasourcepoolmetricsautoconfiguration,可实现数据库连接池监控指标的自动配置。
83.s304.加载数据库连接池指标跟踪器;
84.s305.在仪表注册表注册数据库连接池监控指标;
85.s306.确定springboot版本信息;
86.当采用springboot1.5.x版本时,需要采用micrometer-spring-legacy组件对外暴露服务。
87.s307.基于springboot版本信息对应的组件对外暴露服务。
88.若为springboot1.5.x版本,利用springbootactuator组件、micrometerregistryprometheus组件及micrometer-spring-legacy组件对外暴露服务;否则,利用springbootactuator组件及micrometerregistryprometheus组件对外暴露服务。
89.综上所述,本实施例在上述方法实施例1的基础上,针对不同版本的springboot,采用了不同的暴露服务的组件。如图7所示为springboot1.5.x版本对应的应用数据库连接池监控组件;如图8所示为springboot2.3.x版本对应的应用数据库连接池监控组件。
90.如图4所示,为本公开公开的一种应用数据库连接池监控组件构建系统实施例1的结构示意图。
91.具体的:
92.接口配置模块401,用于配置prometheus指标监控接口;
93.可利用prometheusmetricsexportautoconfiguration实现自动配置。
94.实例化模块402,用于实例化仪表注册表、收集器注册表;
95.本步骤中,将prometheusmeterregistry仪表注册表对象及collectorregistry对象进行实例化。
96.指标配置模块403,用于配置数据库连接池监控指标;
97.通过customdatasourcepoolmetricsautoconfiguration,可实现数据库连接池监控指标的自动配置。
98.加载模块404,用于加载数据库连接池指标跟踪器;
99.注册模块405,用于在仪表注册表注册数据库连接池监控指标;
100.暴露模块406,用于对外暴露服务。
101.对外暴露http服务,提供health、metrics、prometheus等端点功能。当用户请求actuator执行器的prometheus端点时,即可从prometheusmeterregistry指标注册表中依次获取所有成功注册地指标,返回封装后的指标数据。
102.现有技术中,springboot1.x和springboot2.x版本对于数据库连接池工具的监控支持较少,除了springboot默认使用地hikaricp数据库连接池工具自身具备并提供
metrics指标功能外,其他常用的数据库连接池工具自身均不支持提供metrics指标功能,并缺少与micormeter框架和prometheus框架适配的功能组件。springboot框架的actuator监控组件也不支持相关数据库连接池工具适配,仅提供了数据库连接池metircs信息扩展接口,且接口支持的指标项较少,不足以满足生产环境的应用监控需求。本公开公开了一种应用数据库连接池监控组件构建系统,能够实现基于micrometer框架的springboot java应用数据库连接池性能数据收集组件。采用开源的prometheus监控解决方案,springboot框架java应用通过集成自主研发地数据库连接池指标收集器组件和springbootactuator等组件,实现对基于springboot框架的java web应用性能监控,自动实时地获取应用的数据库连接池指标和jvm指标等其他指标信息,存储到prometheus服务器,通过grafana工具定制化绘制可视化监控面板,方便用户直观便捷地查询每个应用的性能指标。使用grafana的alerting组件,配置自定义告警规则,实现监控告警功能。
103.在上述系统实施例1的基础上,如图5所示,为本公开公开的一种应用数据库连接池监控组件构建系统实施例2的结构示意图。
104.具体的:
105.接口配置模块401,用于配置prometheus指标监控接口;
106.可利用prometheusmetricsexportautoconfiguration实现自动配置。
107.实例化模块402,用于实例化仪表注册表、收集器注册表;
108.本步骤中,将prometheusmeterregistry仪表注册表对象及collectorregistry对象进行实例化。
109.指标配置模块403,用于配置数据库连接池监控指标;
110.通过customdatasourcepoolmetricsautoconfiguration,可实现数据库连接池监控指标的自动配置。
111.对象类型确定单元4041,用于确定数据源对象类型;
112.数据源的类型包括druid、basic及tomcat。
113.加载单元4042,用于基于数据源对象类型加载对应的数据库连接池指标跟踪器;
114.当数据源对象类型为druid,加载druid数据库连接池指标跟踪器;当数据源对象类型为basic,加载dbcp2数据库连接池指标追踪器;当数据源对象类型为tomcat,加载tomcatjdbc数据库连接池指标追踪器。
115.注册模块405,用于在仪表注册表注册数据库连接池监控指标;
116.暴露模块406,用于对外暴露服务。
117.对外暴露http服务,提供health、metrics、prometheus等端点功能。当用户请求actuator执行器的prometheus端点时,即可从prometheusmeterregistry指标注册表中依次获取所有成功注册地指标,返回封装后的指标数据。
118.综上所述,本实施例在上述系统实施例1的基础上,在加载数据库连接池指标跟踪器之前,先确定数据源对象类型,再基于数据源对象类型加载对应的数据库连接池指标跟踪器。完善了springboot应用监控功能,支持多种常用的数据库连接池工具监控,补了充springboot框架官方监控方案的缺失和常用数据库连接池工具自身监控方案的不足。
119.在上述系统实施例1的基础上,如图6所示,为本公开公开的一种应用数据库连接池监控组件构建系统实施例3的结构示意图。
120.具体的:
121.接口配置模块401,用于配置prometheus指标监控接口;
122.可利用prometheusmetricsexportautoconfiguration实现自动配置。
123.实例化模块402,用于实例化仪表注册表、收集器注册表;
124.本步骤中,将prometheusmeterregistry仪表注册表对象及collectorregistry对象进行实例化。
125.指标配置模块403,用于配置数据库连接池监控指标;
126.通过customdatasourcepoolmetricsautoconfiguration,可实现数据库连接池监控指标的自动配置。
127.加载模块404,用于加载数据库连接池指标跟踪器;
128.注册模块405,用于在仪表注册表注册数据库连接池监控指标;
129.版本确定单元4061,用于确定springboot版本信息;
130.当采用springboot1.5.x版本时,需要采用micrometer-spring-legacy组件对外暴露服务。
131.暴露单元4062,用于基于springboot版本信息对应的组件对外暴露服务。
132.若为springboot1.5.x版本,利用springbootactuator组件、micrometerregistryprometheus组件及micrometer-spring-legacy组件对外暴露服务;否则,利用springbootactuator组件及micrometerregistryprometheus组件对外暴露服务。
133.综上所述,本实施例在上述方法实施例1的基础上,针对不同版本的springboot,采用了不同的暴露服务的组件。如图7所示为springboot1.5.x版本对应的应用数据库连接池监控组件;如图8所示为springboot2.3.x版本对应的应用数据库连接池监控组件。
134.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置或系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
135.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
136.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
137.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本公开。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1