How I can monitor Channel Utilization Load for the Cisco Access Point.
search cancel

How I can monitor Channel Utilization Load for the Cisco Access Point.


Article ID: 226797


Updated On:


CA Spectrum


I have created a watch on next table attribute of a Cisco WLC (like Catalyst 9800)


The alarm is generated when the threshold is exceeded, however the alarm doesn't include the AP name, but the instance Id of the above table attribute. 

The AP name can be obtained from bsnAPName attribute, but the instance's ID from both table attributes are not exactly the same.

For example, and instance id in bsnAPIfLoadChannelUtilization correspond to in bsnAPName.

Basically the instance ID is the same, except by the last part.




Release : 10.4.1

Component : Spectrum OneClick


When a threshold is exceeded on an instance attribute from a watch, the instance that exceeded the threshold is passed on to the resulting event as event variable "8".

If other table attribute contains the human readable value you would like to include in the alarm, you can use the steps described on next technical document to accomplish that:

How to add additional instance information to an event created from an instance SpectroWatch in CA Spectrum

However, as explained in the above document, the only basic requirement for doing this is that the table from where you want to collect the additional information from MUST be instanced in the same way as the table the SpectroWatch is using in the watch expression.

Like in this example, instance ID 1 from locIfInCRC, has a value of 0, and its description can be obtained from the value of IfDescr instance ID 1.

As bsnAPIfLoadChannelUtilization and bsnAPName Instance IDs just partially matches, you can still use an Event Procedure to get the value from bsnAPName attribute, but you need to include a regular expression to get from bsnAPIfLoadChannelUtilization instance ID the valid Instance ID for bsnAPName


To accomplish the goal, Engineering has provided, and successfully tested next Event Procedure

0xfff0000b P " \
 CreateEventWithVariables( \
  { H 0xfff0000d }, \
  SetEventVariable( \
   SetEventVariable( \
       SetEventVariable( \
           SetEventVariable( \
               SetEventVariable( \
                   SetEventVariable( \
                       SetEventVariable( \
                           GetEventVariableList(), \
                           { U 20 }, \
                           ReadAttributeInstance( \
                                { C CURRENT_MODEL }, \
                                { H 0x213a52 }, \
                                GetRegexp( \
                                   ToString( GetEventVariable({U 8}) ), \
                                   {S\"^(.*(?=\.)(?=..))\"}, \
                                   {U 1} )) ), \
                       { U 11 }, \
                       GetEventVariable({U 11})), \
                   { U 8 }, \
                   GetEventVariable({U 8})), \
               { U 7 }, \
               GetEventVariable({U 7})), \
           { U 6 }, \
           GetEventVariable({U 6})), \
       { U 4 }, \
       GetEventVariable({U 4})), \
   { U 2 }, \
   GetEventVariable({U 2}))) "