Additional CBQoS SNMP Collection
Background
NMIS has been collecting CBQoS data from Cisco Devices for a very long time, to produce the necessary charts, it is only required to sent some of SNMP MIBS. For more detailed reporting now supported in opReports, it is necessary to collect additional CBQoS MIBS. The full list of MIBS supported for CBQoS collection after this patch is applied are:
PrePolicyByte
DropByte
PostPolicyByte
- DropPkt
NoBufDropPkt
PrePolicyPkt
The graphs in NMIS and opCharts show the key pieces of Data above.
How to enable a router to collect CBQoS inventory and statistics
By default when we discover a Cisco router with CBQoS configured the systemhealth data will be populated with a table of interfaces on which CBQoS is configured and which policy they are using. It will not start collecting QoS statistics. The reason is:
CBQoS collection Control Considerations
When managing a network of devices typically the largest amount of data or elements collected is the interface data. e.g. an average of 5 interfaces per device.
So - if you imagine that each interface had 5 CBQoS Class Queues per interface we now have 30 elements instead of the original 5. As you can see we have pretty much increased the collection and storage by 5 fold !! As such we want to be careful about which devices we want QoS statistics collection enabled for.
To enable the collection of CBQoS statistics, in addition to the inventory data, we need to set one of the Nodes properties. For the Node in NMIS use Edit Node then find the property CBQoS and change it from "none" to one of "input", "output" or "both".
If you are using imports or automation for your node properties then you need to set the Nodes.nmis property to 'cbqos' => 'both',
This can be done via the CLI Node admin:
admin/node_admin.pl act=set node={nodename} entry.cbqos=both ##(or input or output).
Patching pre NMIS 8.4 - Installing the Patch
Before you Begin
Download the nmis-8.4-cbqos.tar.gz patch; then copy the patch file to the server to be patched. It is easy to process this file if you are the root user and the file is in the root user home directory which is /root
Applying the Patch
#Backup current NMIS code and config including models DATE=`date "+%Y-%m-%d-%H%M"` cd /usr/local/nmis8 tar cvf ~/nmis8-backup-$DATE.tar ./admin ./bin ./cgi-bin ./conf ./install ./lib ./menu ./mibs ./models #Make sure NMIS is working before you patch it. /usr/local/nmis8/bin/nmis.pl type=collect debug=true node=<node to test> #Get CP working right. (no prompts) unalias cp #Unarchive the NMIS tarball cd ~ tar xvf nmis-8.4-cbqos.tar.gz # Patch the Code Base cd nmis-8.4-cbqos cp -r * /usr/local/nmis8
Updating the Production Model Files
If there are no customisations to your CBQoS model files, copy the new ones over the old ones, or you will need to merge the differences manually.
# Copy the model-install files over the production files. cp /usr/local/nmis8/models-install/Common-cbqos-in.nmis /usr/local/nmis8/models/Common-cbqos-in.nmis cp /usr/local/nmis8/models-install/Common-cbqos-out.nmis /usr/local/nmis8/models/Common-cbqos-out.nmis
Clean up and Test
# optionally audit your config /usr/local/nmis8/bin/nmis.pl type=audit # fix your config /usr/local/nmis8/bin/nmis.pl type=config # fix permissions /usr/local/nmis8/admin/fixperms.pl # test polling /usr/local/nmis8/bin/nmis.pl type=collect debug=true node=<node to test>