updates
[torrus-plus.git] / plugins / cbqos / tp-cisco-cbqos.pod
blobb46ebebf081649f674662f69ae5ad07e70c2ec20
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., 675 Mass Ave, Cambridge, MA 02139, USA.
17 # Stanislav Sinyagin <ssinyagin@yahoo.com>
21 =head1 Cisco Class-based QoS discovery and collection plugin
23 Status: Released; Last modified: 03-MAY-2004
25 =head2 Introduction
27 DiffServ-based quality of service is being deployed in many networks
28 these days, and the choice of management systems able to monitor QoS
29 parameters is too narrow.
31 Cisco IOS provides QoS statistics in its CISCO-CLASS-BASED-QOS-MIB.
32 This MIB is far too complex for a regular SNMP collector.
34 The C<cbqos> Torrus plugin provides a complete solution for automated
35 SNMP discovery and collection for QoS objects on Cisco routers.
36 It is the first open source solution of this kind.
38 Other existing tools for QoS monitoring are:
40 =over 4
42 =item * C<genRtrConfig> by Francois Mikus (http://www.acktomic.com).
44 This tool is an add-on to Cricket (http://cricket.sourceforge.net).
45 It provides discovery and statistics for non-hierarchical classmaps counters:
46 pre-policy, post-policy, and drop counters.
48 =back
51 =head2 Installation
53 Follow the Torrus installation guide for the main software installation.
55 Unpack the plugin distribution package in some directory:
57   gzip -dc tp-cisco-cbqos-1.X.tar.gz | tar xvf -
59 Then run the Torrus plugin installation utility:
61   torrus install_plugin tp-cisco-cbqos-1.X
63 Restart all Torrus processes, including Apache HTTP daemon.
66 =head2 Usage
68 Use your Torrus the usual way: C<devdiscover> will automatically find
69 QoS objects on your routers, C<compilexml> will find the required
70 templates, and C<collector> will initialize all required tables and
71 will start collecting data.
73 B<Note:> QoS is a software feature, and there's no means to determine
74 that the configuration has changed. You need to re-run C<devdiscover>
75 and C<compilexml> whenever your QoS configuration changes.
76 As usual, the collector will automatically detect the router reload
77 or Torrus configuration change, and re-initialize its tables.
79 =head2 Tunable parameters
81 The following parameters may be specified in C<devdiscover> input XML:
83 =over 4
85 =item * C<CiscoIOS_cbQoS::red-dscp-values>
87 Optional. Comma-separated list of DSCP values to be used for WRED
88 statistics. Symbolic names like C<AF31> or C<EF> are recognized.
89 When specified, it overrides the default list defined in
90 C<@Torrus::DevDiscover::CiscoIOS_cbQoS::RedDscpValues> in F<cbqos-config.pl>
91 or in F<devdiscover-siteconfig.pl>.
93 =item * C<CiscoIOS_cbQoS::classmaps-only>
95 Optional. When set to C<yes>, only classmap statistics are set for collection.
96 Suppressed are statistics for match statements, queueing, RED, shaping,
97 and policying. This significantly reduces the size of datasource tree,
98 amount of SNMP queries, and collector execution time.
100 =item * C<CiscoIOS_cbQoS::suppress-match-statements>
102 Optional. When set to C<yes>, disables the match statement statistics.
103 These statistics usually don't bring much of additional information.
104 Besides, in some IOS versions they are almost always not updated (known
105 for: 12.2(15)T7, ...).
107 =item * C<CiscoIOS_cbQoS::suppress-dropnobuf>
109 Optional. When set to C<yes>, disables classmap Dropped No Buffer statistics.
111 =back
113 =head2 Implementation details
115 CISCO-CLASS-BASED-QOS-MIB uses complex indexing for statistics objects:
117 =over 4
119 =item 1
121 C<cbQosPolicyIndex> in C<cbQosServicePolicyTable> is found by matching
122 6 values: C<cbQosIfType>, C<cbQosPolicyDirection>, C<cbQosIfIndex>,
123 C<cbQosFrDLCI>, C<cbQosAtmVPI>, C<cbQosAtmVCI>
125 =item 2
127 Use C<cbQosPolicyIndex> to access the C<cbQosObjectsTable>, and find the
128 C<cbQosObjectsIndex> and C<cbQosConfigIndex> assigned to the QoS feature.
130 =item 3
132 Use C<cbQosConfigIndex> to access configuration tables
133 (C<cbQosxxxCfgTable>) for information about the feature.
135 =item 4
137 Use C<cbQosPolicyIndex> and C<cbQosObjectsIndex> to access QoS statistics
138 tables (C<cbQosxxxStatsTable>) for information about the QoS feature.
140 =back
142 The plugin introduces a special Torrus collector type, "cisco-cbqos".
144 Each Torrus datasource is identified by Service Policy, QoS Feature, and
145 associated SNMP objects type.
147 The following parameters identify the Service Policy:
149  cbqos-direction =>
150    "input"
151    "output"
153  cbqos-interface-name (mapping to IF-MIB interface index)
155  cbqos-interface-type =>
156    "mainInterface"
157    "subInterface"
158    "frDLCI" =>
159      cbqos-fr-dlci
160    "atmPVC" =>
161      cbqos-atm-vpi
162      cbqos-atm-vci
165 The following parameters identify the QoS Feature:
167  cbqos-object-type =>
168    "policymap"
169    "classmap" =>
170      cbqos-class-map-name
171    "matchStatement" =>
172      cbqos-match-statement-name
173    "queueing" =>
174      cbqos-queueing-bandwidth
175    "randomDetect"
176    "trafficShaping" =>
177      cbqos-shaping-rate
178    "police" =>
179      cbqos-police-rate
181 SNMP objects are defined in regular Torrus XML templates. Collector
182 substitutes C<POL> and C<OBJ> strings in C<snmp-object> parameter with
183 the current values of policy and object index correspondingly.
185 Development of this plugin was sponsored by Cablecom GmbH.
187 =head1 Author
189 Copyright (c) 2004 Stanislav Sinyagin E<lt>ssinyagin@yahoo.comE<gt>