首先,你必须确保的确是误报,因为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”