|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.log4j.ext.NetSnmpCommandLineTrapSender
Title: NetSnmpCommandLineTrapSender
Description: This class makes use of the NetSNMP snmptrap utility to
send traps that implement the underlying SNMP protocol(s).
NOTE: this class is intended primarily as a "proof-of-concept", and to serve
as an example of a possible usage of a command line trap sending utility with
the appender. This class is not intended for production-grade environments!
You can get a copy of NetSNMP here.
You will need a copy of the library (e.g. "snmptrap.exe" and "libsnmp.dll" on Win32
platforms, at a minimum) to use this class.
This sender launches a separate process, calling the NetSnmp utility "snmptrap" to
send a trap. Because this sender's job is to start an operating system process,
it needs to know things that are not readily available to it via the normal avenues
open to a Log4J Appender. In particular, it needs to know the location of
the NetSnmp binaries (the file system path), and the path to the MIB files used
by NetSnmp. You communicate this information to the sender using Java System
Properties.
The path to the NetSnmp binaries is set via the property
"log4j.ext.snmpTrapAppender.netSnmp.binPath". If not set, the sender defaults to a value
of "/usr/local/bin/".
The path to the NetSnmp MIBs is set via the property
"log4j.ext.snmpTrapAppender.netSnmp.mibsPath". If not set, the sender defaults to a value
of "/usr/local/share/mibs".
You can also get the sender to emit some diagnostic/debugging information by setting the
value of the "log4j.ext.snmpTrapAppender.netSnmp.diagnostic" property to "true".
Thus, as an example, the following options to the "java" command line set the binary path,
the MIB path and the diagnostic flag for this sender:
-Dlog4j.ext.snmpTrapAppender.netSnmp.binPath="D:\\apps\\ucd-snmp-4.2.3-win32\\usr\\bin\\"
-Dlog4j.ext.snmpTrapAppender.netSnmp.mibsPath="D:\\apps\\ucd-snmp-4.2.3-win32\\usr\\mibs"
-Dlog4j.ext.snmpTrapAppender.netSnmp.diagnostic="true"
Constructor Summary | |
NetSnmpCommandLineTrapSender()
|
Method Summary | |
void |
addTrapMessageVariable(java.lang.String applicationTrapOIDValue,
java.lang.String value)
Adds a new Varbind to the SNMP PDU. |
void |
initialize(SNMPTrapAppender appender)
This method is called to set the values of all of the class fields used as parameters to the underlying SNMP API. |
void |
sendTrap()
Sends the PDU defined by the variables of the fields of this class. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public NetSnmpCommandLineTrapSender()
Method Detail |
public void initialize(SNMPTrapAppender appender)
SnmpTrapSenderFacade
initialize
in interface SnmpTrapSenderFacade
appender
- - An instance of the SNMPTrapAppender class. All of the
values needed to configure the trap sender will be extracted from the
Appender, via its getter methods.public void addTrapMessageVariable(java.lang.String applicationTrapOIDValue, java.lang.String value)
SnmpTrapSenderFacade
addTrapMessageVariable
in interface SnmpTrapSenderFacade
applicationTrapOIDValue
- - formatted as an OID
E.g. "1.3.6.1.2.1.1.2.0.0.0.0" -- this OID would point to the standard
sysObjectID of the "systemName" node of the standard "system" MIB.
value
- - the text to append to the Varbind that will be added to
the SNMP PDU.public void sendTrap()
SnmpTrapSenderFacade
sendTrap
in interface SnmpTrapSenderFacade
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |