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

时间:2012-11-17 19:39:45

标签: 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不是主机,因此我无法调用此命令。

3 个答案:

答案 0 :(得分:3)

我最终从Nagios正在监控的其中一台服务器上调用此命令。看起来Nagios监控必须与主机绑定。

答案 1 :(得分:3)

您可以定义虚拟主机,禁用主动检查并启用被动检查。 然后将被动检查结果提交为OK - 您将永远拥有此状态。

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

答案 2 :(得分:1)

只要您使用预定义命令,Nagios就会绑定到其主机中定义的HOSTNAME以进行检查。在下面的示例中,命令将被预定义为

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$
}