posts - 156,  comments - 601,  trackbacks - 0

          上次基于組件化的監(jiān)控平臺開發(fā)一個Tomcat監(jiān)控插件和郵件報警插件
          收到有很多朋友的支持,在些表示非常感謝。這次發(fā)布的將包含一個AMQ的監(jiān)控組件。

          下載地址
          二進制程序
          第三方類庫下載,第三方類庫下載2 放到lib目錄下。
          api-docs
          源代碼


          先來介紹ActiveMQ服務監(jiān)控組件的實現(xiàn),該監(jiān)控組件目前實現(xiàn)了以下方面信息的監(jiān)控:
          1. Jvm堆內存和非堆內存的監(jiān)控(可以設置使用的百分比或是具體使用的內存大小)
          2. 當前操作文件打開的IO文件個數(shù)監(jiān)控。 一般操作默認設置的最大值是1024,如果超過這個服務會導致JVM所有服務的停止。
          3. Queue隊列的消息者監(jiān)控。如果某一個隊列在設定時間段時都沒有消息者監(jiān)聽可以監(jiān)控該狀態(tài)信息
          4. 監(jiān)控所有非法IP連接.如果有未設定的非法IP連接可以組件監(jiān)控其非法IP地址,但進行報警

          因為該組件利用JMX技術對ActiveMQ進行監(jiān)控,AcitveMQ默認狀態(tài)下其JMX服務是打開著的,端口為1099.如果沒有打開,可以修改其配置文件 conf/activemq.xml
          activemq 4.x

           <broker brokerName="localhost" useJmx="true" xmlns="http://activemq.org/config/1.0">


          下面我們來看一下該監(jiān)控組件的實現(xiàn)類圖


          下面我們來操作一下如何使用Spring注冊該組件(spy2servers.xml),使用其監(jiān)控平臺工作起來。

           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>


          好了,基本的配置最是這些,應用程序和源代碼已經(jīng)上傳大家可以自寫閱覽。大家如有任何問題請回復給我。

          Good luck!
          Yours Matthew!



          posted on 2008-03-31 08:08 x.matthew 閱讀(4134) 評論(6)  編輯  收藏 所屬分類: Spy2Servers
          主站蜘蛛池模板: 承德市| 白水县| 商都县| 普宁市| 安福县| 夏河县| 师宗县| 鄂托克前旗| 洱源县| 黄大仙区| 如东县| 赣州市| 土默特左旗| 铜山县| 榆社县| 大兴区| 南宫市| 疏勒县| 民和| 昌宁县| 广元市| 枞阳县| 漳平市| 张掖市| 九龙坡区| 新建县| 墨江| 镇平县| 丰镇市| 确山县| 九龙城区| 清新县| 女性| 涡阳县| 叙永县| 司法| 石林| 隆林| 云林县| 新平| 共和县|