最近发现Nagios自带的监控WEB 80端口的脚本不太好用,服务已经无法提供了,还是没报警,所以就自己写了一个!
Nagios是根据脚本的返回值,来判断服务是否正常的。返回值对应的报警级别如下
0 OK 1 Warning 2 Cirital 3 Unknown Others Unknown
所以,想让Nagios认为你的服务是OK的, 要返回0给Nagios。其它的相对应,返回值可以使用return或者exit来返回!
- #!/bin/bash
- # author: honway.liu
- # date: 2012-07-11
- # version: 0.0.1
- # desc: check web server status
- Usage() {
- echo "##################"
- echo "$0 URL"
- echo "##################"
- }
- if [ $# -lt 1 ];then
- Usage
- else
- url_status=$(curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} $1)
- if [ $url_status -eq 200 ]; then
- echo "OK - $1"
- exit 0
- else
- echo "Cirtical - $1"
- exit 2
- fi
- fi