自动监控数据库服务的方法、存储介质、电子设备及系统与流程

文档序号:14036701阅读:185来源:国知局
自动监控数据库服务的方法、存储介质、电子设备及系统与流程

本发明涉及数据库服务技术领域,具体涉及一种自动监控数据库服务的方法、存储介质、电子设备及系统。



背景技术:

由于互联网业务发展较快,对数据库服务扩展和收缩的要求非常高,这也对监控服务增加了很多新的挑战。

监控服务不仅要兼顾数据库集群的响应速度,还要针对时刻发生的数据库实例上线和下线等情况,实时调整监控,增加监控活动的灵活性,最终实现监控的自动部署;随着监控要求的响应时间越来越小,越来越多的公司选择时序数据库作为监控的数据库,这里就主要使用prometheus时序数据库作为监控方案,prometheus中文名普罗米修斯,是一款时序数据库,该数据库的主要特点是:只要将相关http的登录页面写入到其配置文件中,普罗米修斯就会主动抓取这个页面的信息,并将该信息保存。但prometheus时序数据库作为监控数据库时,需要将相关的监控对象写入到其配置文件中,才能添加监控,而当数据库实例频繁上下线时,每次更改配置文件不仅比较繁琐耗时,也易出错,因此当数据库上线后,如何发现数据库服务,并自动监控成为一个难题。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种自动监控数据库服务的方法、存储介质、电子设备及系统,实现数据库服务的自动发现和监控,在降低运维成本的同时,及时监控数据库服务。

为达到以上目的,本发明采取的技术方案是:一种自动监控数据库服务的方法,包括以下步骤:

s1,创建第一脚本,通过第一脚本获取服务器上的数据库服务信息并保存至txt文件中,所述数据库服务信息包括数据库服务类型,端口信息和配置文件;

s2,创建第二脚本,通过第二脚本读取txt文件中的所述数据库服务信息,将所述数据库服务信息发送至数据库监控代理客户端,通过监控代理客户端登录到数据库服务中采集监控信息,并将所述监控信息暴露到监控代理客户端的http页面中;

s3,创建第三脚本,通过第三脚本获取监控代理客户端的http页面,并将http页面的地址及访问方式写入到prometheus的配置文件;

s4,通过prometheus数据库加载所述配置文件,并主动抓取所述配置文件中保存的http页面中的监控信息。

在上述技术方案的基础上,步骤s1的具体过程包括:

s101,创建第一脚本,通过第一脚本获取服务器上的数据库服务信息;

s102,判断获取的所述数据库服务信息是否存在于txt文件中;若否,进入步骤s103;若是,进入步骤s104;

s103,将所述数据库服务信息保存至txt文件中,结束;

s104,不修改txt文件,结束。

在上述技术方案的基础上,通过第二脚本读取txt文件中的所述数据库服务信息,并判断数据库服务类型,将所述数据库服务信息发送至数据库服务类型对应的监控代理客户端。

在上述技术方案的基础上,通过第二脚本读取txt文件,获取所述数据库服务信息;

判断数据库类型:

若为redis类型,获取其端口信息及配置文件,通过其配置文件获取redis访问密码,通过redis访问密码启动监控代理客户端;

若为memcached类型,获取其端口信息,通过其端口信息启动监控代理客户端;

若为mongodb类型,获取其端口信息及配置文件,通过其配置文件判断是否设有mongodb访问密码,若设有,通过mongodb访问密码启动监控代理客户端,若不设有,通过其端口信息启动监控代理客户端;

若为mysql类型,获取其端口信息及配置文件,通过其配置文件获取授权以启动监控代理客户端。

本发明还公开了一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法。

本发明还公开了一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序:处理器执行计算机程序时实现所述的方法。

本发明还公开了一种自动监控数据库服务的系统,包括:

数据库服务信息获取模块,其用于创建第一脚本,通过第一脚本获取服务器上的数据库服务信息并保存至txt文件中,所述数据库服务信息包括数据库服务类型,端口信息和配置文件;

代理客户端调用模块,其用于创建第二脚本,通过第二脚本读取txt文件中的所述数据库服务信息,将所述数据库服务信息发送至数据库监控代理客户端,通过监控代理客户端登录到数据库服务中采集监控信息,并将所述监控信息暴露到监控代理客户端的http页面中;

http页面获取模块,其用于创建第三脚本,通过第三脚本获取监控代理客户端的http页面,并将http页面的地址及访问方式写入到prometheus的配置文件;

监控信息获取模块,其用于通过prometheus数据库加载所述配置文件,并主动抓取所述配置文件中保存的http页面中的监控信息。

在上述技术方案的基础上,所述数据库服务信息获取模块通过第一脚本获取服务器上的数据库服务信息;并判断获取的所述数据库服务信息是否存在于txt文件中;若不存在,将所述数据库服务信息保存至txt文件中;若存在,则不修改txt文件。

在上述技术方案的基础上,所述代理客户端调用模块通过第二脚本读取txt文件中的所述数据库服务信息,并判断数据库服务类型,将所述数据库服务信息发送至数据库服务类型对应的监控代理客户端。

在上述技术方案的基础上,所述代理客户端调用模块通过第二脚本读取txt文件,获取所述数据库服务信息;并判断数据库类型:

若为redis类型,获取其端口信息及配置文件,通过其配置文件获取redis访问密码,通过redis访问密码启动监控代理客户端;

若为memcached类型,获取其端口信息,通过其端口信息启动监控代理客户端;

若为mongodb类型,获取其端口信息及配置文件,通过其配置文件判断是否设有mongodb访问密码,若设有,通过mongodb访问密码启动监控代理客户端,若不设有,通过其端口信息启动监控代理客户端;

