Обработчик событий Nagios игнорирует интервал проверки - PullRequest
0 голосов
/ 18 апреля 2019

Я недавно создал обработчик событий для проверки сервиса, который перезапустит Tomcat на 3 разных окнах.

Настройки проверки:

5 чеков

2 минуты проверки, когда все в порядке

5 минут проверки в противном случае

В скрипте обработчика событий у меня есть:

# What state is the iOS PN in?
case "$1" in
OK)
        # The service is ok, so don't do anything...
        ;;
WARNING)
        # Is this a "soft" or a "hard" state?
        case "$2" in
                SOFT)
                        case "$3" in
                                #Check number
                                2)
                                        echo "`date` Restarting Tomcat on Node 1 for iOS PN (2nd soft warning state)..." >> /tmp/iOSPN.log
                                ;;
                                3)
                                        echo "`date` Restarting Tomcat on Node 2 for iOS PN (3rd soft warning state)..." >> /tmp/iOSPN.log
                                ;;
                                4)
                                        echo "`date` Restarting Tomcat on Node 3 for iOS PN (4th soft warning state)..." >> /tmp/iOSPN.log
                                ;;
                        esac
                        ;;
                HARD)
                        # Do nothing let Nagios send alert
                        ;;
                esac
        ;;
CRITICAL)
        # In theory nothing should reach this point...
        ;;
esac
exit 0

Таким образом, обработчик событий должен перезапустить Tomcat на узле 1 после 2-й проверки предупреждений, подождать 5 минут, прежде чем проверять снова, затем перезапустить узел 2, если проблема все еще существует, затем подождать 5 минут и проверить еще раз, затем перезапустить узел 3, если он все еще проблема.

Однако, когда я проверяю файл журнала, я вижу следующее:

Thu Apr 18 15:09:13 2019 Restarting Tomcat on Node 1 for iOS PN (2nd soft warning state)...
Thu Apr 18 15:09:23 2019 Restarting Tomcat on Node 2 for iOS PN (3rd soft warning state)...
Thu Apr 18 15:09:33 2019 Restarting Tomcat on Node 3 for iOS PN (4th soft warning state)...

Как вы видите, он будет перезапускать каждую коробку через 10 секунд, а не через 5 минут, я удалил строки, которые фактически вызывают перезапуск Tomcat, поскольку это не может быть сделано за такой короткий промежуток времени.

Я не вижу ничего в журналах Nagios, в которых подробно объясняется, почему он так быстро сделал следующую проверку, поэтому любая помощь будет принята.

Дополнительно:

Это определение сервиса:

define service{
        use                     5check-service
        host_name               ACTIVEMQ1
        contact_groups          tyrell-admins-non-critical
        service_description     ActiveMQ - iOS PushNotification Queue Pending Items
        event_handler           restartRemote_Tomcat!$SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
        check_command           check_activemq_queue_item2!http://activemq1:8161/admin/xml/queues.jsp!IosPushNotificationQueue!100!300
        }

define service{
        name                            5check-service      ; The 'name' of this service template
        active_checks_enabled           1                       ; Active service checks are enabled
        passive_checks_enabled          1                       ; Passive service checks are enabled/accepted
        parallelize_check               1                       ; Active service checks should be parallelized (disabling this can lead to major performance problems)
        obsess_over_service             1                       ; We should obsess over this service (if necessary)
        check_freshness                 0                       ; Default is to NOT check service 'freshness'
        notifications_enabled           1                       ; Service notifications are enabled
        event_handler_enabled           1                       ; Service 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
        is_volatile                     0                       ; The service is not volatile
        check_period                    24x7                    ; The service can be checked at any time of the day
        max_check_attempts              5                       ; Re-check the service up to 5 times in order to determine its final (hard) state
        normal_check_interval           2                       ; Check the service every 5 minutes under normal conditions
        retry_check_interval            5                       ; Re-check the service every two minutes until a hard state can be determined
        contact_groups                  support                 ; Notifications get sent out to everyone in the 'admins' group
        notification_options            w,u,c,r                 ; Send notifications about warning, unknown, critical, and recovery events
        notification_interval           5                       ; Re-notify about service problems every 5 mins
        notification_period             24x7                    ; Notifications can be sent out at any time
        register                        0                       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...