У меня есть плагин для проверки служб, работающих на докере.
Я просмотрел все предложения из десятков сообщений, которые я видел здесь, но я все еще не могу заставить это работать.
Все команды выполняются индивидуально, и сценарий также выполняется локально.
Я добавил пользователя 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 на большинстве систем.