我想使用 Nagios 插件check_dns
,所以当我查看它的命令定义时
define command {
command_name check_dns
command_line $USER1$/check_dns -H $HOSTADDRESS$ -s $NAMESERVERHOSTADDRESS$ -a $EXPECTEDIPADDRESS$
}
我认为这$NAMESERVERHOSTADDRESS$
不是一个标准宏,所以我不确定应该放什么command_line
以及在服务定义中应该放什么。
define service {
use generic-service
name check_dns
host_name ns.example.com
service_description Checks DNS
check_command check_dns
contact_groups linux-admins
}
目的是让 Nagios 监控主机请求ns.example.com
查找test.example.com
是否解析为预期的 IP。
问题
我是否应该用我想要的值替换/硬编码$NAMESERVERHOSTADDRESS$
命令定义?
$NAMESERVERHOSTADDRESS$
或者应该在服务定义中定义的值?如果是,该如何定义?
答案1
我的服务器中没有这样的定义。你可以更改定义以使用$ARGn$
如下方式:
define command {
command_name check_dns
command_line $USER1$/check_dns -H $HOSTADDRESS$ -s $ARG1$ -a $ARG2$
}
然后,您可以像这样使用服务定义:
define service {
use generic-service
name check_dns
host_name ns.example.com
service_description Checks DNS
check_command check_dns!name_server!expected_address
contact_groups linux-admins
}
您需要用实际值替换name_server
和。expected_address