Amazon s3 如何在Nagios中配置非主机服务?

Amazon s3 如何在Nagios中配置非主机服务?,amazon-s3,nagios,Amazon S3,Nagios,我需要监控AWS S3存储桶中存在的一些文件,为此我创建了一个简单的Nagios插件。现在,我必须对其进行配置,并将其定义为如下命令: define command{        command_name    check_s3file_exist        command_line    /usr/lib/nagios/plugins/check_s3_exist.py $ARG1$ } 现在,该命令需要在服务定义中使用,但据我所知,Nagios以主机概念为中心,但S3不是主机,所

我需要监控AWS S3存储桶中存在的一些文件,为此我创建了一个简单的Nagios插件。现在,我必须对其进行配置,并将其定义为如下命令:

define command{
        command_name    check_s3file_exist
        command_line    /usr/lib/nagios/plugins/check_s3_exist.py $ARG1$
}

现在,该命令需要在服务定义中使用,但据我所知,Nagios以主机概念为中心,但S3不是主机,所以我不知道在哪里调用该命令

Nagios只是绑定到主机中定义的主机名以进行检查,只要您使用预定义命令即可。在下面的示例中,命令将预定义为

check_http -H $HOSTNAME$ ...
您正在查找已经可用的命令

/usr/lib/nagios/plugins/check_http -H www.google.de -u /maps
其中,u参数是要检查的所需URI

所以只需定义命令

define command{
    command_name    check_s3file_exist
    command_line    /usr/lib/nagios/plugins/check_http -H $ARG1$ -u $ARG2$
}

我最后从Nagios正在监视的服务器之一调用了这个命令。看起来Nagios监控必须与主机绑定

您可以定义禁用主动检查和启用被动检查的虚拟主机。 然后将被动检查结果作为OK提交-您将永远处于此状态

我用随机IP创建了一个名为“Internet access”的主机,并完成了上面所写的操作,因为网络中不允许向外部主机发出icmp请求。
然后我添加了一些公共网页的检查。

谢谢Matthias,但这不是我想要的。我想我的描述不是很清楚。我编写了一个脚本来检查AWS S3中的文件是否存在,我想从Nagios调用它。但是AWS S3不是主机,据我所知,所有服务调用都需要与Nagios中的主机关联。也许我可以创建一个假主机或从现有主机调用此服务,但我希望找到一个更干净的机制。