-
Jun27
用nagios监控虚拟主机的http服务
Posted in Linux, 1,368 views
-
在nagios中提供有check_http命令模版,用来监控http服务是否存在。
这个命令模版的定义如下:
# 'check_http' command definition
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}可以看出,它是基于主机的HOSTADDRESS来监测,那么就有了这样一个问题:如果是虚拟主机,IP不可访问,只能用域名访问,如何监测?
运行check_http脚本
#nagios-3.0.3/libexec/check_http
check_http: Could not parse arguments
Usage: 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>]可见check_http中存在有 -H <vhost> ,用以监测虚拟主机。
具体实现方法如下:
1、vi commands.cfg
添加一个新的command:check_http_by_domain
去除-I $HOSTADDRESS参数,保留ARG1用以传递域名参数define command{
command_name check_http_by_domain
command_line $USER1$/check_http $ARG1$
}2、编辑主机配置文件<yourhost>.cfg
修改check_http服务中的check_command
check_command check_http_by_domain!-H test.dbalife.com
通过在command name后追加“!”提示符来传递参数重启nagios服务,等监测时间点过后,可以看到原本红色的http服务已经转绿了
Blogged with the Flock BrowserNo related posts.

Leave a comment | Trackback 这篇文章有3个评论.
1F samcall
2009-10-28 5:48 pm
试了一下,不需要修改命令模板。使用check_http时多传递-H 参数就可以了。
2F 流量计
2010-01-01 5:21 pm
博主写的不错,受益匪浅,学习了
3F 刘苏
2010-03-27 3:27 pm
刘苏到访,留个脚印...