zoukankan      html  css  js  c++  java
  • Shell应用 之 nginx 和 mysql 应用状态分析

    check_server.sh

    利用操作系统命令:

      网络命令: ping、nslookup、nm-tool、tracertroute、dig、telnet、nc、curl

      监控进程:ps、netstat、pgrep

    利用客户端命令、工具:

      应用客户端:mysql、ab、mongo、php、jstack

      第三方工具包:nginxstatus、nagios-libexec

    服务端接口支持:

      1、nginx - http_stub_status_module

      2、nutcracker监控集群(redis、memcache)状态

      3、Mongodb

      ……

    1. 利用 shell 脚本分析 nginx 运行状态

    #!/bin/bash
    Resettem=$(tput sgr0)
    Nginxserver='http://192.168.1.112'
    Check_Nginx_Server()
    {
            Status_code=$(curl -m 5 -s -w %{http_code} ${Nginxserver} -o /dev/null)
            if [ $Status_code -eq 000 -o $Status_code -ge 500 ];then
                    echo -e 'e[32m' "check http server error! Responce status code is:" $Resettem $Status_code
            else
                    Http_content=$(curl -s ${Nginxserver})
                    echo -e 'e[32m' "check http server ok! 
    " $Resettem $Http_content
            fi
    }
    
    Check_Nginx_Server
    ~                                                                                       
    ~                                                                                       
    ~                                                                                                                                                                            
    "check_server.sh" 15L, 460C
    

    2.监控Mysql主从复制状态

      

      1. 搭建主从复制环境

      2. 基于mysql客户端连接,获取主从复制状态

        mysql > show slave statusG;

          Slave_IO_Running-IO  线程是否有连接到主服务器上

          Seconds_Behind_Master - 主从同步的延时时间

    3. Mysql 还没学过,先暂行放下,脚本仅实现Mysql是否连接成功

    #!/bin/bash
    Resettem=$(tput sgr0)
    Nginxserver='http://192.168.1.112'
    Mysql_Slave_Server='192.168.1.112'
    Check_Nginx_Server()
    {
            Status_code=$(curl -m 5 -s -w %{http_code} ${Nginxserver} -o /dev/null)
            if [ $Status_code -eq 000 -o $Status_code -ge 500 ];then
                    echo -e 'e[32m'"Check http server error! Responce status code is:" $Resettem $Status_code
            else
                    Http_content=$(curl -s ${Nginxserver})
                    echo -e 'e[32m'"Check http server ok! 
    " $Resettem $Http_content
            fi
    }
    
    Check_Mysql_Server()
    {
            nc -z -w2 ${Mysql_Slave_Server} 3306 &>/dev/null
            if [ $? -eq 0 ];then
            echo -e 'e[32m'"Connect ${Mysql_Slave_Server} OK!"'33[0m'
            fi
    }
    
    Check_Nginx_Server
    Check_Mysql_Server
    

  • 相关阅读:
    C/C++中的abort、atexit、exit和_Exit
    从QQ聊天看交流的有效性
    HDU 1711 Number Sequence (KMP)
    pintos操作系统thread部分的实现
    搜狗面试的经典题(C++map按值排序,class struct的差别)
    SQL学习之使用order by 依照指定顺序排序或自己定义顺序排序
    选中多个或全中订单逻辑
    HDU 4415 Assassin's Creed(贪心)
    ashx文件中使用session提示“未将对象引用设置到对象的实例”
    .NET运行机制
  • 原文地址:https://www.cnblogs.com/wnzhong/p/6393845.html
Copyright © 2011-2022 走看看