Currently Being Moderated

JBossSNMPAdapterGetValues

VERSION 10

Created on: Apr 23, 2006 3:44 AM by Heiko Rupp - Last Modified:  May 30, 2006 2:30 PM by Dimitris Andreadis

Mapping-configuration, attributes.xml

 

This file defines the mapping from SNMP-oids to MBeans and their attributes.

(Note: xml driven get/set mapping functionality is available since jboss v4.0.4.GA.)

 

The toplevel element attribute-mapping contains a list of mbeans.

Each mbean element has to have a name attribute that specifies the

JMX object name of the mbean to monitor. It can also have an oid-prefix element

that will be prepended to the oids of the attributes. The mbean element contains a list

of attribute tags that each have to have a name attribute for the

MBean-attribute-name and an oid attribute that defines the oid under which

this attribute can be queried.

 

Setup in general configuration

 

In order to work, the mapping file must be included in the SnmpAgentService-MBean in an attribute called RequestHandlerResName as the following snippet shows

 


  <!-- The SNMP adaptor MBean -->
  <mbean code="org.jboss.jmx.adaptor.snmp.agent.SnmpAgentService"
         name="jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor">
    
    <attribute name="RequestHandlerClassName">org.jboss.jmx.adaptor.snmp.agent.RequestHandlerImpl</attribute>       
    <attribute name="RequestHandlerResName">/attributes.xml</attribute>

 

Example

 

This is an excerpt from the sample file from the snmp-adaptor:

 


<attribute-mappings>
     <!-- system basic information -->
     <mbean name="jboss.system:type=ServerInfo" oid-prefix=".1.2.3.4.1">
          <attribute name="ActiveThreadCount" oid=".1"></attribute>
          <attribute name="FreeMemory" oid=".2"></attribute>
          <attribute name="MaxMemory" oid=".3"></attribute>
     </mbean>
     <mbean name="jboss.system:service=ThreadPool">
          <attribute name="QueueSize" oid=".1.2.3.4.1.4"></attribute>
     </mbean>
     <!-- tomcat global http request processing -->
     <mbean name="jboss.web:name=http-0.0.0.0-8080,type=GlobalRequestProcessor">
          <attribute name="requestCount" oid=".1.2.3.4.1.5"></attribute>
     </mbean>
     <!-- Tx Manager statistics -->
     <mbean name="jboss:service=TransactionManager">
          <attribute name="CommitCount" oid=".1.2.3.4.1.6"></attribute>
          <attribute name="RollbackCount" oid=".1.2.3.4.1.7"></attribute>
          <attribute name="TransactionCount" oid=".1.2.3.4.1.8"></attribute>
     </mbean>
     <!-- DefaultDS statistics -->
     <mbean name="jboss.jca:name=DefaultDS,service=ManagedConnectionPool" 
          oid-prefix=".1.2.3.4.1">
          <attribute name="InUseConnectionCount" oid=".9"></attribute>
     </mbean>
</attribute-mappings>

 

Note that the provided values will change in the future.

 

The adaptor now also has support for the MIB-2 system group (RFC1213)

 

Reload a changed config

 

The SnmpAdaptor-MBean now has a reconfigureRequestHandler Method which forces the adaptor to reread the attributes.xml file without the need to completely restart the adaptor.

 

Example SNMP-MIB for the above example file

 

This is an extremely simple MIB file that you can load into your management station to

query the respective values.

 

Note that this MIB will change in the future.

 


JBOSS-MIB DEFINITIONS ::=BEGIN

-- Tree roots
org     OBJECT IDENTIFIER ::= { iso 2 } -- "iso" = 1
jboss     OBJECT IDENTIFIER ::= { org 3 }
as     OBJECT IDENTIFIER ::= { jboss 4 }
system     OBJECT IDENTIFIER ::= { as 1 }  -- .1.2.3.4.1
mgmt      OBJECT IDENTIFIER ::= { as 5 }
snmp     OBJECT IDENTIFIER ::= { mgmt 6 }
agent      OBJECT IDENTIFIER ::= { snmp 7 }

-- system parameters
activeThreadCount OBJECT-TYPE
     ACCESS read-only 
     DESCRIPTION
          "The number of active Threads in the system"
     ::= { system 1 } -- .1.2.3.4.1.1
freeMemory OBJECT IDENTIFIER ::= {system 2} -- .1.2.3.4.1.2
maxMemory OBJECT IDENTIFIER ::= {system 3} -- .1.2.3.4.1.3
threadPoolQueueSize OBJECT-TYPE
     ACCESS read-only
     DESCRIPTION
          "The size of the thread pool queue"
     ::= {system 4 }
requestCount8080 OBJECT IDENTIFIER ::= {system 5}
txCommitCount OBJECT IDENTIFIER ::= {system 6 }
txRollbackCount OBJECT IDENTIFIER ::= {system 7 }
txActiveCount OBJECT IDENTIFIER ::= {system 8 }
dbInUseCount OBJECT-TYPE
     ACCES read-only
     DESCRIPTION
          "The number of db connections currently in use"
     ::= { system 9 }

 

 

snmp-set

 

The adaptor now also supports snmp-set. In order for an entry to be settable, it not only needs to be marked read-write in the MIB, but also have an attribute mode in the attributes.xml file with a value of rw as in the following example:

 


   <mbean name="jboss.jmx:name=SnmpAgent,service=snmp,type=systemInfo" 
      oid-prefix=".1.3.6.1.2.1.1">
      <attribute name="SysDescr" oid=".1" mode="rw"></attribute> <!-- can be modified over snmp -->

 

Note that for this to work, you have to define a write-community in jboss-service.xml for the

main adaptor mbean and also have to set it in your agent. If you fail to do so, the set-request will silently time out (this comes from the underlying library).

 

Related

 

JBossOIDs

 

 

Referenced by:

 

 

 

Average User Rating
(0 ratings)




There are no comments on this article

More Like This

  • Retrieving data ...

Incoming Links