Как я использую Nagios для контроля файла журнала

Мы используем 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
}
23
задан Kenoyer130 3 March 2010 в 17:51
поделиться

1 ответ

Ничто в вашей конфигурации не показывается мне как неправильно настроенное.

По умолчанию check_log будет показывать только сообщение OK или последнюю запись в журнале, вызвавшую предупреждение. Если вам нужно увидеть несколько записей, вам нужно изменить плагин.

Однако я нахожу тот факт, что вы не получаете выздоровления, несколько странным. Как работает check_log (сравнивая текущий журнал с предыдущей версией), вы должны получить восстановление при следующей проверке службы. За исключением, конечно, тех случаев, когда в журнал были добавлены дополнительные совпадающие записи с момента последней проверки.

Принудительная проверка другой службы (или нескольких) приводит к ее восстановлению?

Кроме того, я не имею в виду этого, но убедитесь, что она действительно неисправна. В ваш журнал добавляется дополнительная информация. совпадающие записи между проверками, из-за чего он не восстанавливается? Ваш чек соответствует "?" что будет соответствовать всему новому в журнале. Может быть, что-то еще (не связанное с ошибкой) добавляется в журнал и непреднамеренно вызывает совпадение?

Если ничего из вышеперечисленного не является проблемой, я бы предложил сузить ее, исключив Nagios из уравнения. Попробуйте запустить check_log вручную (из командной строки, но от имени того же пользователя, что и nagios) и с другим старым журналом. Должно получиться что-то вроде этого -

  1. запустить проверку с новым "старым журналом" - получить сообщение инициализации
  2. запустить проверку - проверить ОК
  3. внести изменения в журнал
  4. запустить проверку - проверка завершится неудачно
  5. запустить проверку - check OK

Если это не сработает, то вы знаете, что нужно сосредоточиться на журнале, старом журнале и на том, как check_log выполняет проверку.

Если это работает, то это скорее указывает на проблему с вашей конфигурацией nagios.

3
ответ дан 29 November 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: