分解步骤
关键命令 show slave status\G
1、监控参数说明
- 从库运行show slave status\G可以查看主从同步信息;
- Slave IO Running可以观察从库的IO进程是否正常,IO进程用于同步二进制日志;
- Slave SQL Running可以观察从库的SQL进程是否正常,SQL进程用于执行二进制日志;
- Seconds Behind Master代表主从同步的延时时间。
2、在要监控的数据库中,开通可复制用户
grant usage,replication client on . to 'monitor'@'192.168.0.%' identified by 'test123!@#';
flush privileges;
3、脚本
vim check_mysql_slave.sh
port=$1
key=$2
user=monitor
IP=192.168.0.48
pass='test123!@#'
mysql -umonitor -p$pass -h$IP -P$port -e "show slave status\G" |grep "${key}\s" |awk '{print $2}' 2>/dev/null
4、自定义key值
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf
UserParameter=mysql.slave.status[*].sh /usr/local/zabbix/check_mysql_slave.sh $1 $2 2>/dev/null
重启agent
/etc/init.d/zabbix_agentd restart
zabbix_get -s 192.168.0.48 -k mysql.salve.status[3306,Slave IO Running]
5、创建监控模板
mysql.slave.status[3306,Slave SQL Running]
mysql.slave.status[3306,Slave IO Running]
mysql.Slave.status[3306,Seconds Behind Master]
创建模板--》创建监控项--》链接模板