一种通用的轻量级数据库状态监控方法

文档序号:6444596阅读:220来源:国知局
专利名称:一种通用的轻量级数据库状态监控方法
技术领域
本发明涉及数据库状态监控方法,特别是涉及一种通用的轻量级数据库状态监控方法。
背景技术
数据库状态监控是指监控指定的数据库指标,技术管理人员通过监控报表的反馈对数据库的状态进行分析,能有针对性地对数据库和其应用系统进行适当调整,提升服务效率。目前对数据库状态监控常采用的实现方式为预先确定需要监控的服务器地址和数据库类型,选择匹配的监控方案;分别配置监控项,如果有多台服务器,则需要配置多个监控项目;系统调用接口登录到配置好的服务器,收集数据库状态数据;将获取的数据库各项状态值保存至服务器;技术管理人员登录管理接口,查看收集到的指定服务器的状态信息,如果有多个服务器需要监控,则需要分别到不同的接口中查看。但上述所采用的数据库状态统计系统大多只是针对某一款数据库产品,统计信息的收集和展示只针对某一台数据库,而对于多系统多平台的支持较为有限,不利于大型企业维护人员统筹管理。同时,现有的实现方式还存在实时性较差,统计数据的收集时间不可控等问题,有可能出现由于统计时间过短或过长,致使统计结果严重偏离服务器当前实际现状,不能准确反映服务器的实际状态的现象。

发明内容
为避免以上现有技术的不足,本发明提供一种通用的轻量级数据库状态监控方法。以解决对多种数据库平台及多个数据库服务器配置状态的监控问题。本发明的技术方案如下
一种通用的轻量级数据库状态监控方法,该方法包括
1)通过监控服务器对对要监控的本地数据库服务器或其他具有访问权限的数据库服务器不同种类的数据库状态信息进行采集;
2)将采集的数据存入临时文件并进行格式转换;
3)对转换后的数据按照用户设置的时间间隔存储到监控数据库服务器,并生成 RRDT00L 数据;
4)读取RRDT00L数据,并生成图片,同时给数据库维护人员发送通知信息。进一步,所述的监控服务器上设置有采集接口,该采集接口根据待监控数据库不同的数据库类型进行分类采集。进一步,所述对数据库服务器的状态信息包括服务器的IP端口值和或数据库的类型。
进一步,所述对数据库服务器的状态信息进行采集时按照设定的时间频率进行采集。进一步,所述格式转换包括自动对采集的数据提取相应的采集时间、采集数据的 IP地址或按照某个性能指标值对采集数据进行筛选,并将所述的采集时间、采集数据的IP 地址或筛选的数据转变为item&item_value形式。进一步,所述发送通知信息包括发送图片、邮件、报表信息。本发明的优点为
1.能够支持多种不同的数据库平台,不同数据库平台的状态监控均可纳入本系统中进行管理;
2.在配置环节减少了操作步骤,对于企业中广泛存在的多个数据库服务器的情况,只需要在配置文件中增加服务器地址和监控项目即可,而无须针对每个服务器进行重复性单独配置;
3.监控方法收集到的状态信息每日自动通过邮件发送至指定邮箱,避免了为浏览不同数据库和不同服务器,而登录不同平台进行重复操作的流程。4.有别于常规监控工具中文字或表格的展示方式,本方法引入了图形化的报表方案,使企业主无须具备专业技术能力,通过浏览和分析图形化报表所体现出的趋势,即可大致了解数据库服务器基本状态信息。


