基于salt的数据库性能自动化监控系统技术方案

技术编号:16353276 阅读:158 留言:0更新日期:2017-10-10 09:56
本发明专利技术公开了一种基于salt的数据库性能自动化监控系统,通过采集数据库服务进程对应的cpu数据来监控数据库性能,包括salt管理端、数据库节点和zabbix服务端;salt管理端通过salt客户端采集数据库节点上数据库服务进程的cpu信息,发送到zabbix服务端;数据库节点是部署数据库服务的服务器,每个数据库节点上部署一个salt客户端,数据库节点根据salt管理端传入的参数,调用该节点上的采集脚本,采集性能监控数据。zabbix服务端接收监控数据,并根据告警策略进行告警,以及展示监控数据的趋势图。本发明专利技术系统可以实现各种数据库性能监控自动化,基本没有人工成本,通用性强,使用非常方便。

Automatic monitoring system of database performance based on salt

The invention discloses a database performance automation monitoring system based on salt, to monitor the database performance through the CPU data acquisition process corresponding to the database service, including salt management, database and ZABBIX server end node; salt management through salt client data collection node database CPU library information service process, sent to the ZABBIX server; the database is a database service node deployment server, each database node deployed a salt client database node according to the parameters of salt management of incoming call, the node collection script, performance monitoring data acquisition. The ZABBIX server receives the monitoring data, alarms it according to the warning strategy, and displays the trend chart of the monitoring data. The system of the invention can realize the automation of the performance monitoring of various databases, basically has no labor cost, is universal, and is very convenient to use.

【技术实现步骤摘要】

