Skip to content
This repository has been archived by the owner. 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

Projects
None yet
1 participant
@icinga-migration
Copy link
Member

icinga-migration commented Jul 22, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Aug 23, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 17, 2011

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

  • Target Version changed from 1.6 to 1.7
@icinga-migration

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Oct 21, 2011

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

This comment has been minimized.

Copy link
Member Author

icinga-migration commented Nov 1, 2011

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.
You can’t perform that action at this time.