zabbix使用percona zabbix mysql-plugin监控mysql数据库

由于zabbix自带的mysql监控模板监控的东西比较少,应公司DBA的要求,使用percona zabbix mysql-plugin实现对mysql的监控。

percona zabbix mysql-plugin是percona发布的一个使用zabbix监控mysql数据库的工具,这款工具比zabbix自带的监控模板要强大的多,毕竟percona是Mysql的一个重要分支,专业做数据库的,所以,采集的数据比较全面。

好了,背景介绍就到这里了,下面开始进入正题,部署mysql的监控。

首先,需要安装安装php和php-mysql,因为用到了php脚本,所以在本机上面需要安装php,至于php的安装不是本文讨论的重点,在我以前的博客中有写该怎样安装php,这里就不重复讨论了。

然后,需要去percona官网下载最新版本的percona zabbix mysql-plugin,从1.1版本开始起支持zabbix,包括cacti,nagios也都有接口提供,这里我们下载的是percona zabbix mysql-plugin,链接在这:https://www.percona.com/downloads/percona-monitoring-plugins/1.1.5/percona-zabbix-templates-1.1.5-1.noarch.rpm

下载后使用

rpm -ivh percona-zabbix-templates-1.1.5-1.noarch.rpm

安装,安装完毕后会产生两个目录,每个目录有两个文件,详细结果如下所示:

[[email protected] ~]# ls /var/lib/zabbix/percona/
scripts  templates
[[email protected] ~]# ls /var/lib/zabbix/percona/scripts/
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php
[[email protected] ~]# ls /var/lib/zabbix/percona/templates/
userparameter_percona_mysql.conf  zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.5.xml

首先,我们需要下载模版文件zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.5.xml然后将这个模板文件导入到zabbixweb端的模板中去,然后将配置文userparameter_percona_mysql.conf放入到zabbix的配置文件目录中,我这的目录是/usr/local/zabbix-2.4.4/etc/zabbix_agentd.conf.d/

然后修改zabbix_agentd.conf配置文件,将配置文件所在目录添加进去,也就是添加下面这行语句:

