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

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

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

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

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

而后,须要去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.rpmsql

下载后使用数据库

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

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

[root@test2 ~]# ls /var/lib/zabbix/percona/
scripts  templates
[root@test2 ~]# ls /var/lib/zabbix/percona/scripts/
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php
[root@test2 ~]# 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/app

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

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的监控了,下面是监控的效果图:

wKiom1X37L6iVNK1AAIfR9Q2rdo459.jpg

wKioL1X37vSDlTgRAAKpRn6oNqc505.jpg

wKiom1X37MCC5th_AAGMmhgEvko208.jpg

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

相关文章
相关标签/搜索