У нас возникла странная проблема с нашей настройкой icinga / nagios и mrtg.
Icinga отлично работает и у нее нет проблем, она может контролировать практически все без проблем.
Мы настраиваем mrtg для сбора данных о полосе пропускания с наших маршрутизаторов и коммутаторов. MRTG работает нормально: он хранит данные журнала в каталоге / var / www / mrtg / и отображает данные графика через Интернет. Мы предполагаем, что у MRTG все отлично.
Мы пробовали настроить проверку пропускной способности в nagios:
define service{
use generic-service ; Inherit values from a template
host_name zywall-agora
service_description ZYWALL AGORA TRAFFICO
check_command check_local_mrtgtraf!/var/www/mrtg/x.x.x.x_2.log!AVG!1000000,2000000!5000000,5000000!1000
check_interval 1 ; Check the service every 1 minute under normal conditions
retry_interval 1 ; Re-check every minute until its final/hard state is determined
}
Где /var/www/mrtg/x.x.x.x_2.log - это правильный путь к файлу журнала.
Мы продолжаем получать Невозможно открыть файл журнала MRTG ошибка результата теста в веб-интерфейсе icinga.
Все перепробовали:
Та же ошибка. Странно то, что если мы используем команду, которую nagios генерирует в сеансе bash, команда работает как шарм:
/usr/lib64/nagios/plugins/check_mrtgtraf -F /var/www/mrtg/x.x.x.x_2.log -a AVG -w 10,20 -c 5000000,5000000 -e 10
Результат:
Traffic WARNING - Avg. In = 17.9 KB/s, Avg. Out = 5.0 KB/s|in=17.877930KB/s;10.000000;5000000.000000;0.000000 out=5.000000KB/s;20.000000;5000000.000000;0.000000
Мы запустили эту командную строку как root, как пользователь nagios и как пользователь icinga, и все три работали нормально. Мы подумали, что в команде, которую выполняет nagios, возможно, что-то не так, поэтому мы отладили nagios, но обнаружили, что сгенерированная команда от nagios такая же, как и выше.
Поиск в Google проблем такого типа возвращает только проблемы с системами, в которых mrtg не установлен, или проблемы с неправильным путем к файлу журнала, но, похоже, это не наш случай.
Мы застряли, может кто-нибудь помочь?
Я решил проблему с командой настройки следующим образом:
define command{
command_name check_local_mrtgtraf
command_line $USER1$/check_mrtgtraf $ARG1$ 10 AVG $ARG2$ $ARG3$ $ARG4$
}
и определение службы следующим образом:
define service {
use ...
host_name ....
...
check_command check_local_mrtgtraf!path_to_logfile!30,40!100,200!10
}
Покажите нам определение вашей команды для "check_local_mrtgtraf". Возможно, это не соответствует тому, что вы передаете как ARG.
Кроме того, вы можете попробовать запустить его через 'env -i', чтобы имитировать, как nagios / icinga запускает его (без ENV).