SCOM: Advanced SNMP Monitoring Part II: Designing the SNMP Monitors
September 12, 2009 3 Comments
For the Cisco Management Pack, a handful of different approaches were required when designing the monitors and rules and their supporting workflows. These approaches can generally be placed into three categories:
- Simple SNMP GET operations
- Operations that require data manipulation
- Operations that require access to previously collected values
For example, monitoring of an interface’s operational status only requires current SNMP GET requests (to retrieve the ifOperStatus and ifAdminStatus values) from the SNMP ifTable. Condition detection for the monitor type definition can handle the SNMP values as they are presented with no further manipulation. However, to monitor a value such as the percent free bytes on a Cisco memory pool, data manipulation is required. In this example, a percentage value is not exposed via SNMP, but free and available values are. So, to calculate a percentage, the free and available bytes values must be summed and then the free value divided by that sum. And lastly, in some cases, a value from a previous poll must be referenced to detect the desired condition, such as monitoring for an increase in the collisions reported for a Cisco interface. In this example, the locIfCollisions values can be retrieved from the locIfTable, but this is a continually augmenting counter, which is difficult to monitor. By recording the value from the immediately previous poll, and comparing it with the current poll, a delta value can be established for that polling cycle to determine the number of collisions recorded in a single polling cycle.

