You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

SNMP Component

Available as of Camel 2.1

The snmp: component gives you the ability to poll SNMP capable devices or receiving traps.

URI format

snmp://hostname[:port][?Options]

The component supports polling OID values from an SNMP enabled device and receiving traps.

You can append query options to the URI in the following format, ?option=value&option=value&...

Options

Name

Description

type

The type of action you want to perform. Actually you can enter here poll or trap. The value poll will instruct the endpoint to poll a given host for the supplied OID keys. If you put in trap you will setup a listener for SNMP Trap Events.

address

This is the IP address and the port of the host to poll or where to setup the Trap Receiver. Example: 127.0.0.1:162

protocol

Here you can select which protocol to use. By default it will be udp protocol but you may want to use tcp as well

retries

Defines how often a retry is made before canceling the request. (Default: 2)

timeout

Sets the timeout value for the request in millis. (Default: 1500)

snmpVersion

Sets the snmp version for the request. (Default: 0 which means SNMPv1)

snmpCommunity

Sets the community octet string for the snmp request. (Default: public)

delay

Defines the delay in seconds between to poll cycles. (Default: 60)

oids

Defines which values you are interested in. Please have a look at the Wikipedia to get a better understanding. You may provide a single OID or a coma separated list of OIDs. Example: oids="1.3.6.1.2.1.1.3.0,1.3.6.1.2.1.25.3.2.1.5.1,1.3.6.1.2.1.25.3.5.1.1.1,1.3.6.1.2.1.43.5.1.1.11.1"

The result of a poll

Given the situation, that I poll for the following OIDs:

oids
1.3.6.1.2.1.1.3.0
1.3.6.1.2.1.25.3.2.1.5.1
1.3.6.1.2.1.25.3.5.1.1.1
1.3.6.1.2.1.43.5.1.1.11.1

The result will be the following:

Result of toString conversion
<?xml version="1.0" encoding="UTF-8"?>
<snmp>
  <entry>
    <oid>1.3.6.1.2.1.1.3.0</oid>
    <value>6 days, 21:14:28.00</value>
  </entry>
  <entry>
    <oid>1.3.6.1.2.1.25.3.2.1.5.1</oid>
    <value>2</value>
  </entry>
  <entry>
    <oid>1.3.6.1.2.1.25.3.5.1.1.1</oid>
    <value>3</value>
  </entry>
  <entry>
    <oid>1.3.6.1.2.1.43.5.1.1.11.1</oid>
    <value>6</value>
  </entry>
  <entry>
    <oid>1.3.6.1.2.1.1.1.0</oid>
    <value>My Very Special Printer Of Brand Unknown</value>
  </entry>
</snmp>

As you maybe recognized there is one more result than requested....1.3.6.1.2.1.1.1.0.
This one is filled in by the device automatically in this special case. So it may absolutely happen, that you receive more than you requested...be prepared.

Examples

Polling a remote device:

snmp:192.168.178.23:161?protocol=udp&type=poll&oids=1.3.6.1.2.1.1.5.0

Setting up a trap receiver (Note that no OID info is needed here!):

snmp:127.0.0.1:162?protocol=udp&type=trap

Routing example in Java: (converts the SNMP PDU to XML String)

from("snmp:192.168.178.23:161?protocol=udp&type=poll&oids=1.3.6.1.2.1.1.5.0").
convertBodyTo(String.class).
to("activemq:snmp.states");

See Also

  • No labels