您的位置:首页 > 数据库 > SQL

zabbix监控mysql replication

2011-01-24 15:19 274 查看
最近几天发现mysql数据库replication同步出现问题,居然过了好几天才发现,于是打算把mysql replication做监控。

我的监控平台是zabbix,之所以不使用nagios,是因为nagios比较复杂,呵呵。

大家都知道mysql的 replication复制使用了三个线程,Binlog Dump(主)、IO线程及SQL线程(从)。其中只要监控IO线程及SQL线程这两个线程就可以确定复制是否出现问题了。

复制正常情况下,Slave_IO_Running及Slave_SQL_Running都应该是Yes,见下图:





所以需要编写脚本以获取这两个值的状态。

vim /usr/local/bin/Slave_IO_Running

#!/bin/bash

Slave_IO_Running=`mysql -uroot -p'your_mysql_password' -Bse "show slave status\G"| grep Slave_IO_Running | awk '{ print $2 }'`

if [ $Slave_IO_Running == 'Yes' ] ; then

echo 1

else

echo 0

fi

chmod 755 /usr/local/bin/Slave_IO_Running

vim /usr/local/bin/Slave_SQL_Running

#!/bin/bash

Slave_SQL_Running=`mysql -uroot -p'your_mysql_password' -Bse "show slave status\G"| grep Slave_SQL_Running | awk '{ print $2 }'`

if [ $Slave_SQL_Running == 'Yes' ] ; then

echo 1

else

echo 0

fi

chmod 755 /usr/local/bin/Slave_SQL_Running

在zabbix agent配置文件中添加

UserParameter=mysql.alertio,Slave_IO_Running

UserParameter=mysql.alertsql,Slave_SQL_Running

打开zabbix web界面添加item











也可以创建graph,太简单不写了。

接下来就是创建trigger





ok,若数据库不同步的时候就等着收短信或者邮件吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: