一种动态数据库连接池实现DB监控的方法技术

技术编号:22329935 阅读:42 留言:0更新日期:2019-10-19 12:14
本发明专利技术提供了一种动态数据库连接池实现DB监控的方法,用户创建/删除数据库实例‑监控目标,MQ传递新建/删除动作和目标实例数据库信息;连接池管理器建立/删除相应Ip连接池;在Quratz定时器辅助下,定时扫描目标集合;依据DB类型和IP获取ConnectionPoolManager中相应连接池并获取当前活跃链接,如没有活跃链接会自动创建新的连接。本发明专利技术通过无Agent方式监控数据库,并连接池随监控目标动态变化,无侵入,易扩展,适用于多种数据库类型。

A method of DB monitoring based on dynamic database connection pool

【技术实现步骤摘要】
一种动态数据库连接池实现DB监控的方法
本专利技术涉及一种动态数据库连接池实现DB监控的方法。
技术介绍
目前主流数据库性能指标监控,主要由工具如zabbix、nagios、cacti等通过自身丰富插件或自开发脚本来实现特定指标监控或由Agent方式监控目标。Agent方式对目标入侵性高,占用目标机资源,且Agent方式不便于监控目标的动态扩展。Agent在目标机中进程,可能会受到用户或其它操作影响。工具如Zabbix、Nagios等配置繁琐,各式脚本或插件同样需要运行在目标端。
技术实现思路
有鉴于此,本专利技术旨在提出一种动态数据库连接池实现DB监控的方法,以解决上述
技术介绍
中提到的问题。为达到上述目的,本专利技术的技术方案是这样实现的:一种动态数据库连接池实现DB监控的方法,通过MQ传递目标创建和删除目标操作的消息,应用监听消息后ConnectionPoolManager动态创建/删除相应目标的连接池。进一步的,具体包括如下步骤:(1)用户创建新的监控目标,MQ传递新建动作和目标数据库信息;(2)连接池管理器建立相应Ip连接池;(3)在Quratz定时器辅助下,定时扫描目标集合;(4)依据DB类型和IP获取ConnectionPoolManager中相应连接池并获取当前活跃链接,如没有活跃链接会自动创建新的连接。进一步的,所述步骤(1)中,MQ传递新建动作和目标数据库信息包括但不限于Ip,port,username,password,DB_type。进一步的,所述步骤(2)中,连接池由ConcurrentHashMap来实现,键值为数据库类型和IP拼接。进一步的,数据库可以为MySQL、Oracle或postgresql。相对于现有技术,本专利技术所述的一种动态数据库连接池实现DB监控的方法具有以下优势:本专利技术通过无Agent方式监控数据库,并连接池随监控目标动态变化,无侵入,易扩展,适用于多种数据库类型。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例所述的一种动态数据库连接池实现DB监控的方法原理示意图。具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。本专利技术主要通过MQ传递目标创建和删除目标操作的消息,应用监听消息后ConnectionPoolManager动态创建/删除相应目标的连接池。如图所1所示,受监控数据库可以为MySQL、Oracle或postgresql等。当用户创建新的监控目标,MQ传递新建动作和目标数据库信息如Ip,port,username,password,DB_type等,连接池管理器建立相应Ip连接池,该连接池可以由ConcurrentHashMap来实现,键值为数据库类型和IP拼接。在Quratz定时器辅助下,定时扫描目标集合如每分钟,依据DB类型和IP获取ConnectionPoolManager中相应连接池并获取当前活跃链接如没有活跃链接会自动创建新的连接,执行相应指标收集语句后通过Druid批量持久化到性能监控数据库内供上层应用展示。具体操作过程:首先实例管理类监听特定队列,消费消息,持久化并创建/删除相应实例DB连接池,并用ConcurrentHashMap维护起来,DB类型和ip拼接作为key,IConnectionPool作为Value。连接池由DBmodel类PropertyBean和AbstractPropertyBean来初始化基础配置如用户名、密码、驱动、最小最大连接数等,相同关系型数据库属性属于父类。项目启动时,加载定时任务如实例定时扫描任务、历史数据清除任务等。定时扫描如每分钟,获取监控目标并加入单线程阻塞队列,消费队列分发给相应处理线程池(不同数据库),调用相应指标抓取类。指标抓取类通过目标基础信息建立与目标端连接,并加载相应SQL列表从SQLXML文件中,持久化来提供外部接口请求。不同指标语句通过XML标签来维护,结构依据需求可以自行定义,本应用只涉及基础SQL。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种动态数据库连接池实现DB监控的方法,其特征在于:通过MQ传递目标创建和删除目标操作的消息,应用监听消息后ConnectionPoolManager动态创建/删除相应目标的连接池。

【技术特征摘要】
1.一种动态数据库连接池实现DB监控的方法,其特征在于:通过MQ传递目标创建和删除目标操作的消息,应用监听消息后ConnectionPoolManager动态创建/删除相应目标的连接池。2.根据权利要求1所述的一种动态数据库连接池实现DB监控的方法,其特征在于:具体包括如下步骤:(1)用户创建新的监控目标,MQ传递新建动作和目标数据库信息;(2)连接池管理器建立相应Ip连接池;(3)在Quratz定时器辅助下,定时扫描目标集合;(4)依据DB类型和IP获取ConnectionPoolManager中相应连接池并获取当前活跃链接,如没有...

【专利技术属性】
技术研发人员:于占水张辰
申请(专利权)人:紫光云技术有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1