<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content="MSHTML 6.00.6000.16735" name=GENERATOR>
<STYLE>@font-face {
        font-family: 宋体;
}
@font-face {
        font-family: Verdana;
}
@font-face {
        font-family: @宋体;
}
@page Section1 {size: 595.3pt 841.9pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; layout-grid: 15.6pt; }
P.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
LI.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
DIV.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        FONT-WEIGHT: normal; COLOR: windowtext; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
BLOCKQUOTE {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</STYLE>
</HEAD>
<BODY>
<DIV><FONT face=Verdana color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Verdana size=2></FONT> </DIV>
<DIV align=left>
<DIV align=left><FONT face=Verdana size=2>
<HR style="WIDTH: 122px; HEIGHT: 2px" SIZE=2>
</FONT></DIV>
<DIV><FONT color=#c0c0c0><FONT face=Verdana 
size=2><SPAN>wwanghongrui</SPAN></FONT></DIV>
<DIV><FONT face=Verdana size=2>2011-11-02</FONT></FONT></DIV></DIV>
<DIV><FONT face=Verdana size=2>
<HR>
</FONT></DIV>
<DIV><FONT face=Verdana><FONT size=2><STRONG>发件人:</STRONG> Michael 
Friedrich</FONT></FONT></DIV>
<DIV><FONT face=Verdana><FONT size=2><STRONG>发送时间:</STRONG> 
2011-11-01 21:14:03</FONT></FONT></DIV>
<DIV><FONT face=Verdana><FONT size=2><STRONG>收件人:</STRONG> 
nagios-devel</FONT></FONT></DIV>
<DIV><FONT face=Verdana><FONT size=2><STRONG>抄送:</STRONG> 
nagios-users</FONT></FONT></DIV>
<DIV><FONT face=Verdana><FONT size=2><STRONG>主题:</STRONG> [Nagios-users] [PATCH] 
reduce notification load;fix $NOTIFICATIONRECIPIENTS$ macro 
#98</FONT></FONT></DIV>
<DIV><FONT face=Verdana size=2></FONT> </DIV>
<DIV><FONT face=Verdana size=2>
<DIV>hi,</DIV>
<DIV></DIV>
<DIV>recently we've been debugging on team icinga in the middle of </DIV>
<DIV>notifications and macros, and while investigating on a users problem, </DIV>
<DIV>we've digged a bit deeper into the notification viability checks, </DIV>
<DIV>resulting in deeper analysis of an Opsview patch to reduce the </DIV>
<DIV>notification load significantly by moving the viability checks from the </DIV>
<DIV>actual notification into the creation of the contacts notified, passing </DIV>
<DIV>only a list of 'qualified' contacts to the actual notification logic. </DIV>
<DIV>the only thing to remark over here is that the checks against the valid </DIV>
<DIV>notification_period now happen sooner, and not actually when the </DIV>
<DIV>notification is sent to each contact.</DIV>
<DIV></DIV>
<DIV>while implementing that patch into current code (needs some macro </DIV>
<DIV>passing with current code), we did remember nagios bug #98 where the </DIV>
<DIV>$NOTIFICATIONRECEIPIENTS$ macro is demanded to be only populated with </DIV>
<DIV>the actual contacts to be notified, but not all of those assigned to the </DIV>
<DIV>host/service. while this is considered to be a real bug, further </DIV>
<DIV>investigation showed that thanks to the viability checks before calling </DIV>
<DIV>add_notification(), contacts won't be added to that macro as the macro </DIV>
<DIV>logic happens within that function too.</DIV>
<DIV></DIV>
<DIV>so by applying the attached git patch, you will a. reduce notification </DIV>
<DIV>load and b. fix the $NOTIFICATIONRECEIPIENTS$ macro holding all </DIV>
<DIV>contacts, but not the viable contacts.</DIV>
<DIV></DIV>
<DIV>since the code remains actually the same on icinga and nagios in this </DIV>
<DIV>stage, the tests can be found at the icinga dev tracker as usual.</DIV>
<DIV>https://dev.icinga.org/issues/1744</DIV>
<DIV>https://dev.icinga.org/issues/2023</DIV>
<DIV></DIV>
<DIV>kudos to Opsview Team for their initial patch as well as Icinga </DIV>
<DIV>Development Team for the further analysis on the macro bug.</DIV>
<DIV></DIV>
<DIV>feel free to apply, matches against latest HEAD.</DIV>
<DIV></DIV>
<DIV>kind regards,</DIV>
<DIV>Michael</DIV>
<DIV></DIV>
<DIV>-- </DIV>
<DIV>DI (FH) Michael Friedrich</DIV>
<DIV></DIV>
<DIV>Vienna University Computer Center</DIV>
<DIV>Universitaetsstrasse 7 A-1010 Vienna, Austria</DIV>
<DIV></DIV>
<DIV>email:     michael.friedrich@univie.ac.at</DIV>
<DIV>phone:     +43 1 4277 14359</DIV>
<DIV>mobile:    +43 664 60277 14359</DIV>
<DIV>fax:    +43 1 4277 14338</DIV>
<DIV>web:       http://www.univie.ac.at/zid</DIV>
<DIV>            http://www.aco.net</DIV>
<DIV></DIV>
<DIV>Lead Icinga Core&  IDOUtils Developer</DIV>
<DIV>http://www.icinga.org</DIV>
<DIV></DIV>
<DIV></DIV>
<DIV>------------------------------------------------------------------------------</DIV>
<DIV>RSA® Conference 2012</DIV>
<DIV>Save &#36;700 by Nov 18</DIV>
<DIV>Register now</DIV>
<DIV>http://p.sf.net/sfu/rsa-sfdev2dev1</DIV>
<DIV>_______________________________________________</DIV>
<DIV>Nagios-users mailing list</DIV>
<DIV>Nagios-users@lists.sourceforge.net</DIV>
<DIV>https://lists.sourceforge.net/lists/listinfo/nagios-users</DIV>
<DIV>::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. </DIV>
<DIV>::: Messages without supporting info will risk being sent to /dev/null</DIV></FONT></DIV></BODY></HTML>