zabbix自定义监控mysql主从同步

监控数据库主从同步是否正常运行,需要从mysql主从同步原理入手,即查看从库的IO线程和SQL线程是否工作正常:

mysql> show slave status\G;
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...

通过以下命令可以统计SQL线程和IO线程正常运行时Yes的个数:

[root@mysql77 ~]# mysql -uroot -p123456 -e 'show slave status\G'| grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
mysql: [Warning] Using a password on the command line interface can be insecure.		//在命令行下输入密码的警告提示
2

1、在zabbix_agent安装目录下创建mysql隐藏配置文件.my.cnf

[root@mysql77 ~]# vim /usr/local/etc/.my.cnf
[mysql]
host=localhost
user=root
password=123456

[mysqladmin]
host=localhost
user=root
password=123456
[root@mysql77 ~]# ls /usr/local/etc -a
.  ..  .my.cnf  zabbix_agentd.conf  zabbix_agentd.conf.d

2、创建自定义监控命令

[root@mysql77 ~]# vim /usr/local/etc/zabbix_agentd.conf.d/check_mysqld.conf
UserParameter=check_replication,HOME=/usr/local/etc /usr/bin/mysql -e 'show slave status\G'| grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes

注:HOME变量设置当前命令的执行路径,使得在获取主从同步信息时不会出现在命令行下使用密码的提示
3、重启服务并测试自定义监控命令

[root@mysql77 ~]# zabbix_agentd
[root@mysql77 ~]# netstat -ntulp |grep :10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      22377/zabbix_agentd
[root@mysql77 ~]# zabbix_get -s 127.0.0.1 -p 10050 -k check_replication			//客户端测试
2
[root@zabbix ~]# zabbix_get -s 192.168.4.77 -p 10050 -k check_replication		//监控端测试
2

4、zabbix创建自定义监控项、触发器
(1)创建监控项
配置—>主机—>mysql77(被监控主机):监控项—>创建监控项,配置如下:
在这里插入图片描述
(2)创建触发器
配置—>主机—>mysql77(被监控主机):触发器—>创建触发器,配置如下:
在这里插入图片描述
其中,表达式构造如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值