ZABBIX监控MySQL从服务器状态

为了实时了解到MySQL主从同步的状态,我们可以有多种方式,简单快捷的方式就是使用shell脚本,但是我们这里要说的是用zabbix来做监控,操作步骤如下。

1、 添加一个免密用户,例如zabbix,用于执行查询slave状态用(这里要注意看自己的复制方式,如果mysql库也同步的话,最好在master上面执行添加用户操作,如果在slave上执行,可能会导致主从失败,报1396错误)

mysql> create user 'zabbix'@'localhost';
Query OK, 0 rows affected (0.14 sec)

mysql> grant replication client on *.* to 'zabbix'@'localhost';
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)

2、 添加查看MySQL SLAVE的复制状态脚本,新建一个scripts目录用于存放自定义的脚本

mkdir /etc/zabbix/scripts
cd /etc/zabbix/scripts
vi mysql_replication.sh
#添加下面内容
echo "show slave status \G"|/usr/local/mysql/bin/mysql -uroot 2>/dev/null|grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes

3、 给脚本执行权限,并执行该脚本,返回2代表2个yes,表示正常,其他值均为不正常

[root@zabbix ~]# cd /etc/zabbix/scripts/
[root@zabbix ~]# chmod +x mysql_replication.sh
[root@zabbix ~]# ./mysql_replication.sh
2

4、 编辑zabbix_agentd.conf文件,添加我们自定义的key进去

vim /etc/zabbix/zabbix_agentd.conf
UserParameter=mysql.replication,/etc/zabbix/scripts/mysql_replication.sh

5、 添加后重启agentd

systemctl restart zabbix-agent

6、 重启成功后,在zabbix server( 192.168.165.202)上面检测一下,是否可以获取刚才定义的key值

[root@zabbix ~]# zabbix_get -s  192.168.165.52 -k mysql.replication
2

7、执行成功返回2就可以了,接下来就到zabbix的页面管理中,创建一个Template模板 选择"Configuration"-"Template",然后点击"Create template",

名称为:Template App MySQL Replication

8、创建后在Template页面找到刚新建的“mplate App MySQL Replication”打开它,选择Applications标签页,创建一个Applications,Name:MySQL Replication

9、再打开Items标签页,创建一个Items

10、创建触发器 Name:MySQL Replication error on {HOST.NAME} Expression:{Template App MySQL Replication:mysql.replication.last()}<2

11、创建好之后,把该模板和目标主机关联就可以了

转载于:https://my.oschina.net/ldhqy/blog/2876412

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值