Nagios:在Windows / Linux上禁用来自命令行的通知

我们的例行维护需要服务必须被降低。

问题是这些服务有Nagios检查,我们要么去Web界面,并禁用检查或获取电子邮件。

有没有从Windows和/或Linux客户端命令行的方式来禁用Nagios检查(或通知),并启用它? 理想情况下,这将发生在我们正在执行维护的机器上,而不是Nagios服务器本身。

我想禁用通知/检查预维护,并重新启用后维护。

假设客人可以访问networking界面,下面的命令行应该工作:

禁用通知

curl -d "cmd_typ=23&cmd_mod=2&host=[THE HOST]&service=[THE SERVICE]&btnSubmit=Commit" "http://[[NAGIOS SERVER]/nagios/cgi-bin/cmd.cgi" 

启用通知

 curl -d "cmd_typ=22&cmd_mod=2&host=[THE HOST]&service=[THE SERVICE]&btnSubmit=Commit" "http://[[NAGIOS SERVER]/nagios/cgi-bin/cmd.cgi" 

根据您的设置,您可能还需要使用curls的–insecure或–user选项。

而IIRC,服务和主机组的cmd_type号码是不同的 – 查看你的网页浏览器中使用了哪些链接。

哟可以使用nagios.cmd命令启用/禁用主机通知

例如:

禁用my-host的所有通知

 now=`date +%s` #Check first path nagios.cmd & printf commandfile='/var/lib/nagios3/rw/nagios.cmd' /usr/bin/printf "[%lu] DISABLE_HOST_NOTIFICATIONS;my-host\n" $now > $commandfile 

为我的主机启用所有通知

 now=`date +%s` #Check first path nagios.cmd & printf commandfile='/var/lib/nagios3/rw/nagios.cmd' /usr/bin/printf "[%lu] ENABLE_HOST_NOTIFICATIONS;my-host\n" $now > $commandfile 

你也可以检查这个URL Nagios通知命令

对于这样的使用,你可以编辑你的nagios服务文件,并禁用这个主机上的所有服务的检查,就像你在web界面中做的那样,并且需要修改一些选项。
举个例子如果您需要禁用机器nibiru中的DNS服务检查,请禁用如下所示的主动/被动检查。

 define service{ host_name nibiru service_description DNS ... active_checks_enabled 0 ; set value to 0 passive_checks_enabled 0 ; set value to 0 ... }