基于salt的数据库错误日志监控系统技术方案

技术编号:16365534 阅读:64 留言:0更新日期:2017-10-10 21:34
本发明专利技术公开了一种基于salt的数据库错误日志监控系统,包括Salt管理端、数据库节点、存储节点和Zabbix服务端;Salt管理端管理salt客户端,分发指令和文件,获取数据库节点上的数据库进程信息,以及采集监控数据。数据库节点是指部署数据库服务的服务器,定期切割错误日志,发送错误日志到salt管理端。存储节点用于存储错误日志,salt管理端收集到所有数据库节点的所有数据库错误日志后,通过salt客户端,发送到存储节点。Zabbix服务端接收监控数据,并根据告警策略进行告警,以及展示监控数据的趋势图。本发明专利技术系统监控部署简单、维护成本低、准确度高且支持多种类型数据库。

Database error log monitoring system based on salt

The invention discloses a salt database error log monitoring system based on Salt, including management terminal, database nodes and storage nodes and Zabbix server; Salt management salt client management, distribution instructions and documents, access to the database node on the database and process information, data acquisition and monitoring. The database node is the server that deploys the database service, periodically logs the error logs, and sends error logs to the salt management side. The storage node is used to store the error log, and all the database error logs collected by the salt management collection to all database nodes are sent to the storage node via the salt client. The Zabbix server receives the monitoring data, alarms it according to the warning strategy, and displays the trend chart of the monitoring data. The invention has the advantages of simple monitoring system, simple deployment, low maintenance cost, high accuracy and support of various types of databases.

