zabbix监控mysql主从复制

一.zabbix agentd的安装

1
2
3
4
5
6
7
8
groupadd zabbix
useradd -g zabbix -G zabbix -s /sbin/nologin -d /dev/null zabbix
tar zxvf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2
./configure --prefix=/data/zabbix --sysconfdir=/data/zabbix/conf --enable-agent
make && make install
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod 755 /etc/init.d/zabbix_agentd

 vim /etc/init.d/zabbix_agentd

    修改BASEDIR=/data/zabbix

vim /data/zabbix/conf/zabbix_agentd.conf

1
2
3
4
LogFile=/data/zabbix/log/zabbix_agentd.log    //日志的路径
Server=zabbix.test.com    //这里是zabbix server的地址
ServerActive=zabbix.test.com:10051  //同上
Hostname=Node1
1
2
3
4
mkdir -p /data/zabbix/log/
chown zabbix.zabbix /data/zabbix/log
service zabbix_agentd start
chkconfig --level 345 zabbix_agentd on

查看是否正常

1
netstat -an |grep 10050

二.监控MySQL的复制

原理:利用在slave上运行show slave status获取Slave_IO_Running和Slave_SQL_Running的值

1.在mysql上新建监控用户

1
2
grant replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix';
flush privileges;

2.在/data/zabbix/sbin下新建check_mysql_replication.sh脚本

#!/bin/bash

1
mysql -uzabbix -pzabbix -e "show slave statusG" |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes

  给上述文件授权

1
chmod +x /data/zabbix/sbin/check_mysql_replication.sh

3.修改/data/zabbix/conf/zabbix_agentd.conf文件

1
2
UnsafeUserParameters=1
UserParameter=mysql.replication,/data/zabbix/sbin/check_mysql_replication.sh

4.重启下zabbix_agemtd服务

1
service zabbix_agentd restart

三.配置zabbix server

1.在zabbix server上测试,这里zabbix server是安装在/webserver/zabbix,则运行

/webserver/zabbix/bin/zabbix_get -s 192.168.100.223 -k "mysql.replication"

如果上面返回的是2,那么是正常(1.mysql的复制正常 2.zabbix_agentd是配置正常),代表Slave_IO_Running和Slave_SQL_Running两个状态都是Yes,这里192.168.100.223是我的slave的IP地址

2.添加监控项目

点击“configuration”,接着点击"Host",然后找到要监控的Slave,点击它的"Items".

wKioL1MpWQyzlt4MAALsQoddEFI601.jpg - 1

2.点击“create items”

wKiom1MpWmfBKfELAAIqaAs-wOk805.jpg - 2

3.填写监控项目内容

wKiom1MpXQjDJOmkAAK7f8z4KuY858.jpg - 3

4.创建Triggers,就是创建mysql.replication到什么时候报警

wKiom1MpXgvimbzbAADpWgJ4ATA226.jpg - 4

wKioL1MpXpaQyy11AAOVP2R-JLI551.jpg - 5

wKioL1MqR7GQr97QAAMRuVt3ip4150.jpg - 6

这个时候我们在Slave机器上,在mysql环境下运行stop slave;

原文地址:https://www.cnblogs.com/cdjiangchao/p/3844329.html