#!/bin/bash
Resettem=$(tput sgr0)
server_url='http://www.zhongfenqi.com/ngx_status'
mysql_slave_addr='192.168.1.103'
mysql_slave_port='3307'
mysql_slave_user=root
mysql_slave_pwd=123456
mysql_slave_sock=/tmp/mysql.sock2
################################
Check_Nginx_Server()
{
http_code=`curl -m 5 -s -w %{http_code} ${server_url} -o /dev/null`
if [ $http_code -eq 000 -o $http_code -ge 500 ]; then
echo -e '\E[31m'"check http server error respose code is:" $Resettem $http_code
else
http_content=`curl -s ${server_url}`
echo -e '\E[32m'"check http server is ok !\n"$Resettem $http_content
fi
}
#################################
Check_Mysql_Server()
{
nc -z -w2 ${mysql_slave_addr} ${mysql_slave_port} >& /dev/null
if [ $? -eq 0 ]; then
echo -e '\E[32m'"check mysql server is ok !\n" $Resettem
mysql -S ${mysql_slave_sock} -h${mysql_slave_addr} -u${mysql_slave_user} -p${mysql_slave_pwd} -e "SHOW SLAVE STATUS\G" | grep "Slave_IO_Running" | awk '{if($2!="Yes"){print "slave thread not runni
ng"; exit 1}}'
if [ $? -eq 0 ]; then
mysql -S ${mysql_slave_sock} -h${mysql_slave_addr} -u${mysql_slave_user} -p${mysql_slave_pwd} -e "SHOW SLAVE STATUS\G" | grep "Seconds_Behind_Master"
else
echo -e '\E[31m'"Connect to mysql not succeeded" $Resettem
fi
else
echo -e '\E[31m'"check mysql error" $Resettem
fi
}
Check_Nginx_Server
Check_Mysql_Server
【SHELL】监控Nginx运行,Mysql主从运行,主从复制延迟
最新推荐文章于 2023-09-25 23:59:50 发布