Назад | Перейти на главную страницу

Плагин Nagios Docker Stack работает локально, но не удаленно

У меня есть плагин для проверки служб, работающих на докере.
Я просмотрел все предложения из десятков сообщений, которые я видел здесь, но я все еще не могу заставить это работать.
Все команды выполняются индивидуально, и сценарий также выполняется локально.
Я добавил пользователя nrpe в группы wheel и docker и установил группу wheel в visudo, чтобы запускать что-либо без пароля.

Я временно изменил / etc / passwd, чтобы позволить пользователю nrpe войти в систему с помощью оболочки. Скрипт запускается с 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. 

Любая идея, какое разрешение мне не хватает или что-то еще?

SELinux блокирует доступ моего сценария к "container_runtime_exec_t".
Я начну новый вопрос о том, как это разрешить. Моя новая компания использует selinux на большинстве систем.