【问题标题】:Nagios - Could not open command file /usr/local/nagios/var/rw/nagios.cmd’ for updateNagios - 无法打开命令文件 /usr/local/nagios/var/rw/nagios.cmd' 进行更新
【发布时间】:2014-10-01 13:21:10
【问题描述】:

我正在尝试通过 Nagios Web 界面禁用对服务的主动检查,但我做不到。 Nagios 实例在 Centos 5 发行版上运行

每次我尝试停止服务时,都会收到以下消息: 无法打开命令文件“/usr/local/nagios/var/rw/nagios.cmd”进行更新!

虽然我尝试了在网上找到的几个建议:

usermod -a -G nagios apache
chmod 666 /usr/local/nagios/var/rw/nagios.cmd
chown nagios.nagcmd /usr/local/nagios/var/rw
chmod u+rwx /usr/local/nagios/var/rw
chmod g+rwx /usr/local/nagios/var/rw  
chmod g+s /usr/local/nagios/var/rw 

当然之后每次重启nagios服务。

感谢您的帮助! 干杯

【问题讨论】:

  • nagios_user 和 nagios_group config values 设置为什么? nagios.cmd 和每个目录的最新权限是什么?
  • nagios_user 和 nagios_group 都设置为 nagios。 nagios.cmd 的权限是prw-rw---- nagios nagcmd。谢谢

标签: monitoring nagios


【解决方案1】:

这个命令是错误的:

usermod -a -G nagios apache

您的 rw 目录和 nagios.cmd 文件的组权限是 nagcmd,而不是 nagios。你需要这个,而不是:

usermod -a -G nagcmd apache

这对我有用——或者更具体地说,在 Ubuntu 上,它是:

usermod -a -G nagios www-data

【讨论】:

    【解决方案2】:

    Selinux 也可能导致此问题。您可以通过以下方式检查其状态:

    sestatus
    

    如果当前模式是强制的,将其更改为许可:

    setenforce 0
    

    然后您可以将更改提交到 nagios.cmd。

    【讨论】:

    • 看起来 SELinux 强制模式确实导致了我的 nagios.cmd 问题,正如这里所建议的那样。知道如何使 Nagios 命令界面在启用强制模式的情况下始终如一地工作吗?
    【解决方案3】:

    这就是你必须遵循的方式

    service httpd stop
    
    service nagios stop
    
    
    usermod -G nagcmd nagios
    
    usermod -G nagcmd apache
    
    chown nagios:nagcmd /usr/local/nagios/var/rw
    
    chown nagios:nagcmd /usr/local/nagios/var/rw/nagios.cmd
    
    
    service httpd start
    
    service nagios start
    

    【讨论】:

      【解决方案4】:

      以下应该可以解决 Debian 中的问题:

      chown -R www-data:www-data /usr/local/nagios/var/
      

      【讨论】:

        【解决方案5】:

        唯一的问题是 selinux。 停止它,它会正常工作。归功于 Nagios 团队。

        【讨论】:

          【解决方案6】:

          我还没有看到这个被提及,它让我感到困惑,值得检查一下 apache 子进程是否以 apache 用户身份运行。

          我从源代码构建了我的 apache,它使用 daemon 作为子进程的默认用户和组,因此必须对其进行更改才能使其正常工作。

          【讨论】:

            【解决方案7】:

            对我有用的是:

            chmod ugo+rw /usr/local/nagios/var/rw/ /usr/local/nagios/var/rw/nagios.cmd
            

            并重新启动 apache 和 nagios。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2020-05-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-04-21
              相关资源
              最近更新 更多