Nagios:HTTP使用XMPP进行检查,通知缺lessURL

我们正在使用Nagios安装来监视我们的基础设施和许多网站。 网站被监控的方式是使用check_http和URL作为参数。 我们使用这个,因为多个网站托pipe在同一个系统上,并且由于产品的URL密钥可以改变,所以URL可以合理地改变。

所以HTTP检查基本上是这样的:

 define service { host_name ourhostname service_description Typo 3 check_command check_http!www.ourdomain.com!/ max_check_attempts 3 check_interval 1 retry_interval 1 check_period 24x7 notification_interval 30 notification_period 24x7 contact_groups developers } 

还有问题。 当出现通知值得注意的问题时,sendxmpp就会这样调用:

 define command { command_name notify-service-by-xmpp command_line echo "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $ARG1$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/sendxmpp -j <server-ip> -u nagios -p <password> $CONTACTPAGER$ } 

在我们试图使用$ARG1$ ,我们需要检查URL。 看来通知可以访问有问题的对象的标准variables(例如$HOSTADDRESS$ ),但是我们需要URL。

问题也可能是我正在检查url错误。 通常情况下,您只有一个HOSTADDRESS条目,但是在主机定义中loggingURL似乎是错误的,然后添加多个命令来检查$HOSTADDRESS1$ $HOSTADDRESS15$

有没有人有一个解决scheme,如何访问传递给testing的命令行参数,或者更好的想法,如何在不同的虚拟主机下检查同一主机的大量URL,而无需打开多个不同的命令或不同的主机?

我不知道是否有更好的解决scheme,但这似乎是自定义variables的用例(参考: http : //nagios.sourceforge.net/docs/3_0/customobjectvars.html )

只需在服务定义中添加如下内容即可:

 _domain www.ourdomain.com 

然后你可以在通知命令中使用$ _DOMAIN $