使用openNMS监控JBoss系统状态
openNMS一共有两种JMX agent,一种是 jmx(或叫做jboss4)plugin,另一种是JSR160 Plugin。
尽管openNMS提供了监控jboss的Jboss* Plugin, 但是只限与jboss3.2或者jboss4.x, 所以本文主要描述如何通过JSR160 Plugin来收集jboss返回的状态参数,从而达到监控jboss的目的。
一,配置capsd
打开 $OPENNMS_HOME/etc/capsd-configuration.xml, 添加如下代码:
<protocol-plugin protocol="JBoss" class-name="org.opennms.netmgt.capsd.plugins.Jsr160Plugin" scan="on" user-defined="false"> <property key="port" value="1090"/> <property key="type" value="default"/> <property key="protocol" value="rmi"/> <property key="urlPath" value="/jmxconnector"/> <property key="retry" value="2"/> <property key="timeout" value="2000"/></protocol-plugin>
<service name="JBoss" interval="300000" user-defined="false" status="on"><parameter key="port" value="1090"/><parameter key="retry" value="2"/><parameter key="timeout" value="3000"/><parameter key="rrd-repository" value="C:/PROGRA~2/OpenNMS/share/rrd/response"/><parameter key="ds-name" value="jmx"/><parameter key="friendly-name" value="jboss"/></service>
<monitor service="JBoss" class-name="org.opennms.netmgt.poller.monitors.Jsr160Monitor" />
<package name="jboss"> <filter>IPADDR IPLIKE *.*.*.*</filter> <include-range begin="1.1.1.1" end="254.254.254.254"/> <service name="JBoss" interval="300000" user-defined="false" status="on"> <parameter key="port" value="1090"/> <parameter key="retry" value="2"/> <parameter key="timeout" value="3000"/> <!-- <property key="username" value="<username>"/> <property key="password" value="<password>"/> --> <parameter key="protocol" value="rmi"/> <parameter key="urlPath" value="/jmxconnector"/> <parameter key="ds-name" value="jmx"/> <parameter key="friendly-name" value="jboss"/> <!-- This must match the collection name in the jmx-datacollection.xml that defines the set of mbeans you want --> <parameter key="collection" value="jboss"/> </service> </package><collector service="JBoss" class-name="org.opennms.netmgt.collectd.Jsr160Collector"/>
<jmx-collection name="jboss"> <rrd step = "300"> <rra>RRA:AVERAGE:0.5:1:8928</rra> <rra>RRA:AVERAGE:0.5:12:8784</rra> <rra>RRA:MIN:0.5:12:8784</rra> <rra>RRA:MAX:0.5:12:8784</rra> </rrd> <mbean name="DefaultDSManagedConnectionPool" objectname="jboss.jca:service=ManagedConnectionPool,name=DefaultDS"> <attrib name="AvailableConnectionCount" alias="DefDS_AvailConns" type="gauge"/> <attrib name="ConnectionCount" alias="DefDS_Conns" type="gauge"/> <attrib name="InUseConnectionCount" alias="DefDS_InUseConns" type="gauge"/> <attrib name="ConnectionCreatedCount" alias="DefDS_CreatedConns" type="counter"/> <attrib name="ConnectionDestroyedCount" alias="DefDS_DestroyConns" type="counter"/> </mbean> </jmx-collection>