SNMP-Based Connectors Stopped Working

How to diagnose SNMP issues when SNMP-based connectors stop working.

Related Topics

Downloads

Introduction

If your SNMP-based connectors suddenly stop working, you can use the diagnosis tool installed with Hardware Sentry to troubleshoot the issue. Depending on your version of Hardware Sentry, you will either leverage the MS_HW_WBEMCLI.jar or MS_HW_matsya-module-wbemclient.jar tool which can be found in:

  • %PATROL_HOME%\bin (Windows)
  • $PATROL_HOME/../bin (Linux/Unix)

The diagnosis tool being Java-based, it requires Java to be installed. A package with a suitable Java Runtime Environment is available to download on Sentry’s Website.

To launch the tool, you will have to run the java -jar <jar file name> command:

  java -jar MS_HW_matsya-module-snmpclient.jar -v1|-v2 [-host:<hostname>] [-community:<community>] [-retryIntervals:<retryIntervals>] <action>
  java -jar MS_HW_matsya-module-snmpclient.jar -v3 [-host:<hostname>] [-authType:<none|MD5|SHA> -username:<username> -password:<password>] [-privType:<none|DES|AES> -privpassword:<privpassword>] [-contextName:<contextName>] [-retryIntervals:<retryIntervals>] <action>
      Where <action> can be:
      -get:<OID>
      -getNext:<OID>
      -walk:<OID>
  and  <retryIntervals>  is a comma-separated list of retry intervals in milliseconds. Default is: 500,1000,2000,5000,5000.

Other 3rd-party tools, such as snmpwalk or snmpgetnext (part of Net-SNMP), can also be used. These utilities are installed on most Linux distributions and can be downloaded here for Windows servers.

Example

Let’s assume that the HP Insight Management Agent - Server connector has stopped working and that the following error message appears in the Test Report parameter of the connector:

SNMP TEST on fermat-cmdb: FAILED
---------------------
SNMP GetNext of 1.3.6.1.4.1.232.16.2.7.1.1 on fermat-cmdb failed: Timed out

A PATROL_EV event should also be generated and the msg slot should contain the following information:

PATROL_EV event triggered when the SNMP connector fails

In this example:

  • fermat-cmdb is the HP ProLiant server monitored
  • public is the community string used in the KM configuration
  • 1.3.6.1.4.1.232.1.2.2.1.1 is the OID used by the connector and the one found in the error message.
  • Java is installed in %PATROL_HOME%\jre64\bin (Windows) or $PATROL_HOME/../jre64/bin (Linux/Unix).

To troubleshoot the issue:

  1. We run the following command against the monitored server:
  • When using MS_HW_WBEMCLI.jar or MS_HW_matsya-module-wbemclient.jar:

    • On Windows:

        java -jar %PATROL_HOME%\bin\MS_HW_matsya-module-snmpclient.jar -v2 -host:fermat-cmdb -community:public -getNext:1.3.6.1.4.1.232.16.2.7.1.1
      
        Result:
        Exception: Timed out
      
    • For Linux/UNIX:

        java -jar $PATROL_HOME/../bin/MS_HW_matsya-module-snmpclient.jar -v2 -host:fermat-cmdb -community:public -getNext:1.3.6.1.4.1.232.16.2.7.1.1
      
        Result:
        Exception: Timed out
      
  • When using snmpgetnext (3rd-party tool, part of Net-SNMP):

      snmpgetnext -v2c -c public fermat-cmdb 1.3.6.1.4.1.232.16.2.7.1.1
    
      Result:
      Timeout: No Response from fermat-cmdb.
    
  1. We verify that the HP Insight Server Agents service is up and running:

    Verifying the HP Insight Management Agent service is up and running

  2. Since the service is up and running, we check the SNMP Service Properties and more specifically the Security properties:

    Verifying the Security properties of the SNMP Service

  3. The SNMP service on fermat-cmdb only accepts SNMP requests from the local host. We therefore have to add in the list of allowed hosts the host on which the PATROL Agent/Hardware KM is installed and from which we are monitoring fermat-cmdb. We can also simply select Accept SNMP packets from any host:

    SNMP Service - Accepted Hosts

  4. Finally, we run the command again to verify that the modification solves the issue:

     java -jar %PATROL_HOME%\bin\MS_HW_matsya-module-snmpclient.jar -v2 -host:fermat-cmdb -community:public -getNext:1.3.6.1.4.1.232.1.2.2.1.1```
    
     1.3.6.1.4.1.232.1.2.2.1.1.1.0   ASN_INTEGER     0```
    

The command is now successfully executed and returns the expected information.