天堂1111 发表于 2019-1-16 06:10:35

nagios 监控nginx脚本插件

  1.服务器写如下脚本:放到/usr/local/nagios/libexec下:
  #!/bin/bash
  #
  PROGNAME=`basename $0`
  VERSION="Version 1.0,"
  AUTHOR="2012, u (http://www.nianw.com/) yangpenghao666@gmail.com"
  #exit status
  ST_OK=0
  ST_WR=1
  ST_CR=2
  ST_UK=3
  function PrintHelp(){
  echo "A This Program is a plugof nagios to monitor WebServer , special for Nginx!";
  echo "This Program base onWebServer's respond status report an emergency ";
  echo "It usefull on nginx repond 502 and 504 status";
  echo "$AUTHOR";
  echo "How to use Eg 1";
  echo "$PROGNAME --url http://www.nianw.com/index.php";
  echo "How to use Eg 2";
  echo "$PROGNAME -host www.nianw.com --url ip ;
  echo "www.nianw.com and 211.147.15.153 replace of you site and IP!"
  }
  while test -n "$1";do
  case "$1" in
  --help|-h)
  PrintHelp
  exit $ST_UK
  ;;
  --url|-u)
  URL=$2
  shift
  ;;
  --host|-H)
  HOST=$2
  shift
  ;;
  *)
  echo "fail"
  exit $ST_UK
  ;;
  esac
  shift
  done
  if [-n "$HOSTNAME" ] ;then
  echo 1111111111
  HTTP_STATUS=`curl -s -I"$URL" |head -n1|awk '{print $2}'`
  else
  echo 2222222222
  HTTP_STATUS=`curl -s -I host:$HOSTNAME "$URL"|head -n1|awk '{print $2}'`
  fi
  if [ ! -n "$HTTP_STATUS" ] ;then
  echo 44444444444444
  HTTP_STATUS="CONNET_ERROR"
  fi
  case $HTTP_STATUS in
  200)
  echo "OK HTTP $HTTP_STATUS ";
  exit $ST_OK;
  ;;
  500|502|504|CONNET_ERROR)
  echo "CRITICAL $HTTP_STATUS $URL";
  exit $ST_CR;
  ;;
  *)
  echo "WARNING $HTTP_STATUS";
  exit $ST_WR
  ;;
  esac
  2./usr/local/nagios/etc/objects/command.cfg
  添加一个
  define command{
  command_name    u_check_nginx.sh
  command_line    $USER1$/u_check_nginx.sh --url $ARG1$ --host $ARG2$
  }
  3./usr/local/nagios/etc/objects/services.cfg
  添加一个
  define service {
  host_name       yang-50
  service_description   check-50-nginx-www.nianw.com
  check_period            24x7
  normal_check_interval   2
  retry_check_interval    1
  max_check_attempts      5
  notification_period   24x7
  notification_options    w,u,c,r
  check_command         u_check_nginx.sh!http://www.nianw.com/
  }
  4. /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg测试是否有错误。
  5. 如果没有错误就重启服务/etc/init.d/nagios restart

页: [1]
查看完整版本: nagios 监控nginx脚本插件