首页 > 数据库 > MySQL > 用zabbix监控mysql的主从复制
用zabbix监控mysql的主从复制
在要监控的服务器设置如下脚本
[root@zabbixsrvbjdb04 ~]# cat /data/script/monitor.sh
#!/bin/sh
# check_mysql_slave status
#修改网卡信息
ip=eth0
mysql_binfile=/usr/local/mysql/bin/mysql
#监控使用的账号信息
mysql_user=monitor
mysql_pass='monitor123567'
#sock
mysql_sockfile=/holiday/mariadb/mysql.sock
datetime=`date +"%Y-%m-%d/%H:%M:%S"`
#监控状态日志文件,自行定义
mysql_slave_logfile=/holiday/moniter/check_mysql_slave.log
#监控状态输出文件,监控文件
mysql_slave_status=/home/monitor/slavestatus
#获取IP
slave_ip=`ifconfig $ip|grep "inet addr" | awk -F[:" "]+ '{print $4}'`
#获取slave状态
status=$($mysql_binfile -u$mysql_user -p$mysql_pass -P3307 -e "show slave status\G" | grep -i "running")
Slave_IO_Running=`echo $status | grep Slave_IO_Running | awk ' {print $2}'`
Slave_SQL_Running=`echo $status | grep Slave_SQL_Running | awk '{print $2}'`
echo $Slave_IO_Running
echo $Slave_SQL_Running
#判断
if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]
then
echo "Slave is Running!"
echo 1 > $mysql_slave_status
else
echo 0 > $mysql_slave_status
echo " $datetime $slave_ip Slave is not running!" >> $mysql_slave_logfile
fi
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28916011/viewspace-1756334/ ,如需转载,请注明出处,否则将追究法律责任。