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