1

Мне нужно предупреждение nagios, которое появляется, когда IP-номер присутствует, и исчезает, если его нет. Я не могу за это погуглить, потому что в основном люди хотят наоборот.

Интересно, есть ли простой способ сделать это, или я должен был бы написать плагин?

2 ответа2

2

Я бы порекомендовал использовать плагин "negate", который входит в новейшие пакеты плагинов для мониторинга. Страница руководства для плагина: https://www.monitoring-plugins.org/doc/man/negate.html

Затем создайте команду клиента и пользовательский хост, такой как:

define command{
        command_name    check-host-dead
        command_line    /usr/local/libexec/negate -s /usr/lib/nagios/plugins/check_ping -H '$HOSTADDRESS$' -w 5000,100% -c 5000,100% -p 1
        }

и хост плюс тупой сервис:

define host {
       host_name    hostname.domain.tld
       alias        Verbose Description Server
       address      192.168.1.50
       parents      parent.host_name
       notifications_enabled           1       ; Host notifications are enabled
       event_handler_enabled           1       ; Host event handler is enabled
       flap_detection_enabled          1       ; Flap detection is enabled
       failure_prediction_enabled      1       ; Failure prediction is enabled
       process_perf_data               1       ; Process performance data
       retain_status_information       1       ; Retain status information across program restarts
       retain_nonstatus_information    1       ; Retain non-status information across program restarts
       check_command                   check-host-dead
       max_check_attempts              10
       notification_interval           1440
       notification_period             wakehours
       notification_options            d,u,r
       contact_groups                  noticeadmins
       }
define service {
        host_name                       hostname.domain.tld
        service_description             Return OK
        check_command                   return-ok
        use                             generic-service
        contact_groups                  noticeadmins
        normal_check_interval           10
        notification_interval           60 ; set > 0 if you want to be renotified
}

Несколько замечаний: мы используем Check_MK в качестве нашего графического интерфейса для Nagios, и эстетически для каждого хоста требуется услуга, или мы получаем пустую / бесполезную страницу. Так что это сервис, который всегда в порядке. В моем приложении я хотел получать оповещения только один раз в день в течение дня, следовательно, 1440 / Wakehours. Вам нужно будет определить или изменить такие вещи, как wakehours / noteadmins.

1

Если у вас уже есть рабочая проверка, но она полностью противоположна тому, что вы хотите, пытались ли вы изменить значения выхода так, чтобы он не предупреждал о "сбое" и предупреждал об "успехе"? В вашем сценарии выход 0 предназначен для сбоя, а выход 1 или выход 2 - для успеха. Если вы не понимаете, что я имею в виду под значениями выхода, перейдите по этой ссылке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .