Ошибка "Невозможно открыть файл журнала 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/xxxx_2.log - это правильный путь к журналу.

Мы продолжаем получать Невозможно открыть ошибку файла журнала MRTG в результате теста в веб-интерфейсе icinga.

Мы перепробовали все:

  • передать права собственности пользователю nagios или icinga в файл журнала
  • дать chmod 777 в файл
  • попробуйте скопировать файл в другой каталог и дать ему полное разрешение

Та же ошибка Странно то, что если мы используем команду, сгенерированную nagios в сеансе bash, команда работает как charm:

/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 не установлен, или проблемы с неверным путем к файлу журнала, но, похоже, это не наш случай.

Мы застряли, кто-нибудь может помочь?

2 ответа

Я решил проблему с настройкой команды следующим образом:

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).

Другие вопросы по тегам