Tuesday, March 11, 2008

How To: SNMP Polling with the UA

Yes, it's possible to collect and monitor MIB data from SNMP agents in your environment using the Universal Agent. A good example is collecting hardware status (drive failures, etc.). Most likely you want to do this on a large number of machines. There are two ways - the way the UA User Guide says, and my "real life" way to make it work...

1. Make sure agent support for um is seeded on TEMS.

2. Start the snmp data provider

Add snmp to KUMP_STARTUP_DP environment variable in UM env file (KUMENV on windows, um.ini on Unix/Linux).

3. Create a metafile to collect the SNMP data you are after.

Example that will poll for Compaq drive condition:

//SNMP TEXT
//APPL CPQDRVSTATUS
//ATTRIBUTES
cpqDaPhyDrvCondition C 999999 1.3.6.1.4.1.232.3.2.5.1.1.37 ENUM{ other(1) ok(2) degraded(3) failed(4) }

4. Import the metafile into the SNMP data provider.

5. Activate MIB data collection (polling).

Right click the new SNMP application, called CPQDRVSTATUS, that now appears under the Universal Agent in the TEP Navigator tree, and select Monitor Start.

6. Add comma-separated list of hosts into AgentInfo

This is where real life differs from the UA Users Guide. Up to 15 hosts works fine, 30 or more breaks so we'll create another instance in a second. The magic number may be somewhere in between. I don' t have time right now to find the magic number. When I do I'll post a follow-up (or you can). Until then - I know up to 15 hosts works per UA instance.

7. Add polling interval in seconds for Interval

8. Click OK and OK again.

Now, since we are only doing 15 hosts with this UA, you have to start an additional UA instance for each additional set of 15 hosts you want to do:

9. Start another instance of the UA

Right-click the UA from MTEMS and select Create Another Instance

Once the new UA instance is created, you need to import the metafile above into it before it will appear on TEP Navigator. To do this, you have to specify the new instance of the UA, otherwise the kumpcon command will try to import the metafile again into the default UA instance, and it will fail saying it is already defined:

10. Find the port number that the new UA is listening for console commands on

Select the DPLOG navigator item under the SNMPMANAGER00 application. This will tell you what port number the new UA instance is listening on.

11. Set the KUMP_DPCONSOLE_PORT env variable

Set this environment variable equal to the port the new UA instance is listening on. Example: set KUMP_DPCONSOLE_PORT=8790.

12. Use kumpcon import command to import metafile above into new UA instance.

13. Repeat steps 5-12 for each set of 15 hosts you need to poll.

You should begin to see the collected data in your CPQDRVSTATUS workspace.
You can also see the collection status in the MIBSTATUS workspace under SNMPMANAGER00.

Now you can write a situation to monitor for when cpqDaPhyDrvCondition != 'ok' and alert to ITM situation console and/or TEC.

No comments: