<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2658.34">
<TITLE>Timeperiods and oncall rotation with UK Public holidays </TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>Folks, </FONT>
</P>

<P><FONT SIZE=2>I'm using SLES 10 and Nagios 3.2.0. </FONT>
</P>

<P><FONT SIZE=2>We have 4 oncall engineers which rotate over a 4 week period, each being oncall one week at a time. </FONT>
<BR><FONT SIZE=2>The oncall period is 17:30 - 08:00 each working day and then the whole period for any weekend or UK public holiday. </FONT>
</P>

<P><FONT SIZE=2>My definitions are :- </FONT>
</P>

<P><FONT SIZE=2>define timeperiod{</FONT>
<BR><FONT SIZE=2>        timeperiod_name 24x7</FONT>
<BR><FONT SIZE=2>        alias           24 Hours A Day, 7 Days A Week</FONT>
<BR><FONT SIZE=2>        sunday          00:00-24:00</FONT>
<BR><FONT SIZE=2>        monday          00:00-24:00</FONT>
<BR><FONT SIZE=2>        tuesday         00:00-24:00</FONT>
<BR><FONT SIZE=2>        wednesday       00:00-24:00</FONT>
<BR><FONT SIZE=2>        thursday        00:00-24:00</FONT>
<BR><FONT SIZE=2>        friday          00:00-24:00</FONT>
<BR><FONT SIZE=2>        saturday        00:00-24:00</FONT>
<BR><FONT SIZE=2>        }</FONT>
</P>

<P><FONT SIZE=2>This is for all normal monitoring of our systems. </FONT>
</P>

<P><FONT SIZE=2>Each oncall engineer is defined :- </FONT>
</P>

<P><FONT SIZE=2>define timeperiod{</FONT>
<BR><FONT SIZE=2>        timeperiod_name person1-oncall</FONT>
<BR><FONT SIZE=2>        alias           person1-oncall</FONT>
<BR><FONT SIZE=2>        2010-03-29 / 28 17:30-24:00             ; Monday</FONT>
<BR><FONT SIZE=2>        2010-03-30 / 28 00:00-08:00,17:30-24:00 ; Tuesday</FONT>
<BR><FONT SIZE=2>        2010-03-31 / 28 00:00-08:00,17:30-24:00 ; Wednesday</FONT>
<BR><FONT SIZE=2>        2010-04-01 / 28 00:00-08:00,17:30-24:00 ; Thursday</FONT>
<BR><FONT SIZE=2>        2010-04-02 / 28 00:00-08:00,17:30-24:00 ; Friday</FONT>
<BR><FONT SIZE=2>        2010-04-03 / 28 00:00-24:00             ; Saturday</FONT>
<BR><FONT SIZE=2>        2010-04-04 / 28 00:00-24:00             ; Sunday</FONT>
<BR><FONT SIZE=2>        2010-04-05 / 28 00:00-08:00             ; Monday</FONT>
<BR><FONT SIZE=2>        }</FONT>
</P>

<P><FONT SIZE=2>define timeperiod{</FONT>
<BR><FONT SIZE=2>        timeperiod_name person2-oncall</FONT>
<BR><FONT SIZE=2>        alias          person2-oncall</FONT>
<BR><FONT SIZE=2>        2010-04-05 / 28 17:30-24:00             ; Monday</FONT>
<BR><FONT SIZE=2>        2010-04-06 / 28 00:00-08:00,17:30-24:00 ; Tuesday</FONT>
<BR><FONT SIZE=2>        2010-04-07 / 28 00:00-08:00,17:30-24:00 ; Wednesday</FONT>
<BR><FONT SIZE=2>        2010-04-08 / 28 00:00-08:00,17:30-24:00 ; Thursday</FONT>
<BR><FONT SIZE=2>        2010-04-09 / 28 00:00-08:00,17:30-24:00 ; Friday</FONT>
<BR><FONT SIZE=2>        2010-04-10 / 28 00:00-24:00             ; Saturday</FONT>
<BR><FONT SIZE=2>        2010-04-11 / 28 00:00-24:00             ; Sunday</FONT>
<BR><FONT SIZE=2>        2010-04-12 / 28 00:00-08:00             ; Monday</FONT>
<BR><FONT SIZE=2>        }</FONT>
</P>

<P><FONT SIZE=2>define timeperiod{</FONT>
<BR><FONT SIZE=2>        timeperiod_name person3-oncall</FONT>
<BR><FONT SIZE=2>        alias           person3-oncall</FONT>
<BR><FONT SIZE=2>        2010-04-12 / 28 17:30-24:00             ; Monday</FONT>
<BR><FONT SIZE=2>        2010-04-13 / 28 00:00-08:00,17:30-24:00 ; Tuesday</FONT>
<BR><FONT SIZE=2>        2010-04-14 / 28 00:00-08:00,17:30-24:00 ; Wednesday</FONT>
<BR><FONT SIZE=2>        2010-04-15 / 28 00:00-08:00,17:30-24:00 ; Thursday</FONT>
<BR><FONT SIZE=2>        2010-04-16 / 28 00:00-08:00,17:30-24:00 ; Friday</FONT>
<BR><FONT SIZE=2>        2010-04-17 / 28 00:00-24:00             ; Saturday</FONT>
<BR><FONT SIZE=2>        2010-04-18 / 28 00:00-24:00             ; Sunday</FONT>
<BR><FONT SIZE=2>        2010-04-19 / 28 00:00-08:00             ; Monday</FONT>
<BR><FONT SIZE=2>        }</FONT>
</P>

