nagios 检查 HTTP 服务,经常报警的一个解决方法

首先,你必须确保的确是误报,因为check_http的默认时间是10秒,我们其实只要延长这个时间就可以得到正确的值,那我们在commands.cfg里找到check_http的定义,把command_line改成如下这样,手动加入 -t 20参数即可
 
command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ -t 20
 
check_http 选 项 说 明  -H, –hostname=ADDRESS 主机名或域名  -I, –IP-address=ADDRESS server的IP地址,用于在不能DNS的情况下  -p, –port=INTEGER 端口号,默认80  -u, –url=PATH url,默认是/  -w, –warning=DOUBLE warning状态的响应时间,单位是秒  -c, –critical=DOUBLE critical状态的响应时间,单位是秒  -t, –timeout=INTEGER 连接超时时间,默认10秒  -P, –post=STRING URL encoded http POST data -r, –regex, –ereg=STRING Search page for regex STRING    检查页面的返回值 -R  检查页面的返回值 ,忽略大小写 实例:check_http -I 172.18.33.11 -p 9080 -u “/health_check.jsp” -P “type=ids” -w 3 -c 10 -r “ok”