jfy3d(劍事)BLOG

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            37 隨筆 :: 0 文章 :: 363 評(píng)論 :: 0 Trackbacks
          功能包括對(duì)服務(wù)器的ping,http,socket 三種方式的檢查,如服務(wù)器出現(xiàn)異常可通過(guò)短信,email 等方式報(bào)警通知。

          這樣服務(wù)器異常就可以及時(shí)發(fā)現(xiàn)

          考慮到擴(kuò)展,配置方便使用了Spring

          參數(shù)配置都在applicationContext.xml中,詳細(xì)見(jiàn)下:



          <?xml?version="1.0"?encoding="GBK"?>
          <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"
          ????????"http://www.springframework.org/dtd/spring-beans.dtd"
          >
          <beans>

          ??????
          <!--警報(bào)接受人列表/////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <bean?id="alarm-phoneList-gateway"?class="com.monitor.obj.AlarmPhoneList">
          ????????
          <!--服務(wù)器負(fù)責(zé)人手機(jī)號(hào)碼組-->
          ????????
          <property?name="serviceid">
          ????????????
          <value>TEST0001</value>
          ????????
          </property>
          ????????
          <property?name="srctermid">
          ????????????
          <value>13500000000</value>
          ????????
          </property>
          ????????
          <property?name="desttermid">
          ????????????
          <list>
          ????????????????
          <value>13666666666</value>\\劉工
          ??????????????????<value>13655555555</value>\\王工
          ????????????
          </list>
          ????????
          </property>
          ????
          </bean>
          ????
          <bean?id="alarm-phoneList-web"?class="com.monitor.obj.AlarmPhoneList">
          ????????
          <!--網(wǎng)站負(fù)責(zé)人手機(jī)號(hào)碼組-->
          ????????
          <property?name="serviceid">
          ????????????
          <value>TEST0002</value>
          ????????
          </property>
          ????????
          <property?name="srctermid">
          ????????????
          <value>13500000000</value>
          ????????
          </property>
          ????????
          <property?name="desttermid">
          ????????????
          <list>
          ????????????????
          <value>13655555555</value>
          ????????????
          </list>
          ????????
          </property>
          ????
          </bean>
          ????
          <!--警報(bào)組件///////////////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <bean?id="alarm-sms"?class="com.monitor.services.SmsAlarm">
          ????????
          <!--短信方式通知-->
          ????????
          <property?name="alarmUrl">
          ????????????
          <value>http://www.test.com/alarm?fromphone=#srctermid#&amp;phone=#desttermid#&amp;serviceid=#serviceid#&amp;message=#msg#&amp;fromserver=alarm</value>
          ????????
          </property>
          ????????
          <property?name="alarmStr">
          ????????????
          <value>#server#出現(xiàn)異常</value>
          ????????
          </property>
          ????????
          <property?name="alarmphoneList">
          ????????????
          <ref?bean="alarm-phoneList-gateway"/><!--警報(bào)接受人列表-->
          ????????
          </property>
          ????
          </bean>
          ????
          <bean?id="alarm-mail"?class="com.monitor.services.MailAlarm">
          ????????
          <!--郵件方式通知-->
          ????????
          <property?name="alarmMailAddr">
          ????????????
          <list>
          ????????????????
          <value>js@567.com</value><!--警報(bào)接受人列表-->
          ????????????
          </list>
          ????????
          </property>
          ????????
          <property?name="alarmStr">
          ????????????
          <value>#server#出現(xiàn)異常</value>
          ????????
          </property>
          ????????
          <property?name="send">
          ????????????
          <ref?bean="sendmail"/>
          ????????
          </property>
          ????????
          <property?name="mailTitle">
          ????????????
          <value>服務(wù)器異常</value>
          ????????
          </property>
          ????
          </bean>
          ????
          <!--監(jiān)聽(tīng)類(lèi)型組件////////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <bean?id="httpModule"?class="com.monitor.services.HttpModule">
          ????????
          <property?name="interval">
          ????????????
          <value>300</value>??<!--檢測(cè)時(shí)間間隔,單位:秒-->
          ????????
          </property>
          ????????
          <property?name="alarm_on_errors">
          ????????????
          <value>3</value>??<!--異常連續(xù)次數(shù)達(dá)到這個(gè)數(shù)目開(kāi)始報(bào)警-->
          ????????
          </property>
          ????????
          <property?name="alarm">
          ????????????
          <ref?bean="alarm-sms"/>?<!--警報(bào)組件-->
          ????????
          </property>
          ????????
          <property?name="urlList">
          ????????????
          <list>????<!--監(jiān)聽(tīng)地址-->
          ????????????????
          <value>http://www.sohu.com/test.txt</value>
          ????????????????
          <value>http://www.163.com</value>
          ????????????
          </list>
          ????????
          </property>
          ????
          </bean>
          ????
          <bean?id="pingModule"?class="com.monitor.services.PingModule">
          ????????
          <property?name="interval">
          ????????????
          <value>300</value>??<!--檢測(cè)時(shí)間間隔,單位:秒-->
          ????????
          </property>
          ????????
          <property?name="alarm_on_errors">
          ????????????
          <value>3</value>??<!--異常連續(xù)次數(shù)達(dá)到這個(gè)數(shù)目開(kāi)始報(bào)警-->
          ????????
          </property>
          ????????
          <property?name="alarm">
          ????????????
          <ref?bean="alarm-sms"/>?<!--警報(bào)組件-->
          ????????
          </property>
          ????????
          <property?name="ipList">
          ????????????
          <list>????<!--監(jiān)聽(tīng)地址-->
          ????????????????
          <value>192.0.0.1</value>
          ????????????????
          <value>192.151.107.2</value>
          ????????????
          </list>
          ????????
          </property>
          ????
          </bean>
          ????
          <bean?id="socketModule"?class="com.monitor.services.SocketModule">
          ????????
          <property?name="interval">
          ????????????
          <value>300</value>??<!--檢測(cè)時(shí)間間隔,單位:秒-->
          ????????
          </property>
          ????????
          <property?name="alarm_on_errors">
          ????????????
          <value>3</value>??<!--異常連續(xù)次數(shù)達(dá)到這個(gè)數(shù)目開(kāi)始報(bào)警-->
          ????????
          </property>
          ????????
          <property?name="alarm">
          ????????????
          <ref?bean="alarm-sms"/>?<!--警報(bào)組件-->
          ????????
          </property>
          ????????
          <property?name="ipList">
          ????????????
          <list>????<!--監(jiān)聽(tīng)地址-->
          ????????????????
          <value>192.168.0.8:8800</value>
          ????????????????
          <value>192.168.5.3:1433</value>
          ????????????
          </list>
          ????????
          </property>
          ????
          </bean>
          ????
          <!--監(jiān)聽(tīng)服務(wù)///////////////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <!--*--><bean?id="serverMonitor"?class="com.monitor.services.ServerMonitor">
          ????
          <!--*-->????<constructor-arg>
          ????
          <!--*-->????????<list>
          ????
          <!--*-->????????????<ref?bean="httpModule"/>?<!--監(jiān)聽(tīng)類(lèi)型組件-->
          ????
          <!--*-->????????????<ref?bean="pingModule"/>
          ????
          <!--*-->????????????<ref?bean="socketModule"/>
          ????
          <!--*-->????????</list>
          ????
          <!--*-->????</constructor-arg>
          ????
          <!--*--></bean>
          ????
          <!--///////////////////////////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <bean?id="sender"?class="org.springframework.mail.javamail.JavaMailSenderImpl">
          ????????
          <property?name="host">
          ????????????
          <value>smtp.163.com</value>
          ????????
          </property>
          ????????
          <property?name="username">
          ????????????
          <value>admin@163.com</value>
          ????????
          </property>
          ????????
          <property?name="password">
          ????????????
          <value>123456</value>
          ????????
          </property>
          ????????
          <property?name="javaMailProperties">
          ????????????
          <props>
          ????????????????
          <prop?key="mail.smtp.auth">true</prop>
          ????????????
          </props>
          ????????
          </property>
          ????
          </bean>

          ????
          <bean?id="sendmail"?class="com.monitor.services.MailSender">
          ????????
          <property?name="sender">
          ????????????
          <ref?bean="sender"/>
          ????????
          </property>
          ????????
          <property?name="encode">
          ????????????
          <value>GBK</value>
          ????????
          </property>
          ????????
          <property?name="html">
          ????????????
          <value>true</value>
          ????????
          </property>
          ????????
          <property?name="from">
          ????????????
          <value>admin@163.com</value>
          ????????
          </property>
          ????
          </bean>
          ??
          </beans>

          監(jiān)聽(tīng)方式還可以增加其他方式,只需要照現(xiàn)有代碼編寫(xiě)一個(gè)配置上即可(繼承Runnable)。調(diào)用如下:
          ServerMonitor.java
          ?private?void?startMonitor(){
          ????????Iterator?iterator?
          =?monitorModule.iterator();
          ????????
          while?(iterator.hasNext())?{
          ????????????
          new?Thread((Runnable)?iterator.next()).start();
          ????????}

          ????}


          通知方式繼承BaseAlarm接口即可編寫(xiě)新的通知方式。

          程序需要在 JDK 1.5以上運(yùn)行

          源碼下載地址:http://www.migti.com/download.ww

          posted on 2007-01-03 15:43 劍事 閱讀(3343) 評(píng)論(13)  編輯  收藏 所屬分類(lèi): 個(gè)人軟件雜類(lèi)

          評(píng)論

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2007-01-03 17:50 BeanSoft
          哈,短信報(bào)警需要 SP 功能, 以前搞過(guò)增值業(yè)務(wù), 還可以做, 現(xiàn)在不做了, 就沒(méi)法用了...蔑辦法. 基于 Spring, 不錯(cuò), 可配置可擴(kuò)展...  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2007-01-04 10:49 wolfsquare
          為什么一定要JDK1.5才能運(yùn)行,做更大的范圍兼容對(duì)你很容易,也容易到幫助需要的人.  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2007-01-04 10:52 BeanSoft
          呵呵, 偶這里有個(gè)簡(jiǎn)易的, 可以監(jiān)視并重啟的, 不過(guò)沒(méi)用 Spring, 用了 Swing, 只能探測(cè)http頁(yè)面響應(yīng), 沒(méi)有ping,socket, 帶托盤(pán)圖標(biāo)... 可以運(yùn)行在 JDK 1.4. http://www.aygfsteel.com/beansoft/archive/2007/01/03/88465.html Tomcat服務(wù)器監(jiān)控1.2版 for Win,Linux, 歡迎測(cè)試反饋建議.  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2007-01-04 11:04 wolfsquare
          BeanSoft的不錯(cuò),要是有一個(gè)native exe的就更好了,就一個(gè)小小監(jiān)控還要開(kāi)一個(gè)虛擬機(jī)有點(diǎn)大炮打蚊子的感覺(jué)  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2007-01-04 11:28 劍事
          起初是自己臨時(shí)用的 直接在JDK1.5下作的
          改成1.4的也容易 直接把用到泛型部分改掉就行了

          這個(gè)JRE下應(yīng)該就可以用了 沒(méi)測(cè)試過(guò)  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2007-11-02 12:02 監(jiān)視器
          那么監(jiān)視器會(huì)不會(huì)占的資源太大了,http://suparadar.com/  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2008-05-29 14:02 taoli
          不錯(cuò),我們公司剛好要做一個(gè)短信報(bào)警系統(tǒng),謝謝!  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2008-11-02 17:17 yz
          源碼下載地址:http://www.migti.com/download.ww ?? 這個(gè)打開(kāi)沒(méi)有任何東西!能否發(fā)個(gè)源碼讓我學(xué)習(xí)下?我的郵箱:god8116234@sina.com  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2008-11-05 13:29 sunday
          源碼下載地址:http://www.migti.com/download.ww ?? 這個(gè)打開(kāi)沒(méi)有任何東西!能否發(fā)個(gè)源碼讓我學(xué)習(xí)下?我也好想了解這方面的知識(shí),我的郵箱:yewenyu@126.com.謝謝  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2009-03-10 18:19 xuhan
          @sunday
          源碼地址打不開(kāi),我對(duì)這個(gè)很感興趣,能發(fā)到郵箱里嗎,xuhan665@126.com
          謝謝了!  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器[未登錄](méi) 2013-03-08 17:24 lee
          源碼無(wú)法下載啊,可以發(fā)到郵箱嗎?liliunju@gmail.com,非常感謝  回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2013-06-20 13:45 twt
          我想學(xué)習(xí)一下,能不能給我發(fā)一份,郵箱moming198309@163.com
          @yz
            回復(fù)  更多評(píng)論
            

          # re: JAVA寫(xiě)的服務(wù)器監(jiān)視器 2013-07-24 16:15 gq
          最近需要做相關(guān)方面的業(yè)務(wù),想學(xué)習(xí)一下,郵箱806433864@qq.com  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 西充县| 吉林省| 晋宁县| 福鼎市| 平安县| 邵武市| 井冈山市| 望城县| 临桂县| 内黄县| 含山县| 保定市| 博乐市| 滨州市| 镶黄旗| 万宁市| 凉城县| 龙门县| 金寨县| 江油市| 岐山县| 高唐县| 乐山市| 南投市| 四平市| 阜南县| 古丈县| 荣昌县| 长阳| 出国| 高碑店市| 宁城县| 万全县| 应用必备| 长阳| 华阴市| 新宁县| 滁州市| 汾阳市| 工布江达县| 分宜县|