【SHELL】监控Nginx运行,Mysql主从运行,主从复制延迟

来源:互联网 发布:pes贝克汉姆捏脸数据 编辑:程序博客网 时间:2024/06/05 03:26
#!/bin/bashResettem=$(tput sgr0)server_url='http://www.zhongfenqi.com/ngx_status'mysql_slave_addr='192.168.1.103'mysql_slave_port='3307'mysql_slave_user=rootmysql_slave_pwd=123456mysql_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 running"; 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_ServerCheck_Mysql_Server
0 0
原创粉丝点击