本发明涉及数据监控的技术领域,尤其涉及一种监控数据实时上推方法,以及监控数据实时上推系统。
背景技术:
在数据监控方面,目前一般是通过应用程序将监控数据实时上推到监控系统的客户端,或者转发给专门的服务负责集中上推。
但是,存在如下缺陷:
1、每个应用程序都要实现繁琐和死板的发送格式化监控数据的模块。
2、应用程序需要保存原始的历史数据,因为监控系统保存的数据是格式化之后的,不便于检索。
技术实现要素:
为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种监控数据实时上推方法,其省略各应用程序监控数据上推代码块,监控数据格式的配置更加灵活,实现了数据格式的集中化配置和数据的集中化上推,保证了数据上推的实时性。
本发明的技术方案是:这种监控数据实时上推方法,该方法包括以下步骤:
(1)将被监控的应用程序的数据保存到数据库,以便保存历史记录和数据库监控服务器检查数据的变化;
(2)数据库监控服务器检查数据库的变化,当接收到来自数据库监控客户端服务的请求时,将返回数据,数据包括修改或添加过的记录;
(3)根据数据库的配置抽取出需要上推到监控平台的数据;
(4)日志配置对数据格式化,之后数据库监控客户端再上推到监控客户端;
(5)监控客户端将接收到的数据输入到监控系统中。
本发明使用通用化监控数据格式配置表,省略每个应用程序的发送格式化监控数据代码模块,只需要在数据库中配置即可;应用程序只需要把监控数据保存到数据库即可,由专门的应用程序负责检查数据库的变化,读取到变化的数据,根据监控数据配置表进行格式化后发送到监控系统的数据接收端,实现集中化的监控数据格式化和监控数据上推。
还提供了一种监控数据实时上推系统,该系统包括:
数据库,其配置来检查输入的参数是否合法;
数据库监控服务器,其配置来将被监控的应用程序的数据保存到数据库,以便保存历史记录和数据库监控服务器检查数据的变化;
数据库监控客户端,其配置来检查数据库的变化,当接收到来自数据库监控客户端服务的请求时,将返回数据,数据包括修改或添加过的记录,并将格式化的数据上推到监控客户端;
日志配置,其配置来存放数据格式化配置,对数据格式化;
监控客户端,其配置来将接收到的数据输入到监控系统中。
附图说明
图1所示为根据本发明的监控数据实时上推方法的流程图。
图2所示为根据本发明的监控数据实时上推系统的示意图。
具体实施方式
如图1所示,这种监控数据实时上推方法,该方法包括以下步骤:
(1)将被监控的应用程序的数据保存到数据库,以便保存历史记录和数据库监控服务器检查数据的变化;
(2)数据库监控服务器检查数据库的变化,当接收到来自数据库监控客户端服务的请求时,将返回数据,数据包括修改或添加过的记录;
(3)根据数据库的配置抽取出需要上推到监控平台的数据;
(4)日志配置对数据格式化,之后数据库监控客户端再上推到监控客户端;
(5)监控客户端将接收到的数据输入到监控系统中。
本发明使用通用化监控数据格式配置表,省略每个应用程序的发送格式化监控数据代码模块,只需要在数据库中配置即可;应用程序只需要把监控数据保存到数据库即可,由专门的应用程序负责检查数据库的变化,读取到变化的数据,根据监控数据配置表进行格式化后发送到监控系统的数据接收端,实现集中化的监控数据格式化和监控数据上推。
另外,所述数据库为mysql数据库,所述数据库监控服务器为开源的canal-server工具,所述日志配置存放在mysql数据库中一张表,所述数据库监控客户端为自定义的一个基于canal-client的应用程序,所述监控客户端为open-falcon系统自带的数据接收客户端。
另外,所述步骤(3)中,数据格式化配置包括:数据库、表名称、字段。
另外,所述日志配置按照open-falcon的监控数据上推格式要求设计。
另外,所述数据库开启主从同步功能,并且采用binlog_format=row。
另外,所述被监控的应用程序的数据是数值。
另外,一条数据库记录如果包含多个数值字段,产生多条格式化的监控数据。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种监控数据实时上推系统,该系统通常以与方法各步骤相对应的功能模块的形式表示。使用该方法的系统包括:
数据库,其配置来检查输入的参数是否合法;
数据库监控服务器,其配置来将被监控的应用程序的数据保存到数据库,以便保存历史记录和数据库监控服务器检查数据的变化;
数据库监控客户端,其配置来检查数据库的变化,当接收到来自数据库监控客户端服务的请求时,将返回数据,数据包括修改或添加过的记录,并将格式化的数据上推到监控客户端;
日志配置,其配置来存放数据格式化配置,对数据格式化;
监控客户端,其配置来将接收到的数据输入到监控系统中。
如图2所示,本发明包括以下部分:
1application:需要被监控的应用程序。
2data base(数据库):应用程序需要将数据保存到数据库,便于保存历史记录和db monitor server检查数据的变化。
3db monitor server(数据库监控服务器):负责检查数据库的变化,当接收到来自db monitor client服务的请求时,将返回修改或添加过的记录。
4log config(日志配置):存放数据格式化配置。包括数据库、表名称、字段和其他信息,便于db monitor client查询。
5db monitor client(数据库监控客户端):定期请求db monitor server,获取到数据后,如果log config中有关于该数据的配置项,会对数据格式化,之后再上推到monitor client。否则不做处理。
6monitor client(监控客户端):监控系统的数据接收端,将接受到的数据输入到监控系统中去。
本发明实现方案的具体过程如下:
1、基础框架(Framework)
mysql、open-falcon
2、各模块结构(Modules)
●application:应用程序。
●data base:mysql数据库。
●db monitor server:开源的canal-server工具。
●log config:存放在mysql数据库中一张表。
●db monitor client:自己实现的一个基于canal-client的应用程序
●monitor client:open-falcon系统自带的数据接收客户端。
3、约定和规范
●监控数据格式的配置表需要按照open-falcon的监控数据上推格式要求设计
●data base需要开启主从同步功能,并且采用binlog_format=row
●被监控项只能是数值而不能是文本或者其他非数值格式
●一条数据库记录如果包含多个数值字段,可以产生多条格式化监控数据
4、格式化参数(Params)
●输入(in):
√record:应用程序写入数据库的记录
●输出(out):
√json格式化监控数据:db monitor client的输出的监控数据格式
5、编码实现(Programs)
●Coding:按照约定的格式和协议实现db monitor client
6、构建部署(Build)
●Ubuntu12.04.4
●Mysql5.5
●Canal
●Open-falcon0.1.0
本发明的有益效果如下:
1、省略各应用程序监控数据上推代码块;
2、监控数据格式的配置更加灵活;
3、实现了数据格式的集中化配置和数据的集中化上推;
4、保证了数据上推的实时性。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。