Мы используем Nagios для контроля нашей сети с большим успехом. Однако у нас есть системный журнал для ошибок важного приложения и в то время как я настроил check_log, это, кажется, не работает, а также контроль устройства.
Проблемы:
Действительно ли nagios является неправильным инструментом, или разве мы просто не настраиваем сервис, контролирующий право?
Вот мои записи
# log file
define command{
command_name check_log
command_line $USER1$/check_log -F /var/log/applications/appcrit.log -O /tmp/appcrit.log -q ?
}
# Define the log monitering service
define service{
name logfile-check ;
use generic-service ;
check_period 24x7 ;
max_check_attempts 1 ;
normal_check_interval 5 ;
retry_check_interval 1 ;
contact_groups admins ;
notification_options w,u,c,r ;
notification_period 24x7 ;
register 0 ;
}
define service{
use logfile-check
host_name localhost
service_description CritLogFile
check_command check_log
}
Ничто в вашей конфигурации не показывается мне как неправильно настроенное.
По умолчанию check_log будет показывать только сообщение OK или последнюю запись в журнале, вызвавшую предупреждение. Если вам нужно увидеть несколько записей, вам нужно изменить плагин.
Однако я нахожу тот факт, что вы не получаете выздоровления, несколько странным. Как работает check_log (сравнивая текущий журнал с предыдущей версией), вы должны получить восстановление при следующей проверке службы. За исключением, конечно, тех случаев, когда в журнал были добавлены дополнительные совпадающие записи с момента последней проверки.
Принудительная проверка другой службы (или нескольких) приводит к ее восстановлению?
Кроме того, я не имею в виду этого, но убедитесь, что она действительно неисправна. В ваш журнал добавляется дополнительная информация. совпадающие записи между проверками, из-за чего он не восстанавливается? Ваш чек соответствует "?" что будет соответствовать всему новому в журнале. Может быть, что-то еще (не связанное с ошибкой) добавляется в журнал и непреднамеренно вызывает совпадение?
Если ничего из вышеперечисленного не является проблемой, я бы предложил сузить ее, исключив Nagios из уравнения. Попробуйте запустить check_log вручную (из командной строки, но от имени того же пользователя, что и nagios) и с другим старым журналом. Должно получиться что-то вроде этого -
Если это не сработает, то вы знаете, что нужно сосредоточиться на журнале, старом журнале и на том, как check_log выполняет проверку.
Если это работает, то это скорее указывает на проблему с вашей конфигурацией nagios.