Nagios监控HTTP服务的使用和参数描述
监控主机设定文件define host{ use linux-server; 继承模板中linux-server的监控参数 host_name remotehost1 ; 主机名称 alias Some Remote Host ; 别名 address 192.168.200.10; IP地址 hostgrou
·
监控主机设定文件
define host{
use linux-server; 继承模板中linux-server的监控参数
host_name remotehost1 ; 主机名称
alias Some Remote Host ; 别名
address 192.168.200.10; IP地址
hostgroups allhosts ; 所属主机群组
}
在nagios的官方配置文件中,是使用generic-host来作为继承参数。我在实际测试中发现无法通过nagios监测,提示错误为Error: Invalid max_check_attempts value for host 'remotehost1'
即使添加了这个参数,还是会提示警告信息 Warning: Host 'remotehost1' has no default contacts or contactgroups defined!
use linux-server; 继承模板中linux-server的监控参数
host_name remotehost1 ; 主机名称
alias Some Remote Host ; 别名
address 192.168.200.10; IP地址
hostgroups allhosts ; 所属主机群组
}
在nagios的官方配置文件中,是使用generic-host来作为继承参数。我在实际测试中发现无法通过nagios监测,提示错误为Error: Invalid max_check_attempts value for host 'remotehost1'
即使添加了这个参数,还是会提示警告信息 Warning: Host 'remotehost1' has no default contacts or contactgroups defined!
关于这两个模板的差异,我会在之后的文档里面进行进一步的比较和说明
HTTP监控配置文件描述
define service{
use generic-service
host_name remotehost1
service_description httpmonitor
check_command check_http
}
这样就能够监控http服务了
use generic-service
host_name remotehost1
service_description httpmonitor
check_command check_http
}
这样就能够监控http服务了
确认一下/usr/local/nagios/etc/object/command.cfg 是否有关于check_http的指令
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
监控http服务参数描述
check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>][-w <warn time>] [-c <critical time>] [-t <timeout>] [-L][-a auth] [-f <ok | warn | critcal | follow>] [-e <expect>][-s string] [-l] [-r <regex> | -R <case-insensitive regex>][-P string][-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>] [-A string][-k string] [-S] [-C <age>] [-T <content-type>]
常用参数 -H 用于虚拟主机,并可以增加端口。例如,test.com:10000 -I IP地址 -S 基于SSL连接。默认端口为443 -u URL地址 -w 警告响应时间 响应时间超过指定时间则显示WARNING -c 临界报警响应时间 响应时间超过设定时间则显示CRITICAL -p 端口设定 -e 监测服务器反馈的第一行(状态)信息是否包含匹配字符 -N 不读取body部分,在读取header信息 -t timeout时间值 -v 显示服务器反馈的所有信息 -r 正则表达式匹配反馈页信息 -R 同上,但可以不考虑大小写问题 --invert-regex 反馈信息中包含字符则报警 -L 反馈信息包含URL link -a 对需要基础认证的,提供用户名和密码,获取反馈值
#监控域名的反馈
./check_http -H www.sina.com.cn
#监测该IP的10000端口,并且使用SSL协议
./check_http -I 192.168.200.1 -S -p 10000
#监测反馈的第一行信息中是否包含302,可以作为web程序反馈信息检测
./check_http -I 192.168.200.1 -S -p 10000 -e 302
#对该IP的指定URL进行检测
./check_http -I 192.168.200.10 -u /session_login.cgi
#检测域名,并且只获取header部分。这样可以加快检测响应时间,对大量web服务进行检测时,可以降低nagios服务器负载
./check_http -H www.sina.com.cn -N
#检测反馈页的生成时间是否超过10小时
./check_http -H www.sina.com.cn -M 10h
#在监测新浪网站是反馈时间超过5秒警告,超过10秒报警
./check_http -w 5 -c 10 -H www.sina.com.cn
#检测新浪网反馈页的时间超过5秒,就反馈CRITICAL - Socket timeout after 1 seconds
./check_http -t 5 -H www.sina.com.cn
#显示反馈的所有信息,包含整个页面的信息
./check_http -H www.sina.com.cn -v
#对需要帐户密码登录的网站,使用-a参数来进行登录。正确则显示HTTP OK,否则显示HTTP WARNING
./check_http -I 192.168.200.249 -u /nagios/ -a nagiosadmin:123456
更多推荐
已为社区贡献2条内容
所有评论(0)