Status: Released; Last modified: 03-MAY-2004
DiffServ-based quality of service is being deployed in many networks these days, and the choice of management systems able to monitor QoS parameters is too narrow.
Cisco IOS provides QoS statistics in its CISCO-CLASS-BASED-QOS-MIB. This MIB is far too complex for a regular SNMP collector.
The cbqos RRFW plugin provides a complete solution for automated
SNMP discovery and collection for QoS objects on Cisco routers.
It is the first open source solution of this kind.
Other existing tools for QoS monitoring are:
genRtrConfig by Francois Mikus (http://www.acktomic.com).
RRFW version 0.1.6 or later is required.
Unpack RRFW distribution and the cbqos plugin in some directory. From RRFW
distribution directory, execute
./configure --with-plugins=../rrfw-plugin-cbqos-0.1 make install
See RRFW Installation Instructions for more details on installation options and requirements.
After successful installation, add the following line to your site configuration files rrfw-siteconfig.pl and devdiscover-siteconfig.pl. These files are usually located in /usr/local/rrfw-0.1/share/rrfw:
require $RRFW::Global::perlConfigDir . '/cbqos-config.pl';
Use your RRFW the usual way: devdiscover will automatically find
QoS objects on your routers, compilexml will find the required
templates, and collector will initialize all required tables and
will start collecting data.
Note: QoS is a software feature, and there's no means to determine
that the configuration has changed. You need to re-run devdiscover
and compilexml whenever your QoS configuration changes.
As usual, the collector will automatically detect the router reload
or RRFW configuration change, and re-initialize its tables.
The following parameters may be specified in devdiscover input XML:
CiscoIOS_cbQoS::red-dscp-valuesAF31 or EF are recognized.
When specified, it overrides the default list defined in
@RRFW::DevDiscover::CiscoIOS_cbQoS::RedDscpValues in cbqos-config.pl
or in devdiscover-siteconfig.pl.
CiscoIOS_cbQoS::classmaps-onlyyes, only classmap statistics are set for collection.
Suppressed are statistics for match statements, queueing, RED, shaping,
and policying. This significantly reduces the size of datasource tree,
amount of SNMP queries, and collector execution time.
CiscoIOS_cbQoS::suppress-match-statementsyes, disables the match statement statistics.
These statistics usually don't bring much of additional information.
Besides, in some IOS versions they are almost always not updated (known
for: 12.2(15)T7, ...).
CiscoIOS_cbQoS::suppress-dropnobufyes, disables classmap Dropped No Buffer statistics.
CISCO-CLASS-BASED-QOS-MIB uses complex indexing for statistics objects:
cbQosPolicyIndex in cbQosServicePolicyTable is found by matching
6 values: cbQosIfType, cbQosPolicyDirection, cbQosIfIndex,
cbQosFrDLCI, cbQosAtmVPI, cbQosAtmVCI
Use cbQosPolicyIndex to access the cbQosObjectsTable, and find the
cbQosObjectsIndex and cbQosConfigIndex assigned to the QoS feature.
Use cbQosConfigIndex to access configuration tables
(cbQosxxxCfgTable) for information about the feature.
Use cbQosPolicyIndex and cbQosObjectsIndex to access QoS statistics
tables (cbQosxxxStatsTable) for information about the QoS feature.
The plugin introduces a special RRFW collector type, ``cisco-cbqos''.
Each RRFW datasource is identified by Service Policy, QoS Feature, and associated SNMP objects type.
The following parameters identify the Service Policy:
cbqos-direction => "input" "output"
cbqos-interface-name (mapping to IF-MIB interface index)
cbqos-interface-type =>
"mainInterface"
"subInterface"
"frDLCI" =>
cbqos-fr-dlci
"atmPVC" =>
cbqos-atm-vpi
cbqos-atm-vci
The following parameters identify the QoS Feature:
cbqos-object-type =>
"policymap"
"classmap" =>
cbqos-class-map-name
"matchStatement" =>
cbqos-match-statement-name
"queueing" =>
cbqos-queueing-bandwidth
"randomDetect"
"trafficShaping" =>
cbqos-shaping-rate
"police" =>
cbqos-police-rate
SNMP objects are defined in reguar RRFW XML templates. Collector
substitutes POL and OBJ strings in snmp-object parameter with
the current values of policy and object index correspondingly.
Development of this plugin was sponsored by Cablecom GmbH.
Copyright (c) 2004 Stanislav Sinyagin <ssinyagin@yahoo.com>