Include=/usr/local/zabbix-2.4.4/etc/zabbix_agentd.conf.d/*.conf

然后修改脚本,首先修改sh脚本,也就是get_mysql_stats_wrapper.sh这个脚本,将下面这条语句进行修改:

RES=`HOME=~zabbix mysql -e ‘SHOW SLAVE STATUS\G‘ | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print $2}‘ | tr ‘\n‘ ‘,‘`

修改为:

RES=`/usr/local/mysql/bin/mysql -uroot -e ‘SHOW SLAVE STATUS\G‘ | egrep ‘(Slave_IO_Running|Slave_SQL_Running):‘ | awk -F: ‘{print $2}‘ | tr ‘\n‘ ‘,‘`

我这里Mysql没有设置root密码,可以在这里写入mysql的相应账号密码。

还有需要注意,在这个脚本中需要调用php来实现监控,所以需要修改php的路径,我的php的路径为/usr/local/php/bin/php,所以我将脚本中的那条命令修改成下面这样:

CMD="/usr/local/php/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg"

之后保存该脚本,并修改权限为755

然后修改php脚本文件,修改用户名和密码如下:

$mysql_user = ‘root‘;
$mysql_pass = ‘‘;
$mysql_port = 3306;

因为我的mysqlroot密码是空的,所以我这里密码是没有输入的,各位可以修改成相应的账号密码。

修改完之后保存配置并将权限设置为755,然后重启zabbix_agentd,在zabbix_server端添加刚刚我们导入进去的模板,就可以实现mysql的监控了,下面是监控的效果图:

但是貌似这个模板对于单个数据库虽然足够详细,对于数据库集群的监控还是不够给力,需要在其监控脚本的基础上进行修改,使其能够监控到数据库集群的状态信息那就更好了,当然,我这里只做了单个数据库的监控,集群由于没有实际部署,这里也就没有进行演示了,对这方面感兴趣的童鞋们可以自行阅读脚本源代码,对脚本进行修改以便于实现mysql集群的详细监控。本教程就写到这里了,多谢大家捧场,撒花

时间: 2024-10-16 15:49:57

zabbix使用percona zabbix mysql-plugin监控mysql数据库的相关文章

zabbix利用自带的模板监控mysql数据库

zabbix利用自带的模板监控mysql数据库 作者:尹正杰 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能的强大我在这里就不多说了,好不好 使你用用就知道了,哈哈······, 其实zabbix监控agent端的mysql数据库原理上很简单,就是你需要在zabbix客户端新建一个用户,这个用户的账号密码存放到 隐藏的文件中,(也是考虑安全性嘛~),服务端通过读取这个配置文件的用户密码去登陆数据库,然后把采集的结果反馈给客户端, 切记我们这里不要给root

使用Zabbix自带MySQL模板监控MySQL

使用Zabbix自带MySQL模板监控MySQL 1. 安装zabbix agent [[email protected] ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.0-1.el7.x86_64.rpm [[email protected] ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [[email protected] 

Percona Audit Log Plugin(mysql 审计)

背景:当数据业务上或者其他的特殊情况时可能会进行审计,以便知道数据库当时所做的操作,今天给大家带来percona的审计插件 Percona Audit Log Plugin提供对特定服务器上执行的连接和查询活动的监视和记录. 有关活动的信息将存储在XML日志文件中,其中每个事件将具有其NAME字段,其自己的唯一RECORD_ID字段和TIMESTAMP字段. 此实现是MySQL Enterprise Audit Log Plugin的替代审计日志插件生成以下事件的日志:Audit - Audit

zabbix用自带的模板监控mysql

先看一下zabbix自带的mysql模板监控项: #很少是吧,没事生产环境一般我们不用,下一篇将介绍生产环境用的另一种mysql监控. 配置zabbix自带的模板监控mysql数据库:

Zabbix 3.2.6通过ODBC监控MySQL

一.总览 ODBC的监控和在Zabbix前端配置数据库监控条目类型基本一致. ODBC是用C语言编写的用于连接数据库管理系统的一个中间件,最初有微软公司研发,后来发展到各大平台. 有了ODBC的支持,Zabbix可以查询很多种数据库,因为Zabbix自己不直接去连接数据库,而是通过ODBC的接口和驱动,因此可以更加高效的去监控不同的数据库. 二.安装配置 1.编译Zabbix server 要支持ODBC功能,在编译的时候需要加上--with-unixodbc,解决依赖需要安装如下软件包, yu

zabbix通过orabbix和自定义脚本监控oracle数据库

由于公司要上oracle数据库,需要对这个东西惊醒监控,于是去网上淘资料,发现有一个套件orabbix监控oracle的效果还不错,于是拿来试验了一下.orabbix是由JAVA写的一个套件,需要在oracle服务器上面安装JAVA环境才能运行.这里为了简便,可以使用yum -y install java来安装JAVA环境. 安装完java环境之后可以通过下面命令来检测是否安装成功: [[email protected] ~]# java -version java version "1.7.0

Zabbix 3.2.6 通过Orabbix监控Oracle数据库

一.背景 公司业务使用的是一直Oracle数据库,因为多次出现表空间满的时候不能及时发现,每次都是业务组的人员通知处理,这样下来DBA这边就比较被动,所以老大要求监控表空间剩余大小并且当剩余过小时能够及时报警.刚想出来的方案是通过写脚本获取表空间的数据,通脚本中使用expect自动输入密码登陆oracle用户然后再登陆数据库查询数据返回给zabbix_server.但是由于脚本运行时间大概12秒左右,zabbix获取数据总是超时,在网上搜索中发现zabbix插件orabbix,原理是通过orab

Zabbix 3.2.6通过Orabbix监控Oracle数据库

参考文档:http://www.smartmarmot.com/wiki/index.php?title=Orabbix

Zabbix 3.0 监控MySQL

Mysql监控  zabbix自带了一个监控mysql的模板,但是真正监控mysql的并不是zabbix自带的模板.而是percona公司的一个监控mysql模板  percona官网: www.percona.com Percona组成介绍 1.php脚本    用来数据采集 2.shell脚本  用来调用采集信息 3.zabbix配置文件 4.zabbix模板文件 安装文档:https://www.percona.com/doc/percona-monitoring-plugins/LATE