若为mysql类型,获取其端口信息及配置文件,通过其配置文件获取授权以启动监控代理客户端。

与现有技术相比,本发明的优点在于:

本发明通过第一脚本获取服务器上的数据库服务信息并保存,通过第二脚本读取数据库服务信息,将数据库服务信息发送至数据库监控代理客户端,通过监控代理客户端登录到数据库服务中采集监控信息,并将监控信息暴露到监控代理客户端的http页面中;通过第三脚本获取监控代理客户端的http页面,并将http页面的地址及访问方式写入到prometheus的配置文件;prometheus数据库加载配置文件,主动抓取配置文件中保存的http页面中的监控信息即可实现对数据库服务的自动发现与监控,在降低运维成本的同时,及时监控数据库服务。

附图说明

图1为本发明实施例中自动监控数据库服务的方法的流程示意图;

图2为本发明实施例中电子设备连接框图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种自动监控数据库服务的方法:

s1,创建第一脚本,命名为discover_database.sh脚本。通过第一脚本获取服务器上的数据库服务信息并保存至txt文件中,命名为discover_database.txt。数据库服务信息包括数据库服务类型,端口信息和配置文件。

步骤s1的具体过程包括:

s101,创建第一脚本,通过第一脚本获取服务器上的数据库服务信息;

s102,判断获取的数据库服务信息是否存在于txt文件中;若否,进入步骤s103;若是,进入步骤s104;

s103,将数据库服务信息保存至txt文件中,结束;

s104,不修改txt文件,结束。

s2,创建第二脚本,命名为monitor.sh脚本。通过第二脚本读取txt文件中的数据库服务信息,并判断数据库服务类型,将数据库服务信息发送至数据库服务类型对应的监控代理客户端:

判断数据库类型,若为redis类型,获取其端口信息及配置文件,通过其配置文件获取redis访问密码,通过redis访问密码启动监控代理客户端;若为memcached类型,获取其端口信息,通过其端口信息启动监控代理客户端;若为mongodb类型,获取其端口信息及配置文件,通过其配置文件判断是否设有mongodb访问密码,若设有,通过mongodb访问密码启动监控代理客户端,若不设有,通过其端口信息启动监控代理客户端;若为mysql类型,获取其端口信息及配置文件,通过其配置文件获取授权以启动监控代理客户端。

通过监控代理客户端登录到数据库服务中采集监控信息,并将监控信息暴露到监控代理客户端的http页面中。

s3,创建第三脚本,命名为salt_find_monitor.py脚本。通过第三脚本获取监控代理客户端的http页面,并将http页面的地址及访问方式写入到prometheus的配置文件;

s4,通过prometheus数据库加载配置文件,并主动抓取配置文件中保存的http页面中的监控信息。

本发明通过第一脚本获取服务器上的数据库服务信息并保存,通过第二脚本读取数据库服务信息,将数据库服务信息发送至数据库监控代理客户端,通过监控代理客户端登录到数据库服务中采集监控信息,并将监控信息暴露到监控代理客户端的http页面中;通过第三脚本获取监控代理客户端的http页面,并将http页面的地址及访问方式写入到prometheus的配置文件;prometheus数据库加载配置文件,主动抓取配置文件中保存的http页面中的监控信息即可实现对数据库服务的自动发现与监控,在降低运维成本的同时,及时监控数据库服务。

本发明实施例还公开了一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现自动监控数据库服务的方法。

参见图2所示,本发明实施例还公开了一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现自动监控数据库服务的方法。

本发明实施例还公开了一种自动监控数据库服务的系统,包括:

数据库服务信息获取模块,其用于创建第一脚本,命名为discover_database.sh脚本,通过第一脚本获取服务器上的数据库服务信息并保存至txt文件中,命名为discover_database.txt。数据库服务信息包括数据库服务类型,端口信息和配置文件;

代理客户端调用模块,其用于创建第二脚本,命名为monitor.sh脚本,通过第二脚本读取txt文件中的数据库服务信息,将数据库服务信息发送至数据库监控代理客户端,通过监控代理客户端登录到数据库服务中采集监控信息,并将监控信息暴露到监控代理客户端的http页面中;

http页面获取模块,其用于创建第三脚本,命名为salt_find_monitor.py脚本。通过第三脚本获取监控代理客户端的http页面,并将http页面的地址及访问方式写入到prometheus的配置文件;

监控信息获取模块,其用于通过prometheus数据库加载配置文件,并主动抓取配置文件中保存的http页面中的监控信息。

数据库服务信息获取模块通过第一脚本获取服务器上的数据库服务信息;并判断获取的数据库服务信息是否存在于txt文件中;若不存在,将数据库服务信息保存至txt文件中;若存在,则不修改txt文件。

代理客户端调用模块通过第二脚本读取txt文件中的数据库服务信息,并判断数据库服务类型,将数据库服务信息发送至数据库服务类型对应的监控代理客户端。

代理客户端调用模块通过第二脚本读取txt文件,获取数据库服务信息;并判断数据库类型,若为redis类型,获取其端口信息及配置文件,通过其配置文件获取redis访问密码,通过redis访问密码启动监控代理客户端;若为memcached类型,获取其端口信息,通过其端口信息启动监控代理客户端;若为mongodb类型,获取其端口信息及配置文件,通过其配置文件判断是否设有mongodb访问密码,若设有,通过mongodb访问密码启动监控代理客户端,若不设有,通过其端口信息启动监控代理客户端;若为mysql类型,获取其端口信息及配置文件,通过其配置文件获取授权以启动监控代理客户端。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1