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