本专利技术属于数据库监控领域,主要应用于互联网行业各种类型的数据库的性能监控。
技术介绍
对于互联网公司而言,数据库应用越来越普及,为了提高数据库可用性,需要为数据库部署监控,除了常规的功能监控,还需要对数据库性能进行监控,从而提高监控精度,及时发现数据库性能问题,保证数据库服务质量。现有的数据库监控系统及方法的缺点是:(1)操作繁杂,维护成本高:操作步骤繁多,需要大量的人力维护,维护成本高;(2)自动化程度低:几乎全部需要人力操作,缺乏自动化,效率低下;(3)不适合大规模数据库监控:在大规模数据库情况下,使用现由的监控方法,几乎很难沐足监控需求;(4)功能单一:现有监控方案,功能比较单一。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于salt的数据库性能自动化监控系统,可以实现各种数据库性能监控自动化,基本没有人工成本,通用性强,并且使用非常方便。本专利技术的目的是通过以下技术方案来实现的:一种基于salt的数据库性能自动化监控系统,通过采集数据库服务进程对应的cpu数据来监控数据库性能,该系统包括salt管理端、数据库节点和zabbix服务端;salt管理端是管理salt客户端的服务器,包括salt管理模块、元信息管理模块和发送监控数据模块;salt管理端通过salt客户端采集数据库节点上数据库服务进程的cpu信息,发送到zabbix服务端。数据库节点是部署数据库服务的服务器,包括采集性能监控数据模块;不同的数据库服务,端口唯一,每个数据库节点上部署一个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服务端接口,自动挂载相应的监控模板,包括cpu采集项、cpu报警项和cpu趋势图。如果某个所述数据库主机不需要cpu监控,可以采用手动方式,在zabbix服务端页面卸载对应的监控模板。也可以根据具体需求,调用zabbix服务端功能,调整cpu报警项设置。进一步地,所述采集性能监控数据模块包括:需要传入的参数:数据库节点主机名,数据库进程号;在salt管理端,定期调用元信息管理模块之后,得到所有的数据库节点主机名,以及对应的数据库进程号。然后,根据这些信息,salt管理端发送指令到所述数据库节点对应的salt客户端,首先判断是否存在性能监控脚本,如果存在,那么不需要分发监控脚本,否则,分发监控脚本:然后,在salt管理端上,针对每个数据库节点上的每个数据库进程,采集性能监控数据;采集到的性能监控数据保存在salt管理端本地文件中,称为监控数据文件。进一步地,所述发送监控数据模块包括:调用zabbix服务端接口,发送所述监控数据文件到zabbix服务端,如果发送监控数据成功,那么需要清空所述监控数据文件;否则需要通知管理员处理。进一步地,所述监控告警和展示模块包括:zabbix服务端接收和存储所述监控数据,分析所述监控数据并产生告警,以及通过zabbix服务端的趋势图展示监控数据。调用zabbix服务端自身功能,为数据库性能监控配置短信接收人和邮件接收人,方便第一时间接收告警信息和处理数据库性能问题。本专利技术的有益效果如下:(1)监控部署非常简单:只需要部署zabbix服务端、salt管理端和salt客户端和制定监控模板,操作简单。(2)维护成本低:以上组件部署完毕后,对于新增加的数据库服务,不需要维护监控,可以实现自动采集和发送监控数据,维护成本为零。(3)性能监控准确:通过数据库服务占用的cpu反映数据库性能,可以准确发现性能问题。(4)支持多种类型数据库:适用于对于关系型数据库和非关系型数据库。(5)易扩展:对于大规模数据库节点,只需要部署多个salt管理端,分别管理各自的salt客户端即可。扩展容易并且可行。附图说明图1是本专利技术基于salt的数据库性能自动化监控系统的总体架构图;图2是本专利技术各个模块相互调用的流程图。具体实施方式图1是本专利技术基于salt的数据库性能自动化监控系统的总体架构图。总体上包括三部分:salt管理端、数据库节点和zabbix服务端,每个数据库节点部署一个salt客户端。salt管理端通过salt客户端获取所有数据库进程,然后调用zabbix服务端接口注册数据库主机,接下来,salt管理端通过salt客户端采集所述数据库节点上每个数据库进程对应的监控数据,最后发送所述监控数据到zabbix服务端。图2是本专利技术各个模块相互调用的流程图。首先,salt管理模块注册所有数据库节点对应的salt客户端,然后通过salt客户端获取所有数据库节点上的数据库进程,根据所述数据库进程,解析得到数据库进程号和数据库端口号,然后,salt管理端通过salt客户端采集对应的cpu信息;最后,salt管理端调用zabbix服务端接口,发送到zabbix服务端。下面详细介绍各模块的实现过程:(1)salt管理端salt管理端是管理salt客户端的服务器,用于注册和注销salt客户端,发送指令到salt客户端等。这里的指令一般是通过一个或者多个Linux命令完成的操作。salt管理端包括salt管理模块、元信息管理模块和发送监控数据模块,功能包括管理salt客户端,分发指令和文件,获取数据库节点上的数据库进程信息,以及发送监控数据到zabbix服务端。salt管理端通过salt客户端采集数据库节点上数据库服务进程的cpu信息,发送到zabbix服务端。(2)数据库节点数据库节点是指部署数据库服务的服务器,这些数据库服务包括常用的关系型数据库和非关系型数据库,不同的数据库服务,端口唯一。主要包括采集性能监控数据模块,根据本文档来自技高网...
基于salt的数据库性能自动化监控系统

【技术保护点】
一种基于salt的数据库性能自动化监控系统,其特征在于,通过采集数据库服务进程对应的cpu数据来监控数据库性能,该系统包括salt管理端、数据库节点和zabbix服务端;salt管理端是管理salt客户端的服务器,包括salt管理模块、元信息管理模块和发送监控数据模块;salt管理端通过salt客户端采集数据库节点上数据库服务进程的cpu信息,发送到zabbix服务端。数据库节点是部署数据库服务的服务器,包括采集性能监控数据模块;不同的数据库服务,端口唯一,每个数据库节点上部署一个salt客户端;数据库节点根据salt管理端传入的参数,调用该节点上的采集脚本,采集性能监控数据。zabbix服务端是支持短信和邮件的监控服务器,包括监控告警和展示模块;zabbix服务端接收监控数据,并根据告警策略进行告警,以及展示监控数据的趋势图。

【技术特征摘要】
1.一种基于salt的数据库性能自动化监控系统,其特征在于,通过采集数据库服务进程对应的cpu数据来监控数据库性能,该系统包括salt管理端、数据库节点和zabbix服务端;salt管理端是管理salt客户端的服务器,包括salt管理模块、元信息管理模块和发送监控数据模块;salt管理端通过salt客户端采集数据库节点上数据库服务进程的cpu信息,发送到zabbix服务端。数据库节点是部署数据库服务的服务器,包括采集性能监控数据模块;不同的数据库服务,端口唯一,每个数据库节点上部署一个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。所述数据库...

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

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

1