我想创建一个 nagios 检查来测试某个文件是否在公共网站上可用,以及该文件是否包含某行文本。
从我一直在执行的命令行:
./check_http -H 192.168.1.2 -u http://192.168.1.2/index.html -t 5 -s "公司名称"
如果我删除文件或更改它正在寻找的文本,它会通过 OK 并失败。
现在我想将它合并到我的 nagios 配置文件中。
我创建了一个具有上述 ip 地址地址的主机,并按如下方式创建服务。
check_command check_http!-u /index.html -t 5 -s "公司名称"
但是,如果我更改它正在检查的文件名或它正在检查的文本,即使我知道它们在网站上不存在,它仍然会通过。
我做错了什么我想我必须测试一个不同的文件或其他东西才能让它总是通过。
首先你需要定义一个命令:
然后为您的主机条目定义 check_command 如下:
当您手动执行命令时,您正在调用/usr/lib/nagios/plugins/check_http对吗?
当您从 nagios 配置调用check_http时,它会查看/etc/nagios-plugins/config/http.cfg以确定check_http命令参数。
您需要做的是创建一个自定义检查,例如:
}
然后在您的服务配置中,您的 check_command 应该类似于:
您可以在 Nagios 配置中设置以下内容,查看实际执行的命令(请参阅完整命令的扩展):