# Copyright (C) 2002 Stanislav Sinyagin # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. # $Id: wd.uptime-mon.pod,v 1.1 2010-12-27 00:04:36 ivan Exp $ # Stanislav Sinyagin # # =head1 RRFW Working Draft: Service uptime monitoring and reporting Status: in pre-design phase. Date: Sep 26 2003; Last revised: =head2 Definitions It is often required to monitor the service level in networks. Service level is normally covered by Service Level Agreement (SLA), which defines the following parameters: =over 4 =item * Service definition Describes the particular service in terms of functionality and means of monitoring. Examples are: IP VPN connectivity, WAN uplink, SQL database engine. =item * Maintenance window Describes the periodic time intervals when service outage is possible due to some maintenance work. It may be unconditional (outage is always possible within the window), or conditional (customer confirmation required for outage within the window). Notification period is normally defined for maintenance outages. Example: every 1st Tuesday of the month between 6AM and 8 AM, with 96 hours notification time. =item * Outage types Outages may be caused by: 1). system failure; 2). service provider's infrastructure failure; 3). customer activity. =item * Service level objectives These are the guarantees that the sevice provider gives to the customer. Violation of these guarantees is compensated by penalties defined. These may include: Maxium maintenance downtime per specified period; Maximum downtime period due to failures on the service provider side; Minimum service availability per specified period. =back =head2 Event datasource type In order to store the service level information, we need a new datasource type in RRFW: I. It represents an atomic information about a single event in time, e.g. it canot be devided into more specific elements or sub-events. Its attributes are as follows: =over 4 =item * Event group name Several events belong to one and only one group. Event group is a unique entity that describes the service. =item * Event name Unique name within the event group. Describes the type of the event, such as C, C. Events with the same names cannot overlap in time. =item * Start time Timestamp of the event start. =item * Duration Positive integer that specifies the length of the event in seconds. Zero duration means that the event has not yet finished. =item * Parameters Event-specific I<(name, value)> pairs. =back Events are uniquely identified by I<(Event group, Event name, Start time)> triple. =head2 Event summary reports Renderer should be able to display the events at different summary levels and in different combinations. Event reports should be specified by expressions, as follows: =over 4 =item * Boolean operators C. =item * Time period C<(downtime AND NOT maintenance)[-2DAYS,NOW]> C<(downtime[-2DAYS,NOW] AND NOT maintenance AND NOT downtime[200309151200,200309151300])> =item * Arithmetic operations Sum of durations, substract of durations... =back =head2 Events generation Events may be generated by the following sources: =over 4 =item * Collector SNMP collector may create events on some faulty conditions, like host unreachable, or on SNMP variables change, like interface status. Also it's possible to create an ICMP Echo collector type, which would generate events based on pinging the hosts. =item * Monitor Obviously, a new monitor action will be to create events. =item * Human operator First from commandline interface, and later from thr Web interface, the human operators may create the scheduled events, like maintenance outages. Security policy should protect certain types of events from human intervention. =back =head1 Author Copyright (c) 2003 Stanislav Sinyagin Essinyagin@yahoo.comE