图1 本发明方法的流程图; 图2 本发明具体实施例示意图。
具体实施例方式如图1为本发明方法的流程图,本发明一种通用的轻量级数据库状态监控方法, 该方法包括1)通过监控服务器对对要监控的本地数据库服务器或其他具有访问权限的数据库服务器的状态信息进行采集;2)将采集的数据存入临时文件并进行格式转换;3)对转换后的数据按照用户配置的时间间隔存储到监控数据库服务器,并生成RRDT00L数据; 4)读取RRDT00L数据,并生成图片,同时给数据库维护人员发送通知信息。所述对数据库服务器的状态信息进行采集时,采集服务器的IP端口值和或数据库的类型。所述对数据库服务器的状态信息进行采集时按照设定的时间频率进行采集。所述格式转换包括对采集的数据提取相应的采集时间、采集数据的IP地址或按照某个性能指标值对采集数据进行筛选。 所述发送通知信息包括发送图片、邮件、报表信息。结合图2,对本发明通用的轻量级数据库状态监控方法做详细说明。首先可以部署通过任意一台或多台监控服务器对待监控的数据库服务器的状态信息进行采集,数据库服务器的状态信息包括数据库的IP端口值和或数据库的类型。所述监控服务器上设置有采集接口,该采集接口根据待监控数据库不同的数据库类型进行分类采集。所述采集接口可以放在任何一台服务器上,通常是放在一个固定的服务器上。采集接口上设置有不同的采集模板,对不同的数据库产品区别对待,分别采集不同的数据库状态信息。采集接口在调用采集模板时,根据采集接口中定义的标识来识别数据库的类型,不同数据库类型使用不同的采集模板。所述采集服务器在采集信息时,该采集的信息主要来自于数据库服务器自身提供的信息,例如,对于互联网行业常用的MySQL数据库,可以抓取show global status的返回数据来获取该数据库的状态信息,具体方法是采集时执行mysql命令,而后调用show global status语句,并将结果输出至临时文件;又比如企业常用到的ORACLE数据库,也可以直接抓取oracle数据库动态性能视图v$SySStat中的信息。状态采集程序可以视实际情况,选择在各个被监控的数据库服务器上部署仅监控本地数据库服务的状态,也可以在固定的某个服务器部署,监控所有指定(并拥有访问权限)的数据库服务状态。各个服务器部署的方式比如简单,直接将采集脚本放置在目标服务器的指定位置,并修改连接信息即可;如果在固定节点部署,那么需要额外配置需要采集的服务器列表和连接信息,具体实际方法为,额外增加配置文件,保存所有需要监控服务器列表、端口和服务类型。采集到的信息会被存入临时文件,信息采集脚本被设置为定时执行,采集频率根据实际需求,按照最有助于后期分析的时间间隔进行收集。不同数据库平台,其所提示的数据库服务状态的形式均不一致,但是对采集的数据状态信息抽象化后我们可以将转变为item & item_valUe的形式,这种操作我们将其定义为数据的格式化,也即是用来对收集到的原始数据进行格式化。具体做法是,分析临时文件,按照分隔符拆分,取出具有代表意义的名称,和它对应的状态值,这样即可确保所有的指定均有一个item及其对象的item_value。考虑到采集频率较高时,数据规模将会比较大,可在此处对采集到的数据进行二次过滤,去掉那些不被关注的item ;同时,对于某些数据库没有直接提供的状态指标,比如像read_write_ratio, transaction_per_sec, buffer_hit_radiο 等等极重要的数据库性能指标,也可在此处通过定制的方式生成相应的item_Value。除了对数据进行过滤和补充外,在对采集数据进行格式化数据时,会自动调用数据格式化脚本,一般无须关注和修改,只有当需要新增监控的状态项或过滤规则时才需要修改该脚本。格式化时会将不同数据库类型的状态值,按照配置好的模板转换成通用的SQL 语句,以INSERT语句的形式体现,处理后的结果保存在文件中。为达到最大粒度(指采集到数据的详尽程度)的定制化,每个被监控的数据库的每一个时间点统计到的每个状态值均会生成唯一的一条记录,例如前面收集到的MySQL性能数据1nn0db_data_Written
17377拟94272〃,处理并格式化后形式为〃insert into db_info_detail_log values (’Innodb_data_written',’ 173778294272’,’ 2011-11-22 21:00:00’,3306,’ 192. 168. 1. 1 01’)"。预处理完成后,临时文件即可被删除。为便于后期管理和分析,创建专用数据库,并执行生成的SQL,将数据保存在该专用的分析数据库中。由于数据库中收集到的统计数据通常都是该数据库服务长期运行的累计状态值,从形式上来看具有递增的特点,不利于分析,因此当完成插入数据到专用的分析数据库后,需要执行数据分析脚本,根据当前采集到的数据和历史数据,按照指定的时间间隔进行加减运算,生成一定时间段内的实际状态值。以MySQL数据库采集到的数据为例, 将,2011-11-22 21:00:00'与’ 2011-11-22 20:30:00'两个时间点的数据进行对比,即得可出2011-11-22日20:30到21 00之间,这半个小时区间段内MySQL数据库的实际状态信息,生成的这部分信息也保存至专用的分析数据库中。图形化展示层引入RRDT00L开源工具,执行脚本读取前面最终生成的各项状态信息,通过RRDT00L的命令行工具,保存至其专用的RRD文件中,考虑到粒度大小的支持,各数据库和各参数拥有独立的RRD文件。后台设置任务定时通过RRDT00L生成各项状态的图片文件,并将其发送至指定邮箱。本发明这种方法能对多种数据库平台及多个数据库服务器配置状态进行监控问题,提高了工作效率,方便了企业管理。应当理解,以上借助优选实施例对本发明的技术方案进行的说明是示意性的而非限制性的。本领域的普通技术人员在上述实施例的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种通用的轻量级数据库状态监控方法,其特征在于,该方法包括1)通过监控服务器对对要监控的本地数据库服务器或其他具有访问权限的数据库服务器不同种类的数据库状态信息进行采集;2)将采集的数据存入临时文件并进行格式转换;3)对转换后的数据按照用户设置的时间间隔存储到监控数据库服务器,并生成 RRDT00L 数据;4)读取RRDT00L数据,并生成图片,同时给数据库维护人员发送通知信息。
2.根据权利要求1所述的一种通用的轻量级数据库状态监控方法,其特征在于,所述的监控服务器上设置有采集接口,该采集接口根据待监控数据库不同的数据库类型进行分类采集。
3.根据权利要求1所述的一种通用的轻量级数据库状态监控方法,其特征在于,所述对数据库服务器的状态信息包括服务器的IP端口值和或数据库的类型。
4.根据权利要求1所述的一种通用的轻量级数据库状态监控方法,其特征在于,所述对数据库服务器的状态信息进行采集时按照设定的时间频率进行采集。
5.根据权利要求1所述的一种通用的轻量级数据库状态监控方法,其特征在于,所述格式转换包括自动对采集的数据提取相应的采集时间、采集数据的IP地址或按照某个性能指标值对采集数据进行筛选,并将所述的采集时间、采集数据的IP地址或筛选的数据转变为 item&item—value 形式。
6.根据权利要求1所述的一种通用的轻量级数据库状态监控方法,其特征在于,所述发送通知信息包括发送图片、邮件、报表信息。
全文摘要
本发明涉及一种通用的轻量级数据库状态监控方法,该方法包括1)通过监控服务器对对要监控的本地数据库服务器或其他具有访问权限的数据库服务器不同种类的数据库状态信息进行采集;2)将采集的数据存入临时文件并进行格式转换;3)对转换后的数据按照用户配置的时间间隔存储到监控数据库服务器,并生成RRDTOOL数据;4)读取RRDTOOL数据,并生成图片,同时给数据库维护人员发送通知信息。本发明能够支持多种不同的数据库平台,不同数据库平台的状态监控均可纳入本系统中进行管理。
文档编号G06F17/30GK102567531SQ20111045635
公开日2012年7月11日 申请日期2011年12月30日 优先权日2011年12月30日
发明者李丙洋, 梅春, 潘海东 申请人:互动在线(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1