Skip to content
This repository has been archived by the owner on Jan 15, 2019. It is now read-only.

[dev.icinga.com #1744] reduce notification load by moving notification viability check into notification list creation #694

Closed
icinga-migration opened this issue Jul 22, 2011 · 11 comments

Comments

@icinga-migration
Copy link

This issue has been migrated from Redmine: https://dev.icinga.com/issues/1744

Created by mfriedrich on 2011-07-22 16:42:43 +00:00

Assignee: mfriedrich
Status: Resolved (closed on 2011-11-01 11:57:30 +00:00)
Target Version: 1.6
Last Update: 2011-12-03 11:30:13 +00:00 (in Redmine)


this makes sense as the list created once, but the viability checks always need to called a bit further. not even adding the contacts which should be notified in the first place makes sense.

Attachments

Changesets

2011-10-21 19:17:23 +00:00 by mfriedrich 365574b

* core: reduce notification load by moving notification viability check into notification list creation #1744 ; fix $NOTIFICATIONRECIPIENTS$ macro contains all contacts assigned to host|service, not only notified contacts #2023

two in one. please check the dev tracker issues
for a deeper analysis.

https://dev.icinga.org/issues/1744
https://dev.icinga.org/issues/2023

kudos to Opsview Team for their initial patch, now reworked
against local macros, added inline comments to the code too.

refs #1744
refs #2023

Relations:

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-08-23 08:51:45 +00:00

  • Status changed from New to Assigned
  • Assigned to set to mfriedrich
  • Target Version set to 1.6

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-17 13:07:56 +00:00

  • Target Version changed from 1.6 to 1.7

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 16:15:40 +00:00

questions to step into, as the load reduce with creating the lists in the first place and not checking on each notification themselves...

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 16:52:54 +00:00

if any, then those

http://docs.icinga.org/latest/en/macrolist.html#macrolist-notificationrecipients

a notification works like this:

# a notification gets called from an event (hard state change or similar)

base/flapping.c:                host_notification(hst, NOTIFICATION_FLAPPINGSTART, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/flapping.c:        host_notification(hst, NOTIFICATION_FLAPPINGSTOP, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/flapping.c:                host_notification(hst, NOTIFICATION_NORMAL, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/flapping.c:                host_notification(hst, NOTIFICATION_FLAPPINGDISABLED, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/flapping.c:                        host_notification(hst, NOTIFICATION_NORMAL, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/checks.c:                          host_notification(temp_host, NOTIFICATION_NORMAL, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/checks.c:                  host_notification(hst, NOTIFICATION_NORMAL, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/checks.c:                  host_notification(hst, NOTIFICATION_NORMAL, NULL, NULL, NOTIFICATION_OPTION_NONE);
base/notifications.c:int host_notification(host *hst, int type, char *not_author, char *not_data, int options) {
base/notifications.c:int is_valid_escalation_for_host_notification(host *hst, hostescalation *he, int options) {
base/notifications.c:   log_debug_info(DEBUGL_FUNCTIONS, 0, "is_valid_escalation_for_host_notification()\n");
base/notifications.c:           if (is_valid_escalation_for_host_notification(hst, temp_he, NOTIFICATION_OPTION_NONE) == TRUE)
base/notifications.c:                   if (is_valid_escalation_for_host_notification(hst, temp_he, options) == FALSE)
base/notifications.c:           if (is_valid_escalation_for_host_notification(hst, temp_he, NOTIFICATION_OPTION_NONE) == FALSE)
base/commands.c:                        host_notification(temp_host, NOTIFICATION_CUSTOM, buf[0], buf[1], intval);
base/commands.c:                host_notification(hst, NOTIFICATION_ACKNOWLEDGEMENT, ack_author, ack_data, NOTIFICATION_OPTION_NONE);
Übereinstimmungen in Binärdatei base/notifications.o.
Übereinstimmungen in Binärdatei base/icinga.
common/downtime.c:                              host_notification(hst, NOTIFICATION_DOWNTIMECANCELLED, NULL, NULL, NOTIFICATION_OPTION_NONE);
common/downtime.c:                      host_notification(hst, NOTIFICATION_DOWNTIMEEND, temp_downtime->author, temp_downtime->comment, NOTIFICATION_OPTION_NONE);
common/downtime.c:                              host_notification(hst, NOTIFICATION_DOWNTIMESTART, temp_downtime->author, temp_downtime->comment, NOTIFICATION_OPTION_NONE);

# within host_notification, the list of contacts gets created

int host_notification(host *hst, int type, char *not_author, char *not_data, int options) {
....
        /* create the contact notification list for this host */
        create_notification_list_from_host(&mac, hst, options, &escalated);

# that creation steps through all contacts assigned to that host and adds the contact for that notification

int create_notification_list_from_host(icinga_macros *mac, host *hst, int options, int *escalated) {
....
                /* add all individual contacts for this host */
                for (temp_contactsmember = hst->contacts; temp_contactsmember != NULL; temp_contactsmember = temp_contactsmember->next) {
                        if ((temp_contact = temp_contactsmember->contact_ptr) == NULL)
                                continue;
                        add_notification(mac, temp_contact);
                }

# in add_notification, a new notification is created for that contact, and added to the global list in memory

        /* add new notification to head of list */
        new_notification->next = notification_list;
        notification_list = new_notification;

# then the macro is being populated

        /* add contact to notification recipients macro */
        if (mac->x[MACRO_NOTIFICATIONRECIPIENTS] == NULL)
                mac->x[MACRO_NOTIFICATIONRECIPIENTS] = (char *)strdup(cntct->name);
        else {
                if ((mac->x[MACRO_NOTIFICATIONRECIPIENTS] = (char *)realloc(mac->x[MACRO_NOTIFICATIONRECIPIENTS], strlen(mac->x[MACRO_NOTIFICATIONRECIPIENTS]) + strlen(cntct->name) + 2))) {
                        strcat(mac->x[MACRO_NOTIFICATIONRECIPIENTS], ",");
                        strcat(mac->x[MACRO_NOTIFICATIONRECIPIENTS], cntct->name);
                }
        }

# back in the host_notification from 2., after the list has been created for all contacts, the notification_list is checked and processed

int host_notification(host *hst, int type, char *not_author, char *not_data, int options) {
....
        /* we have contacts to notify... */
        if (notification_list != NULL) {

# all other macros are calculated/processed and then the notify_contact_of_host function is called

                /* notify each contact (duplicates have been removed) */
                for (temp_notification = notification_list; temp_notification != NULL; temp_notification = temp_notification->next) {

                        /* grab the macro variables for this contact */
                        grab_contact_macros_r(&mac, temp_notification->contact);

                        /* clear summary macros (they are customized for each contact) */
                        clear_summary_macros_r(&mac);

                        /* notify this contact */
                        result = notify_contact_of_host(&mac, temp_notification->contact, hst, type, not_author, not_data, options, escalated);

                        /* keep track of how many contacts were notified */
                        if (result == OK)
                                contacts_notified++;
                }

# then checked if the viability is given for the contact

int notify_contact_of_host(icinga_macros *mac, contact *cntct, host *hst, int type, char *not_author, char *not_data, int options, int escalated) {
....
        /* check viability of notifying this user about the host */
        /* acknowledgements are no longer excluded from this test - added 8/19/02 Tom Bertelson */
        if (check_contact_host_notification_viability(cntct, hst, type, options) == ERROR)
                return ERROR;

# checking a contact for viability looks like this

        /* forced notifications bust through everything */
        if (options & NOTIFICATION_OPTION_FORCED) {
                log_debug_info(DEBUGL_NOTIFICATIONS, 2, "This is a forced host notification, so we'll send it out for this contact.\n");
                return OK;
        }

        /* are notifications enabled? */
        if (cntct->host_notifications_enabled == FALSE) {
                log_debug_info(DEBUGL_NOTIFICATIONS, 2, "Host notifications are disabled for this contact.\n");
                return ERROR;
        }

        /* see if the contact can be notified at this time */
        if (check_time_against_period(time(NULL), cntct->host_notification_period_ptr) == ERROR) {
                log_debug_info(DEBUGL_NOTIFICATIONS, 2, "This contact shouldn't be notified at this time.\n");
                return ERROR;
        }

        /* custom notifications are good to go at this point... */
        if (type == NOTIFICATION_CUSTOM)
                return OK;

        if (type == NOTIFICATION_FLAPPINGSTART || type == NOTIFICATION_FLAPPINGSTOP || type == NOTIFICATION_FLAPPINGDISABLED) {

                if (cntct->notify_on_host_flapping == FALSE) {
                        log_debug_info(DEBUGL_NOTIFICATIONS, 2, "We shouldn't notify this contact about FLAPPING host events.\n");
                        return ERROR;
                }

                return OK;
        }

        if (type == NOTIFICATION_DOWNTIMESTART || type == NOTIFICATION_DOWNTIMEEND || type == NOTIFICATION_DOWNTIMECANCELLED) {

                if (cntct->notify_on_host_downtime == FALSE) {
                        log_debug_info(DEBUGL_NOTIFICATIONS, 2, "We shouldn't notify this contact about DOWNTIME host events.\n");
                        return ERROR;
                }

                return OK;
        }

        /* see if we should notify about problems with this host */
        if (hst->current_state == HOST_DOWN && cntct->notify_on_host_down == FALSE) {
                log_debug_info(DEBUGL_NOTIFICATIONS, 2, "We shouldn't notify this contact about DOWN states.\n");
                return ERROR;
        }

        if (hst->current_state == HOST_UNREACHABLE && cntct->notify_on_host_unreachable == FALSE) {
                log_debug_info(DEBUGL_NOTIFICATIONS, 2, "We shouldn't notify this contact about UNREACHABLE states,\n");
                return ERROR;
        }

        if (hst->current_state == HOST_UP) {

                if (cntct->notify_on_host_recovery == FALSE) {
                        log_debug_info(DEBUGL_NOTIFICATIONS, 2, "We shouldn't notify this contact about RECOVERY states.\n");
                        return ERROR;
                }

                if (!((hst->notified_on_down == TRUE && cntct->notify_on_host_down == TRUE) || (hst->notified_on_unreachable == TRUE && cntct->notify_on_host_unreachable == TRUE))) {
                        log_debug_info(DEBUGL_NOTIFICATIONS, 2, "We shouldn't notify about this recovery.\n");
                        return ERROR;
                }

        }

summary - a host will not be notified if

  • nost_notifications_enabled = 0
  • host_notification_period does not fit time(NULL) <- attention! if moving this, the calculation happens sooner than the actual notification!
  • if the host is flapping, and flapping notification_options are disabled
  • if the host is/was in a downtime, and downtime notification_options are disabled
  • if host is down and notifies on host down are disabled
  • if host is unreachable and notifies on host unreachable are disabled
  • if host is up and notifies on recovery are disabled
  • if host is up
    • NOT ((notified on host down and notifies on host down enabled) OR (notified on host unreavhable and notifies on host unreachable enabled))

meaning to say - different notification_options will prevent a lot of notifications.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 16:58:48 +00:00

now go figure - to decide if a contact gets notified, steps 1 - 9 must be done, even if not notified in the end then. so to speak the $NOTIFICATIONRECIPIENTS$ macro is wrong too - in 5. it gets calculated, but in 9 decided that the contact does not get notified. -> bug!

if you move 9. after 3. but before 4., those contacts won't be added to the notification list, the macro does not get populated and on the real notification happening a thinner list is being processed, removing longer lasting blockings from the core then.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 17:40:43 +00:00

  • Target Version changed from 1.7 to 1.6

nagios bug #98 - http://tracker.nagios.org/view.php?id=98 . $NOTIFICATIONRECIPIENTS$ - how epic is that? ;-D

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 18:05:43 +00:00

tests

  • timeperiods
define timeperiod{
  timeperiod_name                24x7
  alias                          24 Hours A Day, 7 Days A Week
  friday                         00:00-24:00
  monday                         00:00-24:00
  saturday                       00:00-24:00
  sunday                         00:00-24:00
  thursday                       00:00-24:00
  tuesday                        00:00-24:00
  wednesday                      00:00-24:00
}

# 'workhours' timeperiod definition
define timeperiod{
        timeperiod_name workhours
        alias           Normal Work Hours
        monday          09:00-17:00
        tuesday         09:00-17:00
        wednesday       09:00-17:00
        thursday        09:00-17:00
        friday          09:00-17:00
        }

# 'workhours' timeperiod definition
define timeperiod{
        timeperiod_name nonworkhours
        alias           Normal Non Work Hours
        monday          17:00-09:00
        tuesday         17:00-09:00
        wednesday       17:00-09:00
        thursday        17:00-09:00
        friday          17:00-09:00
        saturday        00:00-24:00
        sunday          00:00-24:00
        }
  • contacts
define contactgroup{
  contactgroup_name              test_contact
  alias                          test_contacts_alias
  members                        test_contact,test_contact_nonworkhours,test_contact_workhours,test_contact_unreachable_unknown,test_contact_warning,test_contact_down_critical,test_contact_recovery,test_contact_flapping,test_contact_none
}

define contact{
  contact_name                   test_contact
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      d,r
  host_notification_period       24x7
  service_notification_commands  notify-service
  service_notification_options   w,u,c,r
  service_notification_period    24x7
}

define contact{
  contact_name                   test_contact_nonworkhours
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      d,r
  host_notification_period       nonworkhours
  service_notification_commands  notify-service
  service_notification_options   w,u,c,r
  service_notification_period    nonworkhours
}

define contact{
  contact_name                   test_contact_workhours
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      d,r
  host_notification_period       workhours
  service_notification_commands  notify-service
  service_notification_options   w,u,c,r
  service_notification_period    workhours
}

define contact{
  contact_name                   test_contact_unreachable_unknown
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      u
  host_notification_period       24x7
  service_notification_commands  notify-service
  service_notification_options   u
  service_notification_period    24x7
}

define contact{
  contact_name                   test_contact_warning
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      n
  host_notification_period       24x7
  service_notification_commands  notify-service
  service_notification_options   w
  service_notification_period    24x7
}

define contact{
  contact_name                   test_contact_down_critical
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      d
  host_notification_period       24x7
  service_notification_commands  notify-service
  service_notification_options   c
  service_notification_period    24x7
}

define contact{
  contact_name                   test_contact_recovery
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      r
  host_notification_period       24x7
  service_notification_commands  notify-service
  service_notification_options   r
  service_notification_period    24x7
}

define contact{
  contact_name                   test_contact_flapping
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      f
  host_notification_period       24x7
  service_notification_commands  notify-service
  service_notification_options   f
  service_notification_period    24x7
}

define contact{
  contact_name                   test_contact_none
  alias                          test_contact_alias
  email                          nobody\@localhost
  host_notification_commands     notify-host
  host_notification_options      n
  host_notification_period       24x7
  service_notification_commands  notify-service
  service_notification_options   n
  service_notification_period    24x7
}

hosts and services are at random with https://wiki.icinga.org/display/testing/Test+Config

icinga.cfg

debug_level=32 (notifications)
debug_verbosity=2 (very detailed)

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 18:27:16 +00:00

ah yes and testing the macro - let it print so wie see it in the debug output.

define command{
  command_name                   notify-host
  #command_line                   sleep 1 && /bin/true
  command_line                   echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
}

define command{
  command_name                   notify-service
  #command_line                   sleep 1 && /bin/true
  command_line                   echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
}

furthermore, start with a clean icinga core, retained data might suppress notifications.

testing on debian sid with custom paths like packages have

# service icinga stop ; rm /var/icinga/retention.dat /var/log/icinga/icinga.* ; service icinga start

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 19:10:40 +00:00

  • Category set to Notifications
  • Done % changed from 0 to 50

test results

without FIX

  • service warning notification
[1319223173.230946] [032.0] [pid=15660] ** Service Notification Attempt ** Host: 'host_113', Service: 'warning_04', Type: 0, Options: 0, Current State: 1, Last Notification: Thu Jan  1 01:00:00 1970
[1319223173.231001] [032.0] [pid=15660] Notification viability test passed.
[1319223173.231015] [032.1] [pid=15660] Current notification number: 1 (incremented)
[1319223173.231026] [032.2] [pid=15660] Creating list of contacts to be notified.
[1319223173.231038] [032.1] [pid=15660] Service notification will NOT be escalated.
[1319223173.231057] [032.1] [pid=15660] Adding normal contacts for service to notification list.
[1319223173.231087] [032.2] [pid=15660] Adding members of contact group 'test_contact' for service to notification list.
[1319223173.231099] [032.2] [pid=15660] Adding contact 'test_contact' to notification list.
[1319223173.231114] [032.2] [pid=15660] Adding contact 'test_contact_nonworkhours' to notification list.
[1319223173.231141] [032.2] [pid=15660] Adding contact 'test_contact_workhours' to notification list.
[1319223173.231157] [032.2] [pid=15660] Adding contact 'test_contact_unreachable_unknown' to notification list.
[1319223173.231173] [032.2] [pid=15660] Adding contact 'test_contact_warning' to notification list.
[1319223173.231190] [032.2] [pid=15660] Adding contact 'test_contact_down_critical' to notification list.
[1319223173.231216] [032.2] [pid=15660] Adding contact 'test_contact_recovery' to notification list.
[1319223173.231232] [032.2] [pid=15660] Adding contact 'test_contact_flapping' to notification list.
[1319223173.231267] [032.2] [pid=15660] Adding contact 'test_contact_none' to notification list.
[1319223173.231310] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_none'...
[1319223173.231326] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_none'...
[1319223173.231345] [032.2] [pid=15660] We shouldn't notify this contact about WARNING service states.
[1319223173.231359] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_flapping'...
[1319223173.231373] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_flapping'...
[1319223173.231391] [032.2] [pid=15660] We shouldn't notify this contact about WARNING service states.
[1319223173.231403] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_recovery'...
[1319223173.231413] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_recovery'...
[1319223173.231428] [032.2] [pid=15660] We shouldn't notify this contact about WARNING service states.
[1319223173.231440] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_down_critical'...
[1319223173.231449] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_down_critical'...
[1319223173.231464] [032.2] [pid=15660] We shouldn't notify this contact about WARNING service states.
[1319223173.231476] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_warning'...
[1319223173.231485] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_warning'...
[1319223173.231500] [032.2] [pid=15660] ** Service notification viability for contact 'test_contact_warning' PASSED.
[1319223173.231511] [032.2] [pid=15660] ** Notifying contact 'test_contact_warning'
[1319223173.231535] [032.2] [pid=15660] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319223173.231576] [032.2] [pid=15660] Processed notification command: echo notificationrecpitions: test_contact,test_contact_nonworkhours,test_contact_workhours,test_contact_unreachable_unknown,test_contact_warning,test_contact_down_critical,test_contact_recovery,test_contact_flapping,test_contact_none && /bin/true
[1319223173.254601] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_unreachable_unknown'...
[1319223173.254669] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_unreachable_unknown'...
[1319223173.254717] [032.2] [pid=15660] We shouldn't notify this contact about WARNING service states.
[1319223173.254743] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_workhours'...
[1319223173.254754] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_workhours'...
[1319223173.254774] [032.2] [pid=15660] This contact shouldn't be notified at this time.
[1319223173.254788] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_nonworkhours'...
[1319223173.254799] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_nonworkhours'...
[1319223173.254840] [032.2] [pid=15660] This contact shouldn't be notified at this time.
[1319223173.254854] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact'...
[1319223173.254864] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact'...
[1319223173.254880] [032.2] [pid=15660] ** Service notification viability for contact 'test_contact' PASSED.
[1319223173.254899] [032.2] [pid=15660] ** Notifying contact 'test_contact'
[1319223173.254924] [032.2] [pid=15660] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319223173.254979] [032.2] [pid=15660] Processed notification command: echo notificationrecpitions: test_contact,test_contact_nonworkhours,test_contact_workhours,test_contact_unreachable_unknown,test_contact_warning,test_contact_down_critical,test_contact_recovery,test_contact_flapping,test_contact_none && /bin/true
[1319223173.275592] [032.2] [pid=15660] Calculating next valid notification time...
[1319223173.275659] [032.2] [pid=15660] Default interval: 0.000000
[1319223173.275685] [032.2] [pid=15660] Interval used for calculating next valid notification time: 0.000000
[1319223173.275741] [032.0] [pid=15660] 2 contacts were notified.  Next possible notification time: Fri Oct 21 20:52:53 2011
[1319223173.275760] [032.0] [pid=15660] 2 contacts were notified.
  • host unreachable notification
[1319223273.241622] [032.0] [pid=15660] ** Host Notification Attempt ** Host: 'host_022', Type: 0, Options: 0, Current State: 2, Last Notification: Thu Jan  1 01:00:00 1970
[1319223273.241649] [032.0] [pid=15660] Notification viability test passed.
[1319223273.241654] [032.1] [pid=15660] Current notification number: 2 (incremented)
[1319223273.241657] [032.2] [pid=15660] Creating list of contacts to be notified.
[1319223273.241661] [032.1] [pid=15660] Host notification will NOT be escalated.
[1319223273.241665] [032.1] [pid=15660] Adding normal contacts for host to notification list.
[1319223273.241668] [032.2] [pid=15660] Adding individual contacts for host to notification list.
[1319223273.241671] [032.2] [pid=15660] Adding members of contact groups for host to notification list.
[1319223273.241674] [032.2] [pid=15660] Adding members of contact group 'test_contact' for host to notification list.
[1319223273.241681] [032.2] [pid=15660] Adding contact 'test_contact' to notification list.
[1319223273.241690] [032.2] [pid=15660] Adding contact 'test_contact_nonworkhours' to notification list.
[1319223273.241694] [032.2] [pid=15660] Adding contact 'test_contact_workhours' to notification list.
[1319223273.241698] [032.2] [pid=15660] Adding contact 'test_contact_unreachable_unknown' to notification list.
[1319223273.241702] [032.2] [pid=15660] Adding contact 'test_contact_warning' to notification list.
[1319223273.241706] [032.2] [pid=15660] Adding contact 'test_contact_down_critical' to notification list.
[1319223273.241710] [032.2] [pid=15660] Adding contact 'test_contact_recovery' to notification list.
[1319223273.241714] [032.2] [pid=15660] Adding contact 'test_contact_flapping' to notification list.
[1319223273.241719] [032.2] [pid=15660] Adding contact 'test_contact_none' to notification list.
[1319223273.241727] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_none'...
[1319223273.241733] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_none'...
[1319223273.241740] [032.2] [pid=15660] We shouldn't notify this contact about UNREACHABLE states,
[1319223273.241744] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_flapping'...
[1319223273.241747] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_flapping'...
[1319223273.241752] [032.2] [pid=15660] We shouldn't notify this contact about UNREACHABLE states,
[1319223273.241756] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_recovery'...
[1319223273.241758] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_recovery'...
[1319223273.241763] [032.2] [pid=15660] We shouldn't notify this contact about UNREACHABLE states,
[1319223273.241767] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_down_critical'...
[1319223273.241769] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_down_critical'...
[1319223273.241774] [032.2] [pid=15660] We shouldn't notify this contact about UNREACHABLE states,
[1319223273.241777] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_warning'...
[1319223273.241781] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_warning'...
[1319223273.241785] [032.2] [pid=15660] We shouldn't notify this contact about UNREACHABLE states,
[1319223273.241789] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_unreachable_unknown'...
[1319223273.241792] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_unreachable_unknown'...
[1319223273.241804] [032.2] [pid=15660] ** Host notification viability for contact 'test_contact_unreachable_unknown' PASSED.
[1319223273.241808] [032.2] [pid=15660] ** Notifying contact 'test_contact_unreachable_unknown'
[1319223273.241817] [032.2] [pid=15660] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319223273.241828] [032.2] [pid=15660] Processed notification command: echo notificationrecpitions: test_contact,test_contact_nonworkhours,test_contact_workhours,test_contact_unreachable_unknown,test_contact_warning,test_contact_down_critical,test_contact_recovery,test_contact_flapping,test_contact_none && /bin/true
[1319223273.258393] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_workhours'...
[1319223273.258466] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_workhours'...
[1319223273.258514] [032.2] [pid=15660] This contact shouldn't be notified at this time.
[1319223273.258540] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_nonworkhours'...
[1319223273.258552] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact_nonworkhours'...
[1319223273.258568] [032.2] [pid=15660] This contact shouldn't be notified at this time.
[1319223273.258581] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact'...
[1319223273.258592] [032.2] [pid=15660] ** Checking host notification viability for contact 'test_contact'...
[1319223273.258611] [032.2] [pid=15660] We shouldn't notify this contact about UNREACHABLE states,
[1319223273.258656] [032.2] [pid=15660] Calculating next valid notification time...
[1319223273.258675] [032.2] [pid=15660] Default interval: 0.000000
[1319223273.258702] [032.2] [pid=15660] Interval used for calculating next valid notification time: 0.000000
[1319223273.258729] [032.0] [pid=15660] 1 contacts were notified.  Next possible notification time: Fri Oct 21 20:54:33 2011
[1319223273.258745] [032.0] [pid=15660] 1 contacts were notified.
  • service critical notification
[1319223273.327021] [032.0] [pid=15660] ** Service Notification Attempt ** Host: 'localhost', Service: 'ido2db Process', Type: 0, Options: 0, Current State: 2, Last Notification: Thu Jan  1 01:00:00 1970
[1319223273.327063] [032.0] [pid=15660] Notification viability test passed.
[1319223273.327075] [032.1] [pid=15660] Current notification number: 1 (incremented)
[1319223273.327086] [032.2] [pid=15660] Creating list of contacts to be notified.
[1319223273.327096] [032.1] [pid=15660] Service notification will NOT be escalated.
[1319223273.327108] [032.1] [pid=15660] Adding normal contacts for service to notification list.
[1319223273.327118] [032.2] [pid=15660] Adding members of contact group 'test_contact' for service to notification list.
[1319223273.327129] [032.2] [pid=15660] Adding contact 'test_contact' to notification list.
[1319223273.327139] [032.2] [pid=15660] Adding contact 'test_contact_nonworkhours' to notification list.
[1319223273.327151] [032.2] [pid=15660] Adding contact 'test_contact_workhours' to notification list.
[1319223273.327162] [032.2] [pid=15660] Adding contact 'test_contact_unreachable_unknown' to notification list.
[1319223273.327173] [032.2] [pid=15660] Adding contact 'test_contact_warning' to notification list.
[1319223273.327184] [032.2] [pid=15660] Adding contact 'test_contact_down_critical' to notification list.
[1319223273.327206] [032.2] [pid=15660] Adding contact 'test_contact_recovery' to notification list.
[1319223273.327218] [032.2] [pid=15660] Adding contact 'test_contact_flapping' to notification list.
[1319223273.327230] [032.2] [pid=15660] Adding contact 'test_contact_none' to notification list.
[1319223273.327248] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_none'...
[1319223273.327275] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_none'...
[1319223273.327288] [032.2] [pid=15660] We shouldn't notify this contact about CRITICAL service states.
[1319223273.327299] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_flapping'...
[1319223273.327309] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_flapping'...
[1319223273.327322] [032.2] [pid=15660] We shouldn't notify this contact about CRITICAL service states.
[1319223273.327333] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_recovery'...
[1319223273.327343] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_recovery'...
[1319223273.327356] [032.2] [pid=15660] We shouldn't notify this contact about CRITICAL service states.
[1319223273.327367] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_down_critical'...
[1319223273.327377] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_down_critical'...
[1319223273.327389] [032.2] [pid=15660] ** Service notification viability for contact 'test_contact_down_critical' PASSED.
[1319223273.327399] [032.2] [pid=15660] ** Notifying contact 'test_contact_down_critical'
[1319223273.327420] [032.2] [pid=15660] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319223273.327440] [032.2] [pid=15660] Processed notification command: echo notificationrecpitions: test_contact,test_contact_nonworkhours,test_contact_workhours,test_contact_unreachable_unknown,test_contact_warning,test_contact_down_critical,test_contact_recovery,test_contact_flapping,test_contact_none && /bin/true
[1319223273.337730] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_warning'...
[1319223273.337781] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_warning'...
[1319223273.337801] [032.2] [pid=15660] We shouldn't notify this contact about CRITICAL service states.
[1319223273.337806] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_unreachable_unknown'...
[1319223273.337809] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_unreachable_unknown'...
[1319223273.337813] [032.2] [pid=15660] We shouldn't notify this contact about CRITICAL service states.
[1319223273.337817] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_workhours'...
[1319223273.337820] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_workhours'...
[1319223273.337829] [032.2] [pid=15660] This contact shouldn't be notified at this time.
[1319223273.337833] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact_nonworkhours'...
[1319223273.337836] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact_nonworkhours'...
[1319223273.337840] [032.2] [pid=15660] This contact shouldn't be notified at this time.
[1319223273.337843] [032.2] [pid=15660] ** Attempting to notifying contact 'test_contact'...
[1319223273.337846] [032.2] [pid=15660] ** Checking service notification viability for contact 'test_contact'...
[1319223273.337850] [032.2] [pid=15660] ** Service notification viability for contact 'test_contact' PASSED.
[1319223273.337853] [032.2] [pid=15660] ** Notifying contact 'test_contact'
[1319223273.337861] [032.2] [pid=15660] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319223273.337883] [032.2] [pid=15660] Processed notification command: echo notificationrecpitions: test_contact,test_contact_nonworkhours,test_contact_workhours,test_contact_unreachable_unknown,test_contact_warning,test_contact_down_critical,test_contact_recovery,test_contact_flapping,test_contact_none && /bin/true
[1319223273.347897] [032.2] [pid=15660] Calculating next valid notification time...
[1319223273.347935] [032.2] [pid=15660] Default interval: 0.000000
[1319223273.347946] [032.2] [pid=15660] Interval used for calculating next valid notification time: 0.000000
[1319223273.347968] [032.0] [pid=15660] 2 contacts were notified.  Next possible notification time: Fri Oct 21 20:54:33 2011
[1319223273.347974] [032.0] [pid=15660] 2 contacts were notified.

with FIX

  • service critical notificaton
[1319221444.369501] [032.0] [pid=5150] ** Service Notification Attempt ** Host: 'host_007', Service: 'critical_04', Type: 0, Options: 0, Current State: 2, Last Notification: Thu Jan  1 01:00:00 1970
[1319221444.369561] [032.0] [pid=5150] Notification viability test passed.
[1319221444.369577] [032.1] [pid=5150] Current notification number: 1 (incremented)
[1319221444.369591] [032.2] [pid=5150] Creating list of contacts to be notified.
[1319221444.369623] [032.1] [pid=5150] Service notification will NOT be escalated.
[1319221444.369634] [032.1] [pid=5150] Adding normal contacts for service to notification list.
[1319221444.369638] [032.2] [pid=5150] Adding members of contact group 'test_contact' for service to notification list.
[1319221444.369641] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact'...
[1319221444.369646] [032.2] [pid=5150] ** Service notification viability for contact 'test_contact' PASSED.
[1319221444.369650] [032.2] [pid=5150] Adding contact 'test_contact' to notification list.
[1319221444.369653] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_nonworkhours'...
[1319221444.369661] [032.2] [pid=5150] This contact shouldn't be notified at this time.
[1319221444.369664] [032.2] [pid=5150] Not adding contact 'test_contact_nonworkhours'
[1319221444.369667] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_workhours'...
[1319221444.369671] [032.2] [pid=5150] This contact shouldn't be notified at this time.
[1319221444.369674] [032.2] [pid=5150] Not adding contact 'test_contact_workhours'
[1319221444.369677] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_unreachable_unknown'...
[1319221444.369681] [032.2] [pid=5150] We shouldn't notify this contact about CRITICAL service states.
[1319221444.369683] [032.2] [pid=5150] Not adding contact 'test_contact_unreachable_unknown'
[1319221444.369686] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_warning'...
[1319221444.369690] [032.2] [pid=5150] We shouldn't notify this contact about CRITICAL service states.
[1319221444.369693] [032.2] [pid=5150] Not adding contact 'test_contact_warning'
[1319221444.369695] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_down_critical'...
[1319221444.369699] [032.2] [pid=5150] ** Service notification viability for contact 'test_contact_down_critical' PASSED.
[1319221444.369702] [032.2] [pid=5150] Adding contact 'test_contact_down_critical' to notification list.
[1319221444.369706] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_recovery'...
[1319221444.369710] [032.2] [pid=5150] We shouldn't notify this contact about CRITICAL service states.
[1319221444.369713] [032.2] [pid=5150] Not adding contact 'test_contact_recovery'
[1319221444.369716] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_flapping'...
[1319221444.369728] [032.2] [pid=5150] We shouldn't notify this contact about CRITICAL service states.
[1319221444.369731] [032.2] [pid=5150] Not adding contact 'test_contact_flapping'
[1319221444.369734] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_none'...
[1319221444.369738] [032.2] [pid=5150] We shouldn't notify this contact about CRITICAL service states.
[1319221444.369741] [032.2] [pid=5150] Not adding contact 'test_contact_none'
[1319221444.369749] [032.2] [pid=5150] ** Notifying contact 'test_contact_down_critical'
[1319221444.369762] [032.2] [pid=5150] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319221444.369772] [032.2] [pid=5150] Processed notification command: echo notificationrecpitions: test_contact,test_contact_down_critical && /bin/true
[1319221444.380501] [032.2] [pid=5150] ** Notifying contact 'test_contact'
[1319221444.380580] [032.2] [pid=5150] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319221444.380636] [032.2] [pid=5150] Processed notification command: echo notificationrecpitions: test_contact,test_contact_down_critical && /bin/true
[1319221444.393580] [032.2] [pid=5150] Calculating next valid notification time...
[1319221444.393647] [032.2] [pid=5150] Default interval: 0.000000
[1319221444.393672] [032.2] [pid=5150] Interval used for calculating next valid notification time: 0.000000
[1319221444.393726] [032.0] [pid=5150] 2 contacts were notified.  Next possible notification time: Fri Oct 21 20:24:04 2011
[1319221444.393744] [032.0] [pid=5150] 2 contacts were notified.
  • service warning notification
[1319221414.227940] [032.0] [pid=5150] ** Service Notification Attempt ** Host: 'host_115', Service: 'warning_04', Type: 0, Options: 0, Current State: 1, Last Notification: Thu Jan  1 01:00:00 1970
[1319221414.228013] [032.0] [pid=5150] Notification viability test passed.
[1319221414.228019] [032.1] [pid=5150] Current notification number: 1 (incremented)
[1319221414.228023] [032.2] [pid=5150] Creating list of contacts to be notified.
[1319221414.228026] [032.1] [pid=5150] Service notification will NOT be escalated.
[1319221414.228038] [032.1] [pid=5150] Adding normal contacts for service to notification list.
[1319221414.228042] [032.2] [pid=5150] Adding members of contact group 'test_contact' for service to notification list.
[1319221414.228045] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact'...
[1319221414.228050] [032.2] [pid=5150] ** Service notification viability for contact 'test_contact' PASSED.
[1319221414.228055] [032.2] [pid=5150] Adding contact 'test_contact' to notification list.
[1319221414.228063] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_nonworkhours'...
[1319221414.228072] [032.2] [pid=5150] This contact shouldn't be notified at this time.
[1319221414.228075] [032.2] [pid=5150] Not adding contact 'test_contact_nonworkhours'
[1319221414.228078] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_workhours'...
[1319221414.228082] [032.2] [pid=5150] This contact shouldn't be notified at this time.
[1319221414.228084] [032.2] [pid=5150] Not adding contact 'test_contact_workhours'
[1319221414.228087] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_unreachable_unknown'...
[1319221414.228091] [032.2] [pid=5150] We shouldn't notify this contact about WARNING service states.
[1319221414.228094] [032.2] [pid=5150] Not adding contact 'test_contact_unreachable_unknown'
[1319221414.228097] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_warning'...
[1319221414.228101] [032.2] [pid=5150] ** Service notification viability for contact 'test_contact_warning' PASSED.
[1319221414.228105] [032.2] [pid=5150] Adding contact 'test_contact_warning' to notification list.
[1319221414.228113] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_down_critical'...
[1319221414.228127] [032.2] [pid=5150] We shouldn't notify this contact about WARNING service states.
[1319221414.228130] [032.2] [pid=5150] Not adding contact 'test_contact_down_critical'
[1319221414.228132] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_recovery'...
[1319221414.228137] [032.2] [pid=5150] We shouldn't notify this contact about WARNING service states.
[1319221414.228139] [032.2] [pid=5150] Not adding contact 'test_contact_recovery'
[1319221414.228142] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_flapping'...
[1319221414.228146] [032.2] [pid=5150] We shouldn't notify this contact about WARNING service states.
[1319221414.228149] [032.2] [pid=5150] Not adding contact 'test_contact_flapping'
[1319221414.228151] [032.2] [pid=5150] ** Checking service notification viability for contact 'test_contact_none'...
[1319221414.228156] [032.2] [pid=5150] We shouldn't notify this contact about WARNING service states.
[1319221414.228159] [032.2] [pid=5150] Not adding contact 'test_contact_none'
[1319221414.228167] [032.2] [pid=5150] ** Notifying contact 'test_contact_warning'
[1319221414.228183] [032.2] [pid=5150] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319221414.228198] [032.2] [pid=5150] Processed notification command: echo notificationrecpitions: test_contact,test_contact_warning && /bin/true
[1319221414.238999] [032.2] [pid=5150] ** Notifying contact 'test_contact'
[1319221414.239084] [032.2] [pid=5150] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319221414.239147] [032.2] [pid=5150] Processed notification command: echo notificationrecpitions: test_contact,test_contact_warning && /bin/true
[1319221414.251188] [032.2] [pid=5150] Calculating next valid notification time...
[1319221414.251230] [032.2] [pid=5150] Default interval: 0.000000
[1319221414.251245] [032.2] [pid=5150] Interval used for calculating next valid notification time: 0.000000
[1319221414.251287] [032.0] [pid=5150] 2 contacts were notified.  Next possible notification time: Fri Oct 21 20:23:34 2011
[1319221414.251296] [032.0] [pid=5150] 2 contacts were notified.
  • host unreachable notification
[1319221514.203781] [032.0] [pid=5150] ** Host Notification Attempt ** Host: 'host_022', Type: 0, Options: 0, Current State: 2, Last Notification: Thu Jan  1 01:00:00 19
70
[1319221514.203799] [032.0] [pid=5150] Notification viability test passed.
[1319221514.203803] [032.1] [pid=5150] Current notification number: 2 (incremented)
[1319221514.203806] [032.2] [pid=5150] Creating list of contacts to be notified.
[1319221514.203809] [032.1] [pid=5150] Host notification will NOT be escalated.
[1319221514.203813] [032.1] [pid=5150] Adding normal contacts for host to notification list.
[1319221514.203816] [032.2] [pid=5150] Adding individual contacts for host to notification list.
[1319221514.203819] [032.2] [pid=5150] Adding members of contact groups for host to notification list.
[1319221514.203821] [032.2] [pid=5150] Adding members of contact group 'test_contact' for host to notification list.
[1319221514.203825] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact'...
[1319221514.203829] [032.2] [pid=5150] We shouldn't notify this contact about UNREACHABLE states,
[1319221514.203832] [032.2] [pid=5150] Not adding contact 'test_contact'
[1319221514.203835] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_nonworkhours'...
[1319221514.203841] [032.2] [pid=5150] This contact shouldn't be notified at this time.
[1319221514.203844] [032.2] [pid=5150] Not adding contact 'test_contact_nonworkhours'
[1319221514.203847] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_workhours'...
[1319221514.203851] [032.2] [pid=5150] This contact shouldn't be notified at this time.
[1319221514.203854] [032.2] [pid=5150] Not adding contact 'test_contact_workhours'
[1319221514.203857] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_unreachable_unknown'...
[1319221514.203868] [032.2] [pid=5150] ** Host notification viability for contact 'test_contact_unreachable_unknown' PASSED.
[1319221514.203871] [032.2] [pid=5150] Adding contact 'test_contact_unreachable_unknown' to notification list.
[1319221514.203875] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_warning'...
[1319221514.203878] [032.2] [pid=5150] We shouldn't notify this contact about UNREACHABLE states,
[1319221514.203881] [032.2] [pid=5150] Not adding contact 'test_contact_warning'
[1319221514.203883] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_down_critical'...
[1319221514.203887] [032.2] [pid=5150] We shouldn't notify this contact about UNREACHABLE states,
[1319221514.203890] [032.2] [pid=5150] Not adding contact 'test_contact_down_critical'
[1319221514.203892] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_recovery'...
[1319221514.203896] [032.2] [pid=5150] We shouldn't notify this contact about UNREACHABLE states,
[1319221514.203898] [032.2] [pid=5150] Not adding contact 'test_contact_recovery'
[1319221514.203901] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_flapping'...
[1319221514.203905] [032.2] [pid=5150] We shouldn't notify this contact about UNREACHABLE states,
[1319221514.203907] [032.2] [pid=5150] Not adding contact 'test_contact_flapping'
[1319221514.203909] [032.2] [pid=5150] ** Checking host notification viability for contact 'test_contact_none'...
[1319221514.203913] [032.2] [pid=5150] We shouldn't notify this contact about UNREACHABLE states,
[1319221514.203916] [032.2] [pid=5150] Not adding contact 'test_contact_none'
[1319221514.203923] [032.2] [pid=5150] ** Notifying contact 'test_contact_unreachable_unknown'
[1319221514.203934] [032.2] [pid=5150] Raw notification command: echo notificationrecpitions: $NOTIFICATIONRECIPIENTS$ && /bin/true
[1319221514.203941] [032.2] [pid=5150] Processed notification command: echo notificationrecpitions: test_contact_unreachable_unknown && /bin/true
[1319221514.215228] [032.2] [pid=5150] Calculating next valid notification time...
[1319221514.215318] [032.2] [pid=5150] Default interval: 0.000000
[1319221514.215340] [032.2] [pid=5150] Interval used for calculating next valid notification time: 0.000000
[1319221514.215388] [032.0] [pid=5150] 1 contacts were notified.  Next possible notification time: Fri Oct 21 20:25:14 2011
[1319221514.215400] [032.0] [pid=5150] 1 contacts were notified.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-10-21 19:13:57 +00:00

  • Done % changed from 50 to 90

so to summarize - the old behavior runs through every single contact getting adding to the notification lists, populating the macro and then refusing to actually send the notification for that host/service by the viability checks.

the patches version does the checking once before adding to the notification list, saving us a lot of cpu cycles while fixing the macro bug as well.

this needs further testing, please use the provided configs and/or test it with your own.

will push to dev/core and test/core as well.

@icinga-migration
Copy link
Author

Updated by mfriedrich on 2011-11-01 11:57:30 +00:00

  • Status changed from Assigned to Resolved
  • Done % changed from 90 to 100

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant