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

Ошибка «Не удается открыть файл журнала MRTG» с nagios и mrtg

У нас возникла странная проблема с нашей настройкой 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).