上次基于
組件化的監控平臺開發一個
Tomcat監控插件和郵件報警插件。
收到有很多朋友的支持,在些表示非常感謝。這次發布的將包含一個AMQ的監控組件。
下載地址
二進制程序
第三方類庫下載,
第三方類庫下載2 放到lib目錄下。
api-docs
源代碼
先來介紹ActiveMQ服務監控組件的實現,該監控組件目前實現了以下方面信息的監控:
1. Jvm堆內存和非堆內存的監控(可以設置使用的百分比或是具體使用的內存大小)
2. 當前操作文件打開的IO文件個數監控。 一般操作默認設置的最大值是1024,如果超過這個服務會導致JVM所有服務的停止。
3. Queue隊列的消息者監控。如果某一個隊列在設定時間段時都沒有消息者監聽可以監控該狀態信息
4. 監控所有非法IP連接.如果有未設定的非法IP連接可以組件監控其非法IP地址,但進行報警
因為該組件利用JMX技術對ActiveMQ進行監控,AcitveMQ默認狀態下其JMX服務是打開著的,端口為1099.如果沒有打開,可以修改其配置文件 conf/activemq.xml
activemq 4.x
<broker brokerName="localhost"
useJmx="true" xmlns="http://activemq.org/config/1.0">
下面我們來看一下該監控組件的實現類圖
下面我們來操作一下如何使用Spring注冊該組件(spy2servers.xml),使用其監控平臺工作起來。
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>
好了,基本的配置最是這些,應用程序和源代碼已經上傳大家可以自寫閱覽。大家如有任何問題請回復給我。
Good luck!
Yours Matthew!
posted on 2008-03-31 08:08
x.matthew 閱讀(4129)
評論(6) 編輯 收藏 所屬分類:
Spy2Servers