Nagios:启用外部命令
- 类别: 网络
我们又回到了这里,和你的老朋友纳吉斯一起回来了。如果您一直在关注,您会知道我已经使用此出色的网络监视工具进行了很多研究(请参阅所有Ghacks Nagios文章)。这是有原因的,Nagios是令人难以置信的工具。但是对于许多人来说,尝试运行一些更强大的功能时可能会遇到错误。当您尝试使用Nagios的任何外部命令时,都会发生此错误。但是这些外部命令是什么? Nagios能够运行来自外部应用程序的命令。这使Nagios可以比其他方式扩展得更多。
但是,当您看到此错误时,您知道您的Nagios安装无法使用任何外部命令。不用担心,此错误很容易解决,在本文中,我将引导您完成修复。
假设条件
这种方法将假定您具有正常的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安装更加有用。