
META-INF.jboss-service.xml Maven / Gradle / Ivy
The newest version!
<?xml version="1.0" encoding="UTF-8"?> <!-- $Id: jboss-service.xml 88391 2009-05-08 03:48:50Z [email protected] $ The snmp-adaptor is a module used to intercept JMX notifications emitted by MBeans, convert them to traps and send them to SNMP managers. It can also accept get/set request and map those to MBean attribute get/sets. In this respect the snmp-adaptor acts as a SNMP agent. It can be used to integrate JBoss with higher order system/network management platforms (e.g. HP OpenView), thus making the MBeans visible to those systems. The MBean developer can instrument the MBeans by producing notifications for any significant event (e.g. server coldstart). The adaptor can then be configured to intercept and map those notifications to SNMP traps. SnmpAgentService is the main MBean that implements the SNMP agent. It is configured by means of 3 different configuration files, plus an inline notification subscription specification: - attributes.xml, maps SNMP oids to MBean attribute get/set - managers.xml, configures where to send traps - notifications.xml, specifies the exact mapping of each notification type to a corresponding SNMP trap For more information, see http://www.jboss.org/wiki/Wiki.jsp?page=JBossSNMPAdapter ******** * NOTE * ******** The MonitoredObjectsResName attribute that referred to an external mbeans.xml file has been removed! This is done now through the inline SubscriptionList attribute, provided by the ListenerServiceMBean interface. The snmp adaptor will not only subscribe for notifications upon starting, by will also monitor for new MBeans created within the JMX agent and subscribe to them dynamically as they come and go, as long as the the mbean subscription information matches their names. Have a look at the provided example configuration files for more info. SnmpAgentService produces by default a "coldstart" notification when started. In addition, by setting the HeartBeatPeriod attribute to a value greater than zero, the adaptor configures a Timer MBean to produce heartbeat notifications at regular intervals (measured in seconds). The adaptor itself uses JoeSNMP by OpenNMS for its SNMP engine. The trap generation mechanism can be changed or extended with custom classes able to extract information from notifications subsclasses unknown to the NotificationWrapperSupport class provided with the adaptor. For more information on using or extending this mechanism, please consult the jboss documentation or the source code. MIB2SystemGroupService is simple MBean that defines the MIB-2 system group an agent is supposed to implement under the oid iso.org.dod.internet.mgmt.mib-2.system (.1.3.6.1.2.1.1) See rfc-1213. TrapdService is a simple MBean that acts as an SNMP Manager. It listens to a configurable port for incoming traps and logs them as DEBUG messages using the system logger. You can modify the log4j configuration to redirect the log output to a file. SnmpAgentService and TrapdService and not dependent from each other. Enjoy! --> <service> <!-- A simple trap receiver that acts as an SNMP Manager --> <mbean code="org.jboss.jmx.adaptor.snmp.trapd.TrapdService" name="jboss.jmx:name=SnmpAgent,service=trapd,type=logger"> <attribute name="BindAddress"> <!-- Get the interface from the ServiceBindingManager --> <value-factory bean="ServiceBindingManager" method="getStringBinding" parameter="jboss.jmx:name=SnmpAgent,service=trapd,type=logger"/> </attribute> <attribute name="Port"> <!-- Get the port from the ServiceBindingManager --> <value-factory bean="ServiceBindingManager" method="getIntBinding" parameter="jboss.jmx:name=SnmpAgent,service=trapd,type=logger"/> </attribute> </mbean> <!-- 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> <attribute name="TrapFactoryClassName">org.jboss.jmx.adaptor.snmp.agent.TrapFactorySupport</attribute> <attribute name="NotificationMapResName">/notifications.xml</attribute> <attribute name="ManagersResName">/managers.xml</attribute> <attribute name="UsersResName">/users.xml</attribute> <attribute name="HeartBeatPeriod">0</attribute> <attribute name="BindAddress"> <!-- Get the interface from the ServiceBindingManager --> <value-factory bean="ServiceBindingManager" method="getStringBinding" parameter="jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor"/> </attribute> <attribute name="Port"> <!-- Get the port from the ServiceBindingManager --> <value-factory bean="ServiceBindingManager" method="getIntBinding" parameter="jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor"/> </attribute> <attribute name="DynamicSubscriptions">true</attribute> <attribute name="WriteCommunity">private</attribute> <attribute name="SubscriptionList"> <subscription-list> <!-- Monitor events from SNMP adaptor itself --> <mbean name="jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor"> <notification type="jboss.snmp.agent.coldstart"/> </mbean> <!-- Monitor timer for heartbeat events --> <mbean name="jboss.jmx:name=SnmpAgent,service=timer,type=heartbeat"> <notification type="jboss.snmp.agent.heartbeat"/> </mbean> <mbean name="jboss.cache:service=Cache,config=*"> <notification type="org.jboss.cache.ViewChanged"/> </mbean> <!--mbean name="jboss.system:service=ServiceController"> <notification type="org.jboss.system.ServiceMBean.start"/> <notification type="org.jboss.system.ServiceMBean.stop"/> </mbean--> <!--mbean name="*:*"/--> <!-- Valid JMX ObjectName patterns may be used as well, for example <mbean name="*:service=invoker,*"/> will subscribe to all matching mbeans for all notification types --> <!-- notification types can be used for simple prefix matching, e.g. <notification type="JMX.mbean"/> matches both JMX.mbean.registered and JMX.mbean.unregistered --> </subscription-list> </attribute> <depends optional-attribute-name="TimerName"> <mbean code="javax.management.timer.Timer" name="jboss.jmx:name=SnmpAgent,service=timer,type=heartbeat"/> </depends> </mbean> <!-- Defines the system information as specified in rfc-1213 iso.org.dod.internet.mgmt.mib-2.system.* --> <mbean code="org.jboss.jmx.adaptor.snmp.system.MIB2SystemGroupService" name="jboss.jmx:name=SnmpAgent,service=MIB2SystemGroup"> <attribute name="SysLocation">In The Matrix</attribute> <attribute name="SysDescr">JBoss AS 5</attribute> <attribute name="SysContact">Red Hat</attribute> <!-- EAP IS 1, EPP is 2, SOAP is 3, ... JBCP is 9, JBCP Sip Servlets is 9.1 --> <attribute name="Product">.1.1</attribute> <attribute name="Version">.1.6</attribute> <!-- attribute name="SysName"></attribute> set internally to serverConfig@hostAddress--> <depends optional-attribute-name="SnmpAgent"> jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor </depends> </mbean> <!-- Used for internal testing - ignore <mbean code="org.jboss.jmx.adaptor.snmp.test.NotificationProducerService" name="jboss.jmx:name=SnmpAgent,service=notification,type=producer"/> --> </service>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy