SNMP Discovery Provider for OpsMgr 2007

Operations Manager ships with various providers that allow populating classes. They allow discovering classes based on the presence of a Windows Service, WMI queries, registry entries or by running a script. Currently it is not possible to use SNMP OID queries.

In oder to discover details of SNMP capable network devices, I combined the ProbeAction System.SnmpProbe with a discovery data mapper. The resulting Custom.SnmpQuery.FilteredOIDDiscoveryProvider uses the output of SNMP OID queries in discoveries. To make reusing the provider easier, I put it into a sealed management pack.

Download Custom SNMP Extensions MP Guide (includes an example)

Download Custom SNMP Extensions MP (sealed) (rename after downloading – it is a zip file)

Important notes
  • This library will only work with OpsMgr SP1 or later.
  • Public key token: e5c80663d573f08c
<Reference Alias="CustomSNMP">
<ID>Custom.SNMP.Library</ID>
<Version>1.0.0.1</Version>
<PublicKeyToken>e5c80663d573f08c</PublicKeyToken>
</Reference>
  • Make sure you have your custom objects hosted by a Microsoft.SystemCenter.NetworkDevice class object. You will then be able to resuse its properties (IP address, SNMP community).
  • You must allow the management server or gateway you use as SNMP proxy, to act as discovery proxy. 
  • It is not possible to use the authoring templates of OpsMgr’s console to add rules or monitors to your discovered classes. Target them at ‘SNMP Network Device’ instead, export the mp and copy the bits to your own xml management pack. Do not forget to alter the target references (add /Host/ references where required).

 In the next weeks I am going to publish an entire management pack making use of the SNMP Extensions Library. The above picture shows HP ProLiant hardware objects hosted by a SNMP network device (a VMware ESX 3.5 server).

Update (May 29)

Scott has published a detailed walkthrough on how the provider can be used.  His post comes with an example management pack for an Ecosaire AC unit.

My own example (HP ProLiant) is here: HP ProLiant SNMP only MP