Hi, I'm evaluating Camel for aggregating and processing events - and
it looks like the EIP facilities and components that Camel provide
would make my task relatively easy, and I'm really excited about the
possibilities Camel offers. Thanks for creating it!
I'm starting to create some simple use cases with Camel and SNMP
traps, and I'm running into some issues (this might just be because I
don't understand properly what's going on). My current problem is that
when I create a route for SNMP traps and send SNMP v1 traps to it,
Camel seems to lose information from the trap such as the originating
IP address of the trap.
Here's what I'm doing: I first generate my camel project with the maven command:
mvn archetype:generate -DarchetypeGroupId=org.apache.camel.archetypes
-DarchetypeArtifactId=camel-archetype-spring -DarchetypeVersion=2.9.2
-DgroupId=camel-snmp-test -DartifactId=camel-snmp-test
And modify the camel-context.xml file to contain the route:
<camel:route>
<camel:from uri="snmp://0.0.0.0:1162?type=TRAP"/>
<camel:to uri="log://foo?showAll=true"/>
</camel:route>
then run the project with:
mvn camel:run
I then generate a trap with the net-snmp command snmptrap and the syntax:
snmptrap -v 1 -c public 127.0.0.1:1162
SNMPv2-MIB::authenticationFailure 1.2.3.4 0 coldStart.0 10
This gives me a log message of:
[PTransportMapping_0.0.0.0/1162] foo INFO
Exchange[Id:ID-addict-33083-1335950429878-0-18,
ExchangePattern:InOnly,
Properties:{CamelToEndpoint=log://foo?showAll=true,
CamelCreatedTimestamp=Wed May 02 10:28:25 WEST 2012},
Headers:{breadcrumbId=ID-addict--33083-1335950429878-0-17},
BodyType:String, Body:<snmp></snmp>, Out: null]
I'd expect to see the enterprise-oid
(SNMPv2-MIB::authenticationFailure), agent (1.2.3.4), trap-type (0),
specific-type (coldStart.0), and uptime (10 seconds), it would be nice
to see the IP that the PDU came from as well because not all traps
include a useful agent address.
Interestingly, with SNMP v2 traps I get some of this information in
the body (although no sender IP address):
snmptrap -v 2c -c public localhost:1162 ''
SNMPv2-MIB::authenticationFailure SNMPv2-MIB::sysLocation.0 s "just
here"
[PTransportMapping_0.0.0.0/1162] foo INFO
Exchange[Id:ID-addict-33083-1335950429878-0-20,
ExchangePattern:InOnly,
Properties:{CamelToEndpoint=log://foo?showAll=true,
CamelCreatedTimestamp=Wed May 02 11:33:49 WEST 2012},
Headers:{breadcrumbId=ID-addict-33083-1335950429878-0-19},
BodyType:String,
Body:<snmp><entry><oid>1.3.6.1.2.1.1.3.0</oid><value>11 days,
23:15:58.58</value></entry><entry><oid>1.3.6.1.6.3.1.1.4.1.0</oid><value>1.3.6.1.6.3.1.1.5.5</value></entry><entry><oid>1.3.6.1.2.1.1.6.0</oid><value>just
here</value></entry></snmp>, Out: null]
so do I need to do something more to get the SNMPv1 information and
sender IP address, or does the SNMP component not encode this
information into the message? Do other components include information
about the remote host, or is this usually excluded?
Regards
--
Jonathan Barber <[email protected]>