Nagios Docker Stack 插件可以在本地运行,但不能在远程运行

Nagios Docker Stack 插件可以在本地运行,但不能在远程运行

我有一个插件可以检查在 docker 上运行的服务。
我已经浏览了我在这里看到的几十篇帖子中的所有建议,但我仍然无法让它工作。
所有命令都单独运行,脚本也在本地运行。
我将 nrpe 用户添加到 wheel 和 docker 组中,并在 visudo 中设置 wheel 组以无需密码即可运行任何内容。

我临时修改了 /etc/passwd 以允许 nrpe 用户使用 shell 登录。该脚本可以使用或不使用 sudo 运行。

此部分成功通过:

/bin/docker > /dev/null 2>&1
if [ $? -eq 1 ]; then
   echo "UNKNOWN - Missing docker binary"
   exit 3
fi

这部分失败了。该命令以“1”存在,我无法从 docker 命令获得任何输出。我尝试了几种方法,包括将其写入文件,但每次文件都是空白的。

/bin/docker stack ls | grep $STACK
if [ $? -eq 1 ]; then
  echo "UNKNOWN - $STACK does not exist.  $(/usr/bin/sudo /bin/docker stack ls) \n  $(whoami)"
exit 3
fi

这是我得到的输出:

UNKNOWN - ValidService does not exist.   \n  nrpe. 

知道我缺少什么权限或者是其他什么吗?

答案1

SELinux 阻止我的脚本访问“container_runtime_exec_t”。
我将提出一个关于如何允许此操作的新问题。我的新公司在大多数系统上运行 selinux。

相关内容