本发明涉及计算机应用技术领域,具体涉及一种实时监控mysql数据库的系统及其监控方法。
背景技术:
随着互联网和计算机应用技术的不断发展,mysql开源数据库在各个方面都得到迅速的应用,有些应用业务场景需要实时地监测mysql数据库的语句执行情况,并且对其进行统计分析,以满足各种业务场景的需求。
技术实现要素:
本发明解决的技术问题之一在于提供一种实时监控mysql数据库的系统,为有需要此业务场景的系统提供应用,简化业务流程,提高效率。
本发明解决的技术问题之二在于提供一种实时监控mysql数据库系统的监控方法,实现对mysql数据库的实时监控。
本发明解决上述技术问题之一的技术方案是:
所述系统主要由文件配置器、日志缓冲器和监视器组成;文件配置器主要负责配置文件的读取以及初始化;日志缓冲器负责对mysql产生的日志文件进行快速的读取,缩短读取的时间;监视器负责对注册对象进行管理,并且通知注册对象相应的事件和动作,对日志进行监控和分析。
所述的监视器由注册对象队列管理器、分析统计器、事件通知器和日志监视器构成;注册对象队列管理器主要负责对注册到监视器的对象进行管理,包括注册对象生命周期的管理;分析统计器负责对日志各种执行语句进行统计分析,形成统计结果;事件通知器负责把数据库执行的动作通知到注册对象队列里的对象;日志监视器负责对日志内容的变化等进行监测,并通知事件通知器和分析统计器。
所述的文件配置器自动监测操作系统类型,根据操作系统类型到默认的位置搜索mysql数据库的安装信息,并且把安装的信息写入配置文件,如果找不到则提示人工输入配置信息,包括统计数据的信息。
日志缓冲器能够动态实时地把生成的日志信息读入内存,能够对日志的内容进行随机快速地访问,为监视器提供访问。
本发明解决上述技术问题之二的技术方案是:
所述方法包括如下流程:
(1)日志监视器对日志进行监测,如果有日志内容生成,则读取其内容;
(2)日志监视器把读取到的日志内容发送到分析统计器;
(3)分析统计器对日志内容进行分析归类,把统计结果记录到配置的统计结果文件;
(4)分析统计器把分析的结果发送到事件通知器;
(5)事件通知器根据分析结果的类型给队列里的注册对象发送相应的消息类型。
本发明通过文件配置器、日志缓冲器和监视器组成组成的框架,有效实现了实时监控mysql数据库,为有需要此业务场景的系统提供应用,简化业务流程,提高效率。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明的系统架构图;
图2是本发明监控器的架构图;
图3是本发明的流程图;
图4是本发明监视器的流程图。
具体实施方式
见图1、2所示,所述系统主要由文件配置器、日志缓冲器和监视器组成。文件配置器主要负责配置文件的读取以及初始化;日志缓冲器负责对mysql产生的日志文件进行快速的读取,缩短读取的时间;监视器负责对注册对象进行管理,并且通知注册对象相应的事件和动作,对日志进行监控和分析。
上述监视器由以下部分构成:注册对象队列管理器、分析统计器、事件通知器和日志监视器。注册对象队列管理器主要负责对注册到监视器的对象进行管理,例如注册对象生命周期的管理;分析统计器负责对日志各种执行语句进行统计分析,形成统计结果;事件通知器负责把数据库执行的动作通知到注册对象队列里的对象;日志监视器负责对日志内容的变化等进行监测,并通知事件通知器和分析统计器。
整个工作详细流程如下:
1、监视器对文件配置器发起配置文件的信息;
2、文件配置器根据当前操作系统的类型,对默认的安装环境进行搜索,并配置和初始化各种参数,包括日志分析结果的配置;
3、启动日志缓冲器,把日志内容读取到缓冲器;
4、监视器对日志缓冲器进行监控,当日志内容发生变化后,监视器对变化的日志内容进行分析;
5、监视器把分析结果按照配置文件配置的参数记录分析统计结果。
见图3所示,系统的工作流程如下:
1、系统根据当前操作系统的类型对配置文件进行默认配置,如果无法进行默认配置,则需要人工配置;
2、配置完毕后,进行各个参数的初始化工作;
3、把数据库日志读取到缓冲器里;
4、对增量日志的内容进行分析;
5、把分析结果写入分析记录文件;
6、通知注册队列里的对象。
见图4所示,监视器的流程如下:
1、日志监视器监测日志是否有内容变化,如果有内容上的变化则通知分析统计器;
2、分析统计器分析内容后,把分析统计结果记录下来;
3、事件通知器根据分析的结果,产生相应的事件类型;
4、对在注册对象队列里的对象做相应的事件调用,形成监控。