最近发现Nagios自带的监控WEB 80端口的脚本不太好用,服务已经无法提供了,还是没报警,所以就自己写了一个!

 Nagios是根据脚本的返回值,来判断服务是否正常的。返回值对应的报警级别如下

    0 OK
    1 Warning
    2 Cirital
    3 Unknown
    Others Unknown 
所以,想让Nagios认为你的服务是OK的, 要返回0给Nagios。其它的相对应,返回值可以使用return或者exit来返回!
 
  1. #!/bin/bash 
  2. # author: honway.liu 
  3. # date: 2012-07-11 
  4. # version: 0.0.1 
  5. # desc: check web server status 
  6.  
  7. Usage() { 
  8. echo "##################" 
  9. echo "$0 URL" 
  10. echo "##################" 
  11.  
  12. if [ $# -lt 1 ];then 
  13.         Usage 
  14.     else 
  15. url_status=$(curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} $1) 
  16.                 if [ $url_status -eq 200 ]; then 
  17.                     echo "OK - $1" 
  18.                     exit 0 
  19.                         else 
  20.                     echo "Cirtical - $1" 
  21.                     exit 2 
  22.                 fi 
  23. fi