<P><FONT SIZE=2>define timeperiod{</FONT>
<BR><FONT SIZE=2>        timeperiod_name person4-oncall</FONT>
<BR><FONT SIZE=2>        alias           person4-oncall</FONT>
<BR><FONT SIZE=2>        2010-04-19 / 28 17:30-24:00             ; Monday</FONT>
<BR><FONT SIZE=2>        2010-04-20 / 28 00:00-08:00,17:30-24:00 ; Tuesday</FONT>
<BR><FONT SIZE=2>        2010-04-21 / 28 00:00-08:00,17:30-24:00 ; Wednesday</FONT>
<BR><FONT SIZE=2>        2010-04-22 / 28 00:00-08:00,17:30-24:00 ; Thursday</FONT>
<BR><FONT SIZE=2>        2010-04-23 / 28 00:00-08:00,17:30-24:00 ; Friday</FONT>
<BR><FONT SIZE=2>        2010-04-24 / 28 00:00-24:00             ; Saturday</FONT>
<BR><FONT SIZE=2>        2010-04-25 / 28 00:00-24:00             ; Sunday</FONT>
<BR><FONT SIZE=2>        2010-04-26 / 28 00:00-08:00             ; Monday</FONT>
<BR><FONT SIZE=2>        }</FONT>
</P>

<P><FONT SIZE=2>I have escalations set for one particular client which will happen during oncall hours only and depending on the notification number, (4,5,6) will send an SMS alert to the relevant person oncall. </FONT></P>

<P><FONT SIZE=2>## Escalation ONE:</FONT>
<BR><FONT SIZE=2>define serviceescalation {</FONT>
<BR><FONT SIZE=2>        host_name               dbhost1</FONT>
<BR><FONT SIZE=2>        service_description     DB Conn Check</FONT>
<BR><FONT SIZE=2>        first_notification      4</FONT>
<BR><FONT SIZE=2>        last_notification       6</FONT>
<BR><FONT SIZE=2>        notification_interval   15</FONT>
<BR><FONT SIZE=2>        escalation_options      c       ; Only escalate for CRITICAL alerts</FONT>
<BR><FONT SIZE=2>        escalation_period       oncall</FONT>
<BR><FONT SIZE=2>        contact_groups          wx2-sms-oncall-group</FONT>
<BR><FONT SIZE=2>        }</FONT>
</P>

<P><FONT SIZE=2>define timeperiod{</FONT>
<BR><FONT SIZE=2>        timeperiod_name oncall</FONT>
<BR><FONT SIZE=2>        alias           Oncall Hours</FONT>
<BR><FONT SIZE=2>        sunday          00:00-24:00</FONT>
<BR><FONT SIZE=2>        monday          00:00-08:00,17:30-24:00</FONT>
<BR><FONT SIZE=2>        tuesday         00:00-08:00,17:30-24:00</FONT>
<BR><FONT SIZE=2>        wednesday       00:00-08:00,17:30-24:00</FONT>
<BR><FONT SIZE=2>        thursday        00:00-08:00,17:30-24:00</FONT>
<BR><FONT SIZE=2>        friday          00:00-08:00,17:30-24:00</FONT>
<BR><FONT SIZE=2>        saturday        00:00-24:00</FONT>
<BR><FONT SIZE=2>        }</FONT>
</P>

<P><FONT SIZE=2>And the sms-oncall-group defined for the service escalation includes all 4 oncall engineers but only the person actually oncall should get the sms alert based on their oncall timeperiods. </FONT></P>
<BR>

<P><FONT SIZE=2>define contactgroup{</FONT>
<BR><FONT SIZE=2>      contactgroup_name       wx2-sms-oncall-group</FONT>
<BR><FONT SIZE=2>      alias                   WX2 Oncall</FONT>
<BR><FONT SIZE=2>      members                 person1-oncall, person2-oncall, person3-oncall, person4-oncall</FONT>
<BR><FONT SIZE=2>      }</FONT>
</P>

<P><FONT SIZE=2>However, I've now hit a snag - how do I define UK public holidays periods as being 24 hours (particularly if they fall on a weekday) and put that timeperiod into each oncall engineers timeperiod so whoever is oncall on a particular UK public holiday will get the escalation alerts for the entire 24 hour period rather than the usual defined oncall period of "00:00-08:00 and 17:30-24:00"</FONT></P>

<P><FONT SIZE=2>I'd rather not explicitly define a UK holiday date to an oncall engineer as this would need to be maintained. I'd rather just have to update</FONT></P>

<P><FONT SIZE=2>the timeperiod if the person rota'ed cannot cover that particular timeperiod as this will be few and far between in comparison. </FONT></P>

<P><FONT SIZE=2>If anymore info is required please let me know. I'm probably missing something obvious but I've read the docs over a few times and can't seem to see what I want to do in there. </FONT></P>

<P><FONT SIZE=2>Any pointers, help would be really appreciated. </FONT>
</P>

<P><FONT SIZE=2>Thanks,</FONT>
<BR><FONT SIZE=2>Deborah </FONT>
</P>
<BR>
<BR>
<BR>
<BR>

<BR>
***************************************************************************<BR>
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. <BR>
<BR>
Any unauthorised distribution or copying is strictly prohibited. <BR>
Whilst Kognitio Limited takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. <BR>
<BR>
Kognitio grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused. <BR>
<BR>
Kognitio Limited, a company registered in England and Wales. Registered number 0212 7833. Registered Office:  3a Waterside Park, Cookham Road, Bracknell, Berks, RG12 1RB. VAT number 864 4378 92.<BR>
<BR>
Kognitio Inc, a company incorporated in Delaware, principal office 180 North Stetson, Suite 3500, Chicago, IL 60601, USA<BR>
***************************************************************************<BR>
</BODY>
</HTML>