Update of /cvsroot/nagios/nagios/html/docs In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv13165/html/docs Modified Files: monitoring-linux.html notifications.html objectdefinitions.html security.html timeperiods.html toc.html Added Files: oncallrotation.html Log Message: Timeperiod exclusions, doc updates, prep for new release Index: objectdefinitions.html =================================================================== RCS file: /cvsroot/nagios/nagios/html/docs/objectdefinitions.html,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** objectdefinitions.html 17 Jul 2007 22:37:59 -0000 1.9 --- objectdefinitions.html 31 Jul 2007 12:58:50 -0000 1.10 *************** *** 1272,1275 **** --- 1272,1276 ---- <tr><td></td><td class="Optional">[weekday]</td><td class="Optional"><i>timeranges</i></td></tr> <tr><td></td><td class="Optional">[exception]</td><td class="Optional"><i>timeranges</i></td></tr> + <tr><td></td><td class="Optional">exclude</td><td class="Optional">[<i>timeperiod1,timeperiod2,...,timeperiodn</i>]</td></tr> <tr><td> </td><td colspan=2 class="Definition">}</td></tr> *************** *** 1304,1308 **** } ! define timeperod{ timeperiod_name misc-date-ranges alias Misc Date Ranges --- 1305,1309 ---- } ! define timeperiod{ timeperiod_name misc-date-ranges alias Misc Date Ranges *************** *** 1316,1320 **** } ! define timeperod{ timeperiod_name misc-skip-ranges alias Misc Skip Ranges --- 1317,1321 ---- } ! define timeperiod{ timeperiod_name misc-skip-ranges alias Misc Skip Ranges *************** *** 1354,1364 **** <td> <p> ! You can specify several different types of exceptions to the standard rotating weekday schedule. Exceptions can take a number of different forms including single days of a specific or generic month, single weekdays in a month, or single calendar dates. You can also specify a range of days/dates and even specify skip intervals to obtain functionality described by "every 3 days between these dates". Rather than list all the possible formats for exception strings, I'll let you look at the example timeperiod definitions above to see what's possible. :-) ! </p> ! <p> ! Weekdays and different types of exceptions all have different levels of precedence, so its important to understand how they can affect each other. More information on this can be found in the documentation on <a href="timeperiods.html">timeperiods</a>. </p> </td> </tr> </table> </p> --- 1355,1368 ---- <td> <p> ! You can specify several different types of exceptions to the standard rotating weekday schedule. Exceptions can take a number of different forms including single days of a specific or generic month, single weekdays in a month, or single calendar dates. You can also specify a range of days/dates and even specify skip intervals to obtain functionality described by "every 3 days between these dates". Rather than list all the possible formats for exception strings, I'll let you look at the example timeperiod definitions above to see what's possible. :-) Weekdays and different types of exceptions all have different levels of precedence, so its important to understand how they can affect each other. More information on this can be found in the documentation on <a href="timeperiods.html">timeperiods</a>. </p> </td> </tr> + <tr> + <td valign="top"><strong>exclude</strong>:</td> + <td> + This directive is used to specify the short names of other timeperiod definitions whose time ranges should be excluded from this timeperiod. Multiple timeperiod names should be separated with a comma. + </td> + </tr> </table> </p> --- NEW FILE: oncallrotation.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>On-Call Rotations</TITLE> <STYLE type="text/css"> <!-- .Default { font-family: verdana,arial,serif; font-size: 8pt; } .PageTitle { font-family: verdana,arial,serif; font-size: 16pt; font-weight: bold; } --> </STYLE> </HEAD> <body bgcolor="#FFFFFF" text="black" class="Default"> <p> <div align="center"> <img src="images/nagios.jpg" border="0" alt="Nagios" title="Nagios"> <h2 class="PageTitle">On-Call Rotations</h2> </div> </p> <hr> <p> <img src="images/upto.gif" border="0" align="absmiddle">Up To: <a href="toc.html">Contents</a><br> <img src="images/seealso.gif" border="0" align="absmiddle"> See Also: <a href="timeperiods.html">Timeperiods</a>, <a href="notifications.html">Notifications</a> </p> <p> <strong><u>Introduction</u></strong> </p> <img src="images/objects-contacts.png" border="0" style="float: right;"> <img src="images/objects-timeperiods.png" border="0" style="float: right;"> <p> Admins often have to shoulder the burden of answering pagers, cell phone calls, etc. when they least desire them. No one likes to be woken up at 4 am to fix a problem. But its often better to fix the problem in the middle of the night, rather than face the wrath of an unhappy boss when you stroll in at 9 am the next morning. </p> <p> For those lucky admins who have a team of gurus who can help share the responsibility of answering alerts, on-call rotations are often setup. Multiple admins will often alternate taking notifications on weekends, weeknights, holidays, etc. </p> <p> I'll show you how you can create <a href="timeperiods.html">timeperiod</a> definitions in a way that can facilitate most on-call notification rotations. These definitions won't handle human issues that will inevitably crop up (admins calling in sick, swapping shifts, or throwing their pagers into the river), but they will allow you to setup a basic structure that should work the majority of the time. </p> <p> <strong><u>Scenario 1: Holidays and Weekends</u></strong> </p> <p> Two admins - John and Bob - are responsible for responding to Nagios alerts. John receives all notifications for weekdays (and weeknights) - except for holidays - and Bob gets handles notifications during the weekends and holidays. Lucky Bob. Here's how you can define this type of rotation using timeperiods... </p> <p> First, define a timeperiod that contains time ranges for holidays: </p> <p> <pre> define timeperiod{ name holidays january 1 00:00-24:00 ; New Year's Day 2007-03-23 00:00-24:00 ; Easter (2008) 2007-04-12 00:00-24:00 ; Easter (2009) monday -1 may 00:00-24:00 ; Memorial Day (Last Monday in May) july 4 00:00-24:00 ; Independence Day monday 1 september 00:00-24:00 ; Labor Day (1st Monday in September) thursday 4 november 00:00-24:00 ; Thanksgiving (4th Thursday in November) december 25 00:00-24:00 ; Christmas december 31 17:00-24:00 ; New Year's Eve (5pm onwards) } </pre> </p> <p> Next, define a timeperiod for John's on-call times that include weekdays and weeknights, but excludes the dates/times defined in the holidays timeperiod above: </p> <p> <pre> define timeperiod{ name john-oncall monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 use holiday ; Also include holiday dates/times defined elsewhere } </pre> </p> <p> You can now reference this timeperiod in John's contact definition: </p> <p> <pre> define contact{ name john ... host_notification_period john-oncall service_notification_period john-oncall } </pre> </p> <p> Define a new timeperiod for Bob's on-call times that include weekends and the dates/times defined in the holidays timeperiod above: </p> <p> <pre> define timeperiod{ name bob-oncall friday 00:00-24:00 saturday 00:00-24:00 exclude holidays ; Exclude holiday date/times defined elsewhere } </pre> </p> <p> You can now reference this timeperiod in Bob's contact definition: </p> <p> <pre> define contact{ name bob ... host_notification_period bob-oncall service_notification_period bob-oncall } </pre> </p> <p> <strong><u>Scenario 2: Alternating Days</u></strong> </p> <p> In this scenario John and Bob alternate handling alerts every other day - regardless of whether its a weekend, weekday, or holiday. </p> <p> Define a timeperiod for when John should receive notifications. Assuming today's date is August 1st, 2007 and John is handling notifications starting today, the definition would look like this: </p> <p> <pre> define timeperiod{ name john-oncall 2007-08-01 / 2 00:00-24:00 ; Every two days, starting August 1st, 2007 } </pre> </p> <p> Now define a timeperiod for when Bob should receive notifications. Bob gets notifications on the days that John doesn't, so his first on-call day starts tomorrow (August 2nd, 2007). </p> <p> <pre> define timeperiod{ name bob-oncall 2007-08-02 / 2 00:00-24:00 ; Every two days, starting August 2nd, 2007 } </pre> </p> <p> Now you need to reference these timeperiod definitions in the contact definitions for John and Bob: </p> <p> <pre> define contact{ name john ... host_notification_period john-oncall service_notification_period john-oncall } </pre> </p> <p> <pre> define contact{ name bob ... host_notification_period bob-oncall service_notification_period bob-oncall } </pre> </p> <p> <strong><u>Scenario 3: Alternating Weeks</u></strong> </p> <p> In this scenario John and Bob alternate handling alerts every other week. John handles alerts Sunday through Saturday one week, and Bob handles alerts for the following seven days. This continues in perpetuity. </p> <p> Define a timeperiod for when John should receive notifications. Assuming today's date is Sunday, July 29th, 2007 and John is handling notifications this week (starting today), the definition would look like this: </p> <p> <pre> define timeperiod{ name john-oncall 2007-07-29 / 14 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, July 29th, 2007 2007-07-30 / 14 00:00-24:00 ; Every other Monday starting July 30th, 2007 2007-07-31 / 14 00:00-24:00 ; Every other Tuesday starting July 31st, 2007 2007-08-01 / 14 00:00-24:00 ; Every other Wednesday starting August 1st, 2007 2007-08-02 / 14 00:00-24:00 ; Every other Thursday starting August 2nd, 2007 2007-08-03 / 14 00:00-24:00 ; Every other Friday starting August 3rd, 2007 2007-08-04 / 14 00:00-24:00 ; Every other Saturday starting August 4th, 2007 } </pre> </p> <p> Now define a timeperiod for when Bob should receive notifications. Bob gets notifications on the weeks that John doesn't, so his first on-call day starts next Sunday (August 8th, 2007). </p> <p> <pre> define timeperiod{ name bob-oncall 2007-08-05 / 14 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, August 5th, 2007 2007-08-06 / 14 00:00-24:00 ; Every other Monday starting August 6th, 2007 2007-08-07 / 14 00:00-24:00 ; Every other Tuesday starting August 7th, 2007 2007-08-08 / 14 00:00-24:00 ; Every other Wednesday starting August 8th, 2007 2007-08-09 / 14 00:00-24:00 ; Every other Thursday starting August 9th, 2007 2007-08-10 / 14 00:00-24:00 ; Every other Friday starting August 10th, 2007 2007-08-11 / 14 00:00-24:00 ; Every other Saturday starting August 11th, 2007 } </pre> </p> <p> Now you need to reference these timeperiod definitions in the contact definitions for John and Bob: </p> <p> <pre> define contact{ name john ... host_notification_period john-oncall service_notification_period john-oncall } </pre> </p> <p> <pre> define contact{ name bob ... host_notification_period bob-oncall service_notification_period bob-oncall } </pre> </p> <p> <strong><u>Scenario 4: Vacation Days</u></strong> </p> <p> In this scenarios, John handles notifications for all days except those he has off. He has several standing days off each month, as well as some planned vacations. Bob handles notifications when John is on vacation or out of the office. </p> <p> First, define a timeperiod that contains time ranges for John's vacation days and days off: </p> <p> <pre> define timeperiod{ name john-out-of-office day 15 00:00-24:00 ; 15th day of each month day -1 00:00-24:00 ; Last day of each month (28th, 29th, 30th, or 31st) day -2 00:00-24:00 ; 2nd to last day of each month (27th, 28th, 29th, or 30th) january 2 00:00-24:00 ; January 2nd each year june 1 - july 5 00:00-24:00 ; Yearly camping trip (June 1st - July 5th) 2007-11-01 - 2007-11-10 00:00-24:00 ; Vacation to the US Virgin Islands (November 1st-10th, 2007) } </pre> </p> <p> Next, define a timeperiod for John's on-call times that excludes the dates/times defined in the timeperiod above: </p> <p> <pre> define timeperiod{ name john-oncall monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 exclude john-out-of-office ; Exclude dates/times John is out } </pre> </p> <p> You can now reference this timeperiod in John's contact definition: </p> <p> <pre> define contact{ name john ... host_notification_period john-oncall service_notification_period john-oncall } </pre> </p> <p> Define a new timeperiod for Bob's on-call times that include the dates/times that John is out of the office: </p> <p> <pre> define timeperiod{ name bob-oncall use john-out-of-office ; Include holiday date/times that John is out } </pre> </p> <p> You can now reference this timeperiod in Bob's contact definition: </p> <p> <pre> define contact{ name bob ... host_notification_period bob-oncall service_notification_period bob-oncall } </pre> </p> <p> <strong><u>Other Scenarios</u></strong> </p> <p> There are a lot of other on-call notification rotation scenarios that you might have. The date exception directive in <a href="objectdefinitions.html#timeperiod">timeperiod definitions</a> is capable of handling most dates and date ranges that you might need to use, so check out the different formats that you can use. If you make a mistake when creating timeperiod definitions, always err on the side of giving someone else more on-call duty time. :-) </p> <hr> </body> </html> Index: notifications.html =================================================================== RCS file: /cvsroot/nagios/nagios/html/docs/notifications.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** notifications.html 18 Jun 2007 16:56:30 -0000 1.10 --- notifications.html 31 Jul 2007 12:58:50 -0000 1.11 *************** *** 27,31 **** <p> <img src="images/upto.gif" border="0" align="absmiddle">Up To: <a href="toc.html">Contents</a><br> ! <img src="images/seealso.gif" border="0" align="absmiddle"> See Also: <a href="escalations.html">Escalations</a>, <a href="timeperiods.html">Timeperiods</a> </p> --- 27,31 ---- <p> <img src="images/upto.gif" border="0" align="absmiddle">Up To: <a href="toc.html">Contents</a><br> ! <img src="images/seealso.gif" border="0" align="absmiddle"> See Also: <a href="escalations.html">Escalations</a>, <a href="timeperiods.html">Timeperiods</a>, <a href="oncallrotation.html">On-Call Rotations</a> </p> Index: timeperiods.html =================================================================== RCS file: /cvsroot/nagios/nagios/html/docs/timeperiods.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** timeperiods.html 30 May 2007 18:21:23 -0000 1.4 --- timeperiods.html 31 Jul 2007 12:58:50 -0000 1.5 *************** *** 29,33 **** <p> <img src="images/upto.gif" border="0" align="absmiddle">Up To: <a href="toc.html">Contents</a><br> ! <img src="images/seealso.gif" border="0" align="absmiddle"> See Also: <a href="hostchecks.html">Host Checks</a>, <a href="servicechecks.html">Service Checks</a>, <a href="notifications.html">Notifications</a>, <a href="escalations.html">Notification Escalations</a>, <a href="dependencies.html">Dependencies</a> </p> --- 29,33 ---- <p> <img src="images/upto.gif" border="0" align="absmiddle">Up To: <a href="toc.html">Contents</a><br> ! <img src="images/seealso.gif" border="0" align="absmiddle"> See Also: <a href="oncallrotation.html">On-Call Rotations</a>, <a href="hostchecks.html">Host Checks</a>, <a href="servicechecks.html">Service Checks</a>, <a href="notifications.html">Notifications</a>, <a href="escalations.html">Notification Escalations</a>, <a href="dependencies.html">Dependencies</a> </p> *************** *** 119,122 **** --- 119,126 ---- <p> + Examples of how to create timeperiod definitions for use for on-call rotations can be found <a href="oncallrotation.html">here</a>. + </p> + + <p> <strong><u>How Time Periods Work With Notification Escalations</u></strong> </p> Index: monitoring-linux.html =================================================================== RCS file: /cvsroot/nagios/nagios/html/docs/monitoring-linux.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** monitoring-linux.html 5 Mar 2007 17:25:46 -0000 1.2 --- monitoring-linux.html 31 Jul 2007 12:58:49 -0000 1.3 *************** *** 54,68 **** <p> ! <img src="images/note.gif" border="0" align="bottom"> Note: These instructions assume that you've installed Nagios according to the <a href="quickstart.html">quickstart guide</a>. The sample configuration entries below reference objects that are defined in the sample <i>commands.cfg</i> and <i>localhost.cfg</i> config files. </p> <p> ! <strong><u>TODO</u></strong> </p> <p> ! TODO... </p> <hr> --- 54,79 ---- <p> ! <img src="images/note.gif" border="0" align="bottom"> Note: These instructions assume that you've installed Nagios according to the <a href="quickstart.html">quickstart guide</a>. The sample configuration entries below reference objects that are defined in the sample config files (<i>commands.cfg</i>, <i>templates.cfg</i>, etc.) that are installed if you follow the quickstart. </p> <p> ! <strong><u>Overview</u></strong> </p> <p> ! [Note: This document has not been completed. I would recommend you read the documentation on the <a href="addons.html#nrpe">NRPE addon</a> for instructions on how to monitor a remote Linux/Unix server.] </p> + <p> + There are several different ways to monitor attributes or remote Linux/Unix servers. One is by using shared SSH keys and the <i>check_by_ssh</i> plugin to execute plugins on remote servers. This method will not be covered here, but can result in high load on your monitoring server if you are monitoring hundreds or thousands of services. The overhead of setting up/destroying SSH connections is the cause of this. + </p> + + <img src="images/nrpe.png" border="0" alt="NRPE" title="NRPE" style="float: right; clear: both;"> + + <p> + Another common method of monitoring remote Linux/Unix hosts is to use the <a href="addons.html#nrpe">NRPE addon</a>. NRPE allows you to execute plugins on remote Linux/Unix hosts. This is useful if you need to monitor local resources/attributes like disk usage, CPU load, memory usage, etc. on a remote host. + </p> + + <br clear="all"> <hr> Index: security.html =================================================================== RCS file: /cvsroot/nagios/nagios/html/docs/security.html,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** security.html 23 Jul 2007 20:17:34 -0000 1.8 --- security.html 31 Jul 2007 12:58:50 -0000 1.9 *************** *** 81,88 **** <li><strong>Secure Communication Channels</strong>. Make sure you encrypt communication channels between different Nagios installations and between your Nagios servers and your monitoring agents whenever possible. You don't want someone to be able to sniff status information going across your network. This information could be used by an attacker to determine the best times to go unnoticed.<br><br><img src="images/security2.png" border="0" style="float: left; clear: both;"></li><br clear="all"><br> - - </ol> </body> </html> --- 81,88 ---- <li><strong>Secure Communication Channels</strong>. Make sure you encrypt communication channels between different Nagios installations and between your Nagios servers and your monitoring agents whenever possible. You don't want someone to be able to sniff status information going across your network. This information could be used by an attacker to determine the best times to go unnoticed.<br><br><img src="images/security2.png" border="0" style="float: left; clear: both;"></li><br clear="all"><br> </ol> + <hr> + </body> </html> Index: toc.html =================================================================== RCS file: /cvsroot/nagios/nagios/html/docs/toc.html,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** toc.html 23 Jul 2007 20:17:34 -0000 1.32 --- toc.html 31 Jul 2007 12:58:51 -0000 1.33 *************** *** 66,71 **** <a href="monitoring-windows.html"><strong>How to monitor a Windows machine</strong></a><br> ! * <a href="monitoring-linux.html"><strong>How to monitor a Linux/Unix machine</strong></a><br> ! * <a href="monitoring-netware.html"><strong>How to monitor a Netware server</strong></a><br> <a href="monitoring-printers.html"><strong>How to monitor a network printer</strong></a><br> <a href="monitoring-routers.html"><strong>How to monitor a router/switch</strong></a><br> --- 66,71 ---- <a href="monitoring-windows.html"><strong>How to monitor a Windows machine</strong></a><br> ! <a href="monitoring-linux.html"><strong>How to monitor a Linux/Unix machine</strong></a><br> ! <a href="monitoring-netware.html"><strong>How to monitor a Netware server</strong></a><br> <a href="monitoring-printers.html"><strong>How to monitor a network printer</strong></a><br> <a href="monitoring-routers.html"><strong>How to monitor a router/switch</strong></a><br> |