我使用check_http是为了监控公司的一些网站,防止在公司不名情况下用户无法访问而遭到投诉。我一直监控的是域名,例如:http://www.123.com,经过一段时间的使用,发现nagios自带的check_http命令参数有限,以IIS下运行的站点为例,如果我手动将站点停止,访问站点会显示【建设中】,而此种情况nagios不报警,但是对于用户来说,已经无法正常访问了,所以针对此情况,我又详细参考了下命令帮助后,决定不只监控域名而已,要监控网站下面具体的页面,这样更准确。

check_http -H | -I [-u ] [-p ][-w ] [-c ] [-t ] [-L] [-a auth][-b proxy_auth] [-f ][-e ] [-s string]

[-l] [-r | -R ][-P string] [-m :] [-4|-6] [-N] [-M ][-A string] [-k string] [-S] [--sni] [-C ]

[-T ][-j method]

-H:主机名,支持虚拟主机,也可以添加端口

-I:使用IP地址或者名字

-p:检测端口,默认是80

参数很多,以后慢慢了解吧。。。。。。。。

1、监控网站首页(监控其他页面也适用)

check_http -H www.123.com -p 80 -u http://www.123.com/index.html

具体到nagios的配置如下:(我使用nconf配置nagios)

(1)、新建一个check_http的命令check_port_url

check command line:$USER1$/check_http -I $HOSTADDRESS$ -p $ARG1$ -u $ARG2$

amount of params:控制ARG参数的个数

140254181.jpg

(2)、新建一个监控网页的服务,使用上面新建的命令

135437680.jpg


135723996.jpg