自定义nagios命令,附加$ HOSTADDRESS $

我对nagios非常陌生,并试图得到一个自定义的命令来弯曲我的意志。

我已经查看了各种示例,并且找不到任何追加$ HOSTADDRESS $macros的任何人,所以也许我必须去讨论这个不同的路由,但是我需要的是将一个parameter passing给命令,如下所示:

HOST_ADDRESS/StatusCheck?auth=secretKey

这是一个可用的例子(只有一个主机)

 define service { use generic-service hostgroup_name my-hostgroup service_description my custom check check_command check_custom_status!http://example.com/StatusCheck?auth=secretKey } 

显然,这对我来说不起作用,因为它只检查一个主机(在这种情况下是example.com)。

这是一个不起作用的例子,但我希望它能做到,我可以切换语法有点让这个工作?

 define service { use generic-service hostgroup_name my-hostgroup service_description my custom check check_command check_custom_status!$HOSTADDRESS$/StatusCheck?auth=secretKey } 

(它不检查/StatusCheck页面)。 如何附加$ HOSTADDRESS $macros?

我希望有一个非常简单的解决办法,如果我忽略了一些非常简单的道歉。

命令定义

 define command { command_name check_custom_status command_line $USER1$/check_custom_status.pl -U $ARG1$ } 

我的Perl脚本需要一个单一的URL参数( -U

主机和服务定义中不使用macros。 如果你想使用它,你会把$HOSTADDRESS$macros放在命令定义中。

$HOSTADDRESS$macros已经可用于正在运行的命令以及数十个其他macros,因为Nagios知道该命令与哪个主机/服务相关联。

在你的情况下,你可能想要这样的东西,你把身份validation密钥作为ARG1传递给你:

 define command { command_name check_custom_status command_line $USER1$/check_custom_status.pl -U http://$HOSTADDRESS$/StatusCheck?auth=$ARG1$ } 

查看macros及其工作方式以及可用的macros文档页面列表,以了解它是如何工作的。