我想用Nagios插件check_dns
,所以当我看看命令定义的时候
define command { command_name check_dns command_line $USER1$/check_dns -H $HOSTADDRESS$ -s $NAMESERVERHOSTADDRESS$ -a $EXPECTEDIPADDRESS$ }
我发现$NAMESERVERHOSTADDRESS$
不是一个标准的macros ,所以我不知道该怎么把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
来查找ns.example.com
,看看是否parsing到预期的IP。
题
我应该在命令定义中用我想要的值replace/硬编码$NAMESERVERHOSTADDRESS$
?
还是应该在服务定义中定义$NAMESERVERHOSTADDRESS$
的值? 如果是的话,怎么样?
我的服务器中没有这样的定义。 您可以将定义更改为使用$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 }
您需要用实际值replacename_server
和expected_address
。