上次基于
組件化的監(jiān)控平臺(tái)開發(fā)一個(gè)
Tomcat監(jiān)控插件和郵件報(bào)警插件。
收到有很多朋友的支持,在些表示非常感謝。這次發(fā)布的將包含一個(gè)AMQ的監(jiān)控組件。
下載地址
二進(jìn)制程序
第三方類庫下載,
第三方類庫下載2 放到lib目錄下。
api-docs
源代碼
先來介紹ActiveMQ服務(wù)監(jiān)控組件的實(shí)現(xiàn),該監(jiān)控組件目前實(shí)現(xiàn)了以下方面信息的監(jiān)控:
1. Jvm堆內(nèi)存和非堆內(nèi)存的監(jiān)控(可以設(shè)置使用的百分比或是具體使用的內(nèi)存大小)
2. 當(dāng)前操作文件打開的IO文件個(gè)數(shù)監(jiān)控。 一般操作默認(rèn)設(shè)置的最大值是1024,如果超過這個(gè)服務(wù)會(huì)導(dǎo)致JVM所有服務(wù)的停止。
3. Queue隊(duì)列的消息者監(jiān)控。如果某一個(gè)隊(duì)列在設(shè)定時(shí)間段時(shí)都沒有消息者監(jiān)聽可以監(jiān)控該狀態(tài)信息
4. 監(jiān)控所有非法IP連接.如果有未設(shè)定的非法IP連接可以組件監(jiān)控其非法IP地址,但進(jìn)行報(bào)警
因?yàn)樵摻M件利用JMX技術(shù)對(duì)ActiveMQ進(jìn)行監(jiān)控,AcitveMQ默認(rèn)狀態(tài)下其JMX服務(wù)是打開著的,端口為1099.如果沒有打開,可以修改其配置文件 conf/activemq.xml
activemq 4.x
<broker brokerName="localhost"
useJmx="true" xmlns="http://activemq.org/config/1.0">
下面我們來看一下該監(jiān)控組件的實(shí)現(xiàn)類圖
下面我們來操作一下如何使用Spring注冊(cè)該組件(spy2servers.xml),使用其監(jiān)控平臺(tái)工作起來。
1 <bean class="org.xmatthew.spy2servers.component.spy.jmx.ActiveMQJmxSpyComponent">
2 <property name="host" value="x.x.x.x"></property>
3 <property name="port" value="1099"></property>
4
5 <property name="heapMemorySpy">
6 <bean class="org.xmatthew.spy2servers.component.spy.jmx.MemorySpy">
7 <property name="memoryUsedPercentToAlert" value="5"></property>
8 <property name="alertAfterKeepTimeLive" value="10"></property>
9 </bean>
10 </property>
11 <property name="fileSpy">
12 <bean class="org.xmatthew.spy2servers.component.spy.jmx.FileSpy">
13 <property name="filesOpenedPercentToAlert" value="8"></property>
14 <property name="alertAfterKeepTimeLive" value="2"></property>
15 </bean>
16 </property>
17 <property name="destinationNamesToWatch">
18 <set>
19 <!-- if blank will inspect all queue names -->
20 <value>Test.Queue</value>
21 </set>
22 </property>
23 <!-- if queue's consumers suspend for this time will alert -->
24 <property name="queueSuspendNotifyTime" value="2000"></property>
25 <!-- any allow ip. if ip not in this list will component will alert -->
26 <property name="llegalIps">
27 <set>
28 <value>127.0.0.1</value>
29 </set>
30 </property>
31 </bean>
好了,基本的配置最是這些,應(yīng)用程序和源代碼已經(jīng)上傳大家可以自寫閱覽。大家如有任何問題請(qǐng)回復(fù)給我。
Good luck!
Yours Matthew!
posted on 2008-03-31 08:08
x.matthew 閱讀(4140)
評(píng)論(6) 編輯 收藏 所屬分類:
Spy2Servers