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

Nagios проверяет частоту обслуживания в зависимости от статуса обслуживания

Я пытаюсь обнаружить перегрузку диска, отслеживая si, поэтому из команды vmstat. Я слежу за другими службами с помощью nagios, и проверка служб происходит каждые 5 минут. Для этой службы обмолота я хочу, чтобы nagios проверял ее каждые 20 минут, и если возвращаемый статус не в порядке (например, предупреждение или критический), то службу обмолота следует проверять каждые 3 минуты, пока статус, возвращаемый службой, не станет ОК. Время проверки услуги для всех остальных услуг остается неизменным.

Я новичок в Nagios, и любая помощь по этому поводу будет очень признательна.

Предполагая, что interval_length По умолчанию для директивы установлено значение 60:

$ grep interval_length /usr/local/nagios/etc/nagios.cfg 
# This value works of the interval_length you specify later.  If you leave
# actual seconds rather than a multiple of the interval_length variable.
interval_length=60

Для специальных сервисов вам необходимо определить другой шаблон в /usr/local/nagios/etc/objects/templates.cfg:

define service{
        name                            special-service    
        ...
        max_check_attempts              3           
        normal_check_interval           20         
        retry_check_interval            3           
        notification_interval           60   
        ...   
        }

Обратите внимание на:

  • normal_check_interval: эта услуга проверяется каждые 20 минут при нормальных условиях
  • retry_check_interval: количество минут ожидания перед планированием повторной проверки, когда служба перешла в состояние, отличное от ОК. Обратите внимание, что если услуга была повторена max_attempts время без изменения его статуса, он вернется к запланированному на check_interval ставка.

и используйте этот шаблон для своей службы:

define service{
    use                     special-service
    host_name               xx
    service_description     yy
    check_command           zz
    contact_groups          admins
    }

Вам также может потребоваться определить эскалация услуг изменить notification_interval в зависимости от состояния службы примерно так:

define serviceescalation{
    host_name               xx
    service_description     yy
    last_notification       0
    notification_interval   10
    escalation_options      [w,u,c]
    contact_groups          admins
    }

Это означает, что эта эскалация службы используется, когда служба находится в состоянии ПРЕДУПРЕЖДЕНИЕ, НЕИЗВЕСТНО или КРИТИЧЕСКОЕ. И теперь у вас есть новые интервалы уведомлений: 10 минут.