Koshna SNMP JMX Toolkit Includes JMX(TM) Technology
Creating the JMX to SNMP map file.
You can use the JmxSnmpMap.dtd to create the XML map file
that will provide the SNMP protocol mapping information for your JMX MBeans
& Notifications.
First of all note that all data that needs to be accessible through SNMP needs to have a SMI
type and a OID(dot seperated string of numbers that will uniquely identify
it).
To create the SNMP mapping for your JMX MBeans:
- Decide on a tree like heirarchy for all your MBean classes
that need to be accessible through SNMP.
- For each MBean class, decide if it is going to be mapped to a MIB
TableRow or a MIB Group.
Hint : If there is going to be only one instance of the MBean it can be mapped to a MIB Group, if there is
going to more than one instance of the MBean it can be mapped to a MIB
TableRow in which case you can decide on which attributes are going to be the
primary key.
- Assign a OID (dot seperated string of numbers) to represent the top MBean class.
(Consult your SNMP experts, the IETF actually assigns the OIDs for each
organization)
- Assign sub identifiers to each of the MBean attributes that needs to be
accessible through SNMP.
- Similarly assign sub-identifiers to the rest of the MBeans & their attributes
making sure that the sub identifiers are unique & follow a tree like
representation.
- Provide the SNMP type
information of all the mapped MBean attributes
.
The base types of the SnmpObjects
defined in the com.eznm.snmp.core.smi package can give a pointer to which java
types are compatible to which SMI types.
If your MBean attribute type is of primitive java type but it is not compatible with
the base type of the SnmpObjectccorresponding to the SMI type you wish to map,
check with the com.eznm.snmp.util.DataConverter utility if it provides a
suitable conversion
If the com.eznm.snmp.util.DataConverter utility doesn't provide a proper conversion
or if the data type of your MBean attribute is not a primitive java type
provide a class that implements com.eznm.snmp.util.DataConverterDelegate that
can do the conversion that way you need and associate it with the
com.eznm.snmp.util.DataConverter utility.
- If a MBean is mapped to a MIB TableRow indicate which attributes will be
the row's primary key (index attributes).
- Fill the optional information like descriptions as desired.
- Once the Map file is ready use the Map2Mib utility to generate the MIB.
To create the SNMP mapping for your JMX Notifications:
Your JMX notification can be mapped to a V2 Trap( same
mapping can be used to V2 Inform) or a V1 Trap.
To map your JMX Notification to a V1Trap:
- Map it to one of the standard V1 traps types like
coldstart, warmstart etc.. Otherwise set the type to enterprise specific ,
assign the specific type number and assign a OID to identify this trap type
(Enterprise OID).
- Provide the OIDs & SMI type information for each
of the JMX Notification attribute that needs to be accessible through SNMP.
The SMI type mapping is similar to that of MBean
attributes.
To map your JMX Notification to a V2Trap:
You have 2 options while providing the OID mapping
information of the JMX Notification attributes:
- Map your Notification attributes to some MBean
attribute that already has the SNMP mapping defined.( If notification data is
tabular you don't have any other choice but, to define a MBean to represent
the data & map it to a MIB TableRow and use that mapping) .
- Define the SNMP mapping for your Notifications
independently.(In this case the OIDs will all be static meaning the OID can't
be determined by the data of the attributes.)
|