【技术实现步骤摘要】
基于salt的数据库错误日志监控系统
本专利技术属于数据库监控领域,主要应用于互联网行业各种类型的数据库监控。
技术介绍
对于互联网公司而言,数据库应用越来越普及,为了提高数据库可用性,需要为数据库部署监控。常规的功能监控无法全面发现数据库故障,因此,需要对数据库错误日志进行监控,及时发现数据库问题,保证数据库服务质量。现有的数据库监控系统及方法的缺点是:(1)维护成本高:操作步骤复杂,需要较多人力,维护成本比较高(2)缺乏自动化:几乎全部需要手动操作,缺少自动化,效率低下(3)监控方案复杂:每次添加监控,会产生大量无用报警,添加操作很复杂,缺乏简便性
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于salt的数据库错误日志监控系统,可以实现多种数据库错误日志监控。本专利技术的目的是通过以下技术方案来实现的:一种基于salt的数据库错误日志监控系统,包括Salt管理端、数据库节点、存储节点和Zabbix服务端;Salt管理端是管理salt客户端的服务,包括salt管理模块、元信息管理模块和采集监控数据模块;Salt管理端管理salt客户端,分发指令和文件,获取数据库节点上的数据库进程信息,以及采集监控数据。数据库节点是指部署数据库服务的服务器,包括错误日志管理模块;不同的数据库服务,端口唯一,每个数据库节点上部署一个salt客户端;数据库节点定期切割错误日志,发送错误日志到salt管理端。存储节点用于存储错误日志,salt管理端收集到所有数据库节点的所有数据库错误日志后,通过salt客户端,发送到存储节点。Zabbix服务端是支持短信和邮件的监控服务器,包括发送监控数据模块和监控数据告警模块;Zabbix服务端接收监控数据,并根据告警策略进行告警,以及展示监控数据的趋势图。进一步地,所述salt管理模块包括:在所有数据库节点部署salt客户端,salt管理端部署在单独的一台服务器上。定期调用salt管理端接口,检查所有的数据库节点上的salt客户端是否注册到salt管理端,如未注册,调用salt管理端接口,注册所述salt客户端;如注册失败,则发送通知给管理员。可选择注销某个数据库节点的salt客户端。在salt管理端,定期检测salt客户端是否通达,如不通,发送通知给管理员。进一步地,所述元信息管理模块包括:Salt管理端定期调用元信息管理模块,更新所述元信息。所述元信息包括数据库节点主机名、数据库节点IP、数据库端口和错误日志元信息。错误日志元信息包括错误日志文件名、存储节点主机名和存储路径;存储节点主机名是存储节点所在的服务器主机名。存储路径是某个存储日志文件在存储节点上的绝对路径。首先,salt管理端获取所有的数据库节点主机名;然后,针对每个数据库节点,salt管理端通过发送指令给salt客户端,获取每个数据库节点上所有的数据库进程;解析数据库进程可以得到数据库端口和数据库错误日志文件名。同时,根据数据库节点主机名获取到数据库节点IP。所述数据库节点主机名、数据库节点IP、数据库端口和数据库错误日志文件名保存在元信息文件中。接下来,在salt管理端,扫描元信息文件,传入数据库端口,数据库节点IP,以及Zabbix服务端的用户名密码,调用Zabbix服务端接口,自动创建相应的所述数据库主机。同时,根据所述数据库主机,解析得到相应的监控模板,传入该监控模板,调用Zabbix服务端接口,自动挂载相应的监控模板,包括错误日志采集项、错误日志报警项和错误日志趋势图。如果某个所述数据库主机不需要错误日志监控,可以采用手动方式,在Zabbix服务端页面卸载对应的监控模板即可。也可以根据具体需求,调用Zabbix服务端功能,调整错误日志报警项设置。进一步地,所述错误日志管理模块包括:需要传入的参数为:数据库节点主机名、错误日志文件名;Salt管理端定期调用该模块,切割错误日志和发送错误日志到salt管理端。Salt管理端根据传入的参数,通过salt客户端,查看错误日志文件大小,如果错误日志文件大小超过2MB,那么切割所述错误日志文件,同时,发送归档错误日志文件到salt管理端。如果错误日志文件大小小于2MB,不需要切割和发送错误日志文件。进一步地,所述采集监控数据模块包括:需要传入的参数为:据库节点主机名、错误日志文件名;Salt管理端定期发送指令到salt客户端,salt客户端执行指令,采集错误日志数据,返回给salt管理端。所述指令获取错误日志文件中含有关键字error的行,记录行数,通过监控行数变化监控错误日志。然后,按照如下格式,把监控数据写入到监控数据文件:数据库主机、采集项、时间戳、采集值。所述采集项是错误日志采集项,是在错误日志监控模板里定义的。时间戳是执行采集监控数据的当前时间戳。采集值是含有关键字error的行数。进一步地,所述存储错误日志模块包括:需要传入的参数:存储节点主机名、归档错误日志文件名和存储路径;Salt管理端根据所述参数,通过salt客户端,把归档错误日志文件传入到存储节点指定存储路径下,如果操作失败,发送通知给管理员处理;如果操作成功,那么记录如下信息到错误日志元信息表中:存储节点主机名、存储路径和错误日志文件名,便于管理员查阅归档错误日志文件信息。进一步地,所述发送监控数据模块包括:需要传入的参数为:Zabbix服务端主机名、Zabbix服务端端口和监控数据文件;在salt管理端,调用Zabbix服务端接口,传入所述参数,发送监控数据到Zabbix服务端。进一步地,所述监控数据告警模块包括:在Zabbix服务端配置短信和邮件接收人信息,并且设置告警策略,然后Zabbix服务端在接收到监控数据后,分析监控数据并产生告警,发送给指定的接收人。本专利技术的有益效果如下:(1)监控部署简单:只需要部署Zabbix服务端、salt管理端和salt客户端和制定监控模板,操作简单。(2)维护成本低:以上组件部署完毕后,对于新增加的数据库服务,不需要维护监控,可以实现自动采集和发送监控数据,维护成本为零。(3)准确度高:本方法监控错误日志,可以准确反映错误日志实际情况,方法简单并且准确。(4)支持多种类型数据库:适用于对于关系型数据库和非关系型数据库。附图说明图1是本专利技术基于salt的数据库错误日志监控系统的总体架构图;图2是本专利技术各个模块相互调用的流程图。具体实施方式图1是本专利技术基于salt的数据库错误日志监控系统总体架构图。总体包括四部分:salt服务端、数据库节点、Zabbix服务端和存储节点。Salt服务端通过salt客户端获取所有数据库节点的数据库进程,根据所述数据库进程解析得到数据库端口,然后调用Zabbix服务端接口自动注册数据库主机,根据所述数据库进程,定期进行错误日志切割和采集错误日志,在salt管理端分析每个数据库进程相应的错误日志,得到监控数据,发送所述监控数据到Zabbix服务端,最后,salt管理端通过存储节点上的salt客户端,发送所述错误日志到存储节点。图2是本专利技术各个模块相互调用的流程图。首先,调用salt管理模块,在salt管理端注册所有数据库节点对应的salt客户端,然后通过salt客户端,调用元信息管理模块,获取所有数据库节点上的数据库进本文档来自技高网...
基于salt的数据库错误日志监控系统

【技术保护点】
一种基于salt的数据库错误日志监控系统,其特征在于,包括Salt管理端、数据库节点、存储节点和Zabbix服务端;Salt管理端是管理salt客户端的服务,包括salt管理模块、元信息管理模块和采集监控数据模块;Salt管理端管理salt客户端,分发指令和文件,获取数据库节点上的数据库进程信息,以及采集监控数据。数据库节点是指部署数据库服务的服务器,包括错误日志管理模块;不同的数据库服务,端口唯一,每个数据库节点上部署一个salt客户端;数据库节点定期切割错误日志,发送错误日志到salt管理端。存储节点用于存储错误日志,salt管理端收集到所有数据库节点的所有数据库错误日志后,通过salt客户端,发送到存储节点。Zabbix服务端是支持短信和邮件的监控服务器,包括发送监控数据模块和监控数据告警模块;Zabbix服务端接收监控数据,并根据告警策略进行告警,以及展示监控数据的趋势图。

【技术特征摘要】
1.一种基于salt的数据库错误日志监控系统,其特征在于,包括Salt管理端、数据库节点、存储节点和Zabbix服务端;Salt管理端是管理salt客户端的服务,包括salt管理模块、元信息管理模块和采集监控数据模块;Salt管理端管理salt客户端,分发指令和文件,获取数据库节点上的数据库进程信息,以及采集监控数据。数据库节点是指部署数据库服务的服务器,包括错误日志管理模块;不同的数据库服务,端口唯一,每个数据库节点上部署一个salt客户端;数据库节点定期切割错误日志,发送错误日志到salt管理端。存储节点用于存储错误日志,salt管理端收集到所有数据库节点的所有数据库错误日志后,通过salt客户端,发送到存储节点。Zabbix服务端是支持短信和邮件的监控服务器,包括发送监控数据模块和监控数据告警模块;Zabbix服务端接收监控数据,并根据告警策略进行告警,以及展示监控数据的趋势图。2.根据权利要求1所述的一种基于salt的数据库错误日志监控系统,其特征在于,所述salt管理模块包括:在所有数据库节点部署salt客户端,salt管理端部署在单独的一台服务器上。定期调用salt管理端接口,检查所有的数据库节点上的salt客户端是否注册到salt管理端,如未注册,调用salt管理端接口,注册所述salt客户端;如注册失败,则发送通知给管理员。可选择注销某个数据库节点的salt客户端。在salt管理端,定期检测salt客户端是否通达,如不通,发送通知给管理员。3.根据权利要求1所述的一种基于salt的数据库错误日志监控系统,其特征在于,所述元信息管理模块包括:Salt管理端定期调用元信息管理模块,更新所述元信息。所述元信息包括数据库节点主机名、数据库节点IP、数据库端口和错误日志元信息。错误日志元信息包括错误日志文件名、存储节点主机名和存储路径;存储节点主机名是存储节点所在的服务器主机名。存储路径是某个存储日志文件在存储节点上的绝对路径。首先,salt管理端获取所有的数据库节点主机名;然后,针对每个数据库节点,salt管理端通过发送指令给salt客户端,获取每个数据库节点上所有的数据库进程;解析数据库进程可以得到数据库端口和数据库错误日志文件名。同时,根据数据库节点主机名获取到数据库节点IP。所述数据库节点主机名、数据库节点IP、数据库端口和数据库错误日志文件名保存在元信息文件中。接下来,在salt管理端,扫描元信息文件,传入数据库端口,数据库节点IP,以及Zabbix服务端的用户名密码,调用Zabbix服务端接口,自动创建相应的所述数据库主机。同时,根据所述数据库主机,解析得到相应的监控模板,传入该监控模板,调用Zabbix服...

【专利技术属性】
技术研发人员:顾伟涛
申请(专利权)人:杭州铭师堂教育科技发展有限公司
类型:发明
国别省市:浙江,33

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

1