Nagios检查网站上的文件

我想创build一个nagios检查,testing某个文件在公共网站上是否可用,以及该文件是否包含某行文本。

从命令行我一直在执行:

 ./check_http -H 192.168.1.2 -u http://192.168.1.2/index.html -t 5 -s“公司名称”

如果我删除文件或更改正在查找的文本,则通过确定并失败。

现在我想把它纳入我的nagiosconfiguration文件。

我创build一个具有上述IP地址的主机,并创build一个服务如下。

 check_command check_http!-u /index.html -t 5 -s“公司名称”

但是,如果我更改文件名,它正在检查或正在检查的文本仍然通过,即使我知道他们不存在于网站上。

我在做什么错我觉得我必须testing一个不同的文件或东西,它总是通过。

当你手动执行命令时,你正在调用/ usr / lib / nagios / plugins / check_http是否正确?

当您从nagiosconfiguration调用check_http时 ,它会查看/etc/nagios-plugins/config/http.cfg以确定check_http命令参数。

你需要做的是创build一个自定义检查,如:

define command { command_name check_web_content command_line $USER1$/check_http -H $HOSTADDRESS$ -t 60 -w 15 -c 45 -u $ARG1$ -s $ARG2$ 

}

然后在你的服务configuration你的check_command应该是这样的:

 check_command check_web_content!http://www.domain.com/index.html!"Text on site" 

首先你需要定义一个命令:

 define command { command_name check_http command_line $USER1$/check_http -H $HOSTADDRESS$ \ -u $ARG1$ -t $ARG2$ -s $ARG3$ } 

然后为你的主机条目定义check_command如下:

 check_command check_http!/index.html!5!"Company Name" 

您可以在Nagiosconfiguration中设置以下内容:查看实际执行的命令(请参阅完整命令的扩展):

 debug_level=-1 debug_verbosity=2 debug_file=/usr/local/nagios/var/nagios.debug