【发布时间】:2015-11-25 10:43:14
【问题描述】:
我在 Icinga 中有一个条件规则来执行检查 cas 身份验证的脚本。 该脚本使用 URL 并在返回的页面中 grep 字符串。 URL 和字符串被赋予脚本的属性。
这是主机的定义:
object Host "m" {
address = "1xx.xx7.25"
import "linux-server"
display_name = "m"
vars.curl_casURL = "http://xxx.html"
vars.curl_casGREP = "Returned String"
}
这是服务的代码,它仅在主机中定义了 curl_casURL 和 curl_casGREP 2 个变量时执行:
apply Service "cas" {
import "generic-service"
check_command = "cas"
assign where (host.vars.curl_casURL && host.vars.curl_casGREP)
}
在web界面,没关系,我看到脚本是为服务器“m”执行的。
命令如下:
object CheckCommand "cas" {
import "plugin-check-command"
command = [ PluginDir + "/icinga-curl_cas.sh" ]
command +=[ vars.curl_casURL + vars.curl_casGREP ]
}
但由于脚本的第一行,脚本从不接收参数并回显临界状态:
if [ ! $1 ]
then
echo "GIVE ME AN URL, PLEASE!"
exit $STATE_CRITICAL
fi
我没有在文档中找到答案。谁能帮助我? 谢谢!!
【问题讨论】:
标签: service attributes conditional icinga