Nagios 监控 Httpd 并发数插件

  1. 工作需要监控Httpd并发数,找不到合适的插件,花时间研究了一下Nagios监控内存的脚本,做了一些修改,完成了脚本。
    监控内存脚本:
    http://www.cnblogs.com/Mrhuangrui/p/4585615.html
  2. 监控Http并发数脚本代码如下:
    #!/bin/bash
    
    if [ "$1" = "-w" ] && [ "$2" -gt "0" ] && [ "$3" = "-c" ] && [ "$4" -gt "0" ]; then
    
            ip_conns=`netstat -na |grep ESTABLISHED |wc -l`
    
    
            if [ "$ip_conns" -ge "$4" ]; then
                    echo "HttpProcessList: CRITICAL connet counts is: $ip_conns |TOTAL=$ip_conns;"
                    $(exit 2)
            elif [ "$ip_conns" -ge "$2" ]; then
                    echo "HttpProcessList: WARNING connet counts is: $ip_conns |TOTAL=$ip_conns;"
                    $(exit 1)
            else
                    echo "HttpProcessList: OK connet counts is: $ip_conns |TOTAL=$ip_conns;"
                    $(exit 0)
            fi
    
    else
            echo "CheckHttpProcessList Error"
    fi
    CheckHttpdProcessList Code

    测试脚本./Check_httpd_processList.sh -w 60 -c 90

  3. 监控服务器测试
    cd /usr/lib64/nagios/plugins/
    ./check_nrpe -H 10.10.0.116 -c checkHttpdProcesslist

  4. 脚本中运用到了比较运算符
    Shell运算符详解
    http://blog.csdn.net/ithomer/article/details/6836382

  5. 第三方插件 (无法出图)
    https://exchange.nagios.org/directory/Plugins/Network-Connections,-Stats-and-Bandwidth/Check-Number-Of-Connections/details
  6. 遇到的难题
    自定义的插件可能无法采集到正确的执行结果。
    故障情况:本机采集的数据显示正常,监控机使用nrpe采集,数据显示为0
    监控机是因为使用nrpe执行,而nrpe是以nagios用户来执行,本地服务器使用的是Root账号执行,所以数据不一致。
    解决方法:
    修改visudo文件,追加2行,注释一行
    # visudo
    nagios ALL=(ALL) NOPASSWD:/usr/lib64/nagios/plugins/check_http_procslist.sh
    nrpe ALL=(ALL) NOPASSWD:/usr/lib64/nagios/plugins/check_http_procslist.sh
    #Defaults requiretty
    修改nrpe.cnf执行语句配置,命令前添加sudo
    command[check_http_procslist]=sudo /usr/lib64/nagios/plugins/check_http_procslist.sh -w 800 -c 1200


原文地址:https://www.cnblogs.com/Mrhuangrui/p/4627225.html