针对于lvs分发mysql的监控
2013-08-23 18:02
225 查看
需求:lvs给mysql进行读负载,如果主从出现主从不同步,那就会出现问题,如何实现主从不同步的时候我就在lvs上去掉那台从库呢,而且如果当lvs上指负载一台从库的时候,我要是再去掉的话,岂不无从库可查了,故写个脚本,个人认为逻辑性还是很强的
#!/bin/bash
c=`cat /opt/duoyongtu/10/mysql.txt`
for i in $c
do
a=`mysql -uroot -h$i -p12345678 -P3306 -e "show slave status\G"|egrep '(Slave_IO_Running|Slave_SQL_Running)'|awk '{print $NF}'`
for k in $a
do
if [ "$k" != "Yes" ]; then
f=`ssh 192.168.0.146 "ip a|grep 192.168.1.5|wc -l"`
if [ "$f" -eq 1 ]; then
b=`ssh 192.168.0.146 "cat /opt/yanchao/xianzai.txt| wc -l"`
if [ "$b" -ge 2 ]; then
#sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6
ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"
ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"
echo bad
else
echo good
fi
else
b=`ssh 192.168.0.147 "cat /opt/yanchao/xianzai.txt| wc -l"`
if [ "$b" -ge 2 ]; then
# sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6
ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"
ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"
echo bad
else
echo good
fi
fi
else
d=`ssh $i "iptables -L -n|grep 192.168.0.146|wc -l"`
if [ "$d" -ge 1 ]; then
for e in 192.168.0.146 192.168.0.147
do
ssh $i "iptables -F"
done
fi
fi
done
done
#!/bin/bash
c=`cat /opt/duoyongtu/10/mysql.txt`
for i in $c
do
a=`mysql -uroot -h$i -p12345678 -P3306 -e "show slave status\G"|egrep '(Slave_IO_Running|Slave_SQL_Running)'|awk '{print $NF}'`
for k in $a
do
if [ "$k" != "Yes" ]; then
f=`ssh 192.168.0.146 "ip a|grep 192.168.1.5|wc -l"`
if [ "$f" -eq 1 ]; then
b=`ssh 192.168.0.146 "cat /opt/yanchao/xianzai.txt| wc -l"`
if [ "$b" -ge 2 ]; then
#sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6
ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"
ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"
echo bad
else
echo good
fi
else
b=`ssh 192.168.0.147 "cat /opt/yanchao/xianzai.txt| wc -l"`
if [ "$b" -ge 2 ]; then
# sh /www/shell/syslog_2.sh $i-slave-stop `hostname` 1 2 1 6
ssh $i "iptables -A INPUT -s 192.168.0.146 -p tcp -m tcp --dport 3306 -j DROP"
ssh $i "iptables -A INPUT -s 192.168.0.147 -p tcp -m tcp --dport 3306 -j DROP"
echo bad
else
echo good
fi
fi
else
d=`ssh $i "iptables -L -n|grep 192.168.0.146|wc -l"`
if [ "$d" -ge 1 ]; then
for e in 192.168.0.146 192.168.0.147
do
ssh $i "iptables -F"
done
fi
fi
done
done
相关文章推荐
- 针对于lvs分发mysql的监控
- 小型架构数据走向图“”迷你CND加速,keepalived+lvs,Nginx分发,web负载,mysql读写分离,ABB“”
- 实时监控MySQL信息的脚本
- Percona监控MySQL模板详解
- cacti关于MYSQL的监控
- MySQL5.6监控表之INNODB_METRICS
- cacti监控mysql
- 使用NDOUtils将Nagios监控信息存入mysql
- 在mysql语句中对于时间格式数据的处理,格式化时间,根据生日计算年龄,计算时间差
- 安装配置Zabbix来监控MySQL的基本教程
- 使用zabbix监控mysql的三种方式
- nagios使用check_mysql监控mysql
- zabbix监控parameter mysql的状态
- mysql最新通用二进制分发版本5.7.16自动安装shell脚本
- nagios监控mysql的connections和processlist
- Mysql监控工具小集合
- 安装配置Zabbix来监控MySQL的基本教程
- 自己写的MySQL实时监控脚本–mystat
- mysql监控工具
- 【二】Zabbix监控MYSQL之自带MYSQL模版