Nagios:启用外部命令

尝试消除问题的工具

我们又回到了这里,和你的老朋友纳吉斯一起回来了。如果您一直在关注,您会知道我已经使用此出色的网络监视工具进行了很多研究(请参阅所有Ghacks Nagios文章)。这是有原因的,Nagios是令人难以置信的工具。但是对于许多人来说,尝试运行一些更强大的功能时可能会遇到错误。当您尝试使用Nagios的任何外部命令时,都会发生此错误。但是这些外部命令是什么? Nagios能够运行来自外部应用程序的命令。这使Nagios可以比其他方式扩展得更多。

但是,当您看到此错误时,您知道您的Nagios安装无法使用任何外部命令。不用担心,此错误很容易解决,在本文中,我将引导您完成修复。

假设条件

图1

这种方法将假定您具有正常的Nagios安装以及对服务器的root或sudo访问权限。本文还假定您已尝试使用需要外部命令的功能。如果没有,让我们看看如何。

如果将浏览器指向Nagios服务器,请单击“服务详细信息”链接,然后单击其中一项服务(例如HTTP或SSH)。在此页面上,您将看到“服务命令”框。如果您单击这些链接之一,则收到错误消息-您需要修复!

解决方法

保存为零吧?有点。首先要检查的是 /etc/nagios3/nagios.cfg文件 。寻找类似的行:

check_external_commands = 1

如果该行被注释掉或设置为“ 0”,则将其更改为上面的条目。完成后,保存并关闭文件。现在,使用以下命令重新启动Nagios sudo /etc/init.d/nagios3重新启动 。您尚未完成。

下一步是打开 /etc/nagios3/cgi.cfg 文件。您很可能会找到这两行:

authorized_for_all_services = nagiosadmin

authorized_for_all_hosts = nagiosadmin

在这两行之后,您需要添加以下内容:

authorized_for_all_host_commands = nagiosadmin

authorized_for_all_service_commands = nagiosadmin

保存并关闭此文件。现在使用命令重新启动Apache sudo /etc/init.d/apache2重新启动

仍然没有完成。现在,您必须对 / etc / groups 。使用您喜欢的文本编辑器打开此文件,然后查找如下所示的行:

nagios:x:127:

将此行更改为:

nagios:x:127:www-data

现在保存并关闭该文件。快完成了但是下一步比前一步更具挑战性。

在目录中 / var / lib / nagios3 / rw 是一个文件 nagios.cmd 。此文件很可能没有设置正确的权限。默认情况下,只有用户nagios可以访问这些文件。由于我们不能将其更改为www-data用户(这会破坏Nagios的其他功能),因此我们只需将可执行组位添加到文件中,如下所示:

须藤chmod g + x / var / lib / nagios / rw

而已。现在回到该“服务命令”部分,然后单击链接之一。您应该不再遇到该错误。

最后的想法

您可能以为您的Nagios安装非常有用。现在,您可以执行外部命令,您会发现Nagios安装更加有用。