Nagios печатает только часть вывода скрипта - PullRequest
0 голосов
/ 24 мая 2018

У меня есть скрипт bash, который проверяет, была ли создана резервная копия, и я запускаю ее в nagios.Сама проверка работает нормально, но nagios не выводит все те же выходные данные, которые я вижу при запуске в оболочке.

Сценарий bash:

#!/bin/bash
# Check whether a specified backup exists

filemask=$1

ls_output=$(smbclient \\\\Server\\Folder$ -U Domain\\Username%password -c ls | grep $filemask)
month=$(echo $ls_output | awk '{print $5}')
day=$(echo $ls_output | awk '{print $6}')
t=$(echo $ls_output | awk '{print $7}')

echo "Last Backup: $month $day $t"

today=$(date +%d)
yesterday=$(( 10#$today - 1 ))
if [ $yesterday -lt 10 ]; then
  yesterday="0$yesterday"
fi

if [ $day != $today -a $day != $yesterday ]; then
  exit 2
fi
exit 0

Когда я запускаю этотв оболочке я получаю что-то вроде

Last Backup: May 24 11:03:44

Но Нагиос показывает это только для вывода:

Last Backup:

1 Ответ

0 голосов
/ 24 мая 2018

Решение заключается в том, что nagios работает внутри док-контейнера, и поэтому адрес сервера, который работал на хосте, не работал в nagios.Smbclient не смог подключиться к серверу, но скрипт все еще завершал работу с кодом выхода 0, поэтому nagios был зеленым.

Таким образом, проблема не имела ничего общего с nagios, за исключением важностиубедившись, что скрипт дает код выхода 1 или 2 для любого типа ошибки.

...