jfy3d(劍事)BLOG

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            37 隨筆 :: 0 文章 :: 363 評論 :: 0 Trackbacks
          功能包括對服務器的ping,http,socket 三種方式的檢查,如服務器出現異常可通過短信,email 等方式報警通知。

          這樣服務器異常就可以及時發現

          考慮到擴展,配置方便使用了Spring

          參數配置都在applicationContext.xml中,詳細見下:



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

          ??????
          <!--警報接受人列表/////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <bean?id="alarm-phoneList-gateway"?class="com.monitor.obj.AlarmPhoneList">
          ????????
          <!--服務器負責人手機號碼組-->
          ????????
          <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">
          ????????
          <!--網站負責人手機號碼組-->
          ????????
          <property?name="serviceid">
          ????????????
          <value>TEST0002</value>
          ????????
          </property>
          ????????
          <property?name="srctermid">
          ????????????
          <value>13500000000</value>
          ????????
          </property>
          ????????
          <property?name="desttermid">
          ????????????
          <list>
          ????????????????
          <value>13655555555</value>
          ????????????
          </list>
          ????????
          </property>
          ????
          </bean>
          ????
          <!--警報組件///////////////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <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#出現異常</value>
          ????????
          </property>
          ????????
          <property?name="alarmphoneList">
          ????????????
          <ref?bean="alarm-phoneList-gateway"/><!--警報接受人列表-->
          ????????
          </property>
          ????
          </bean>
          ????
          <bean?id="alarm-mail"?class="com.monitor.services.MailAlarm">
          ????????
          <!--郵件方式通知-->
          ????????
          <property?name="alarmMailAddr">
          ????????????
          <list>
          ????????????????
          <value>js@567.com</value><!--警報接受人列表-->
          ????????????
          </list>
          ????????
          </property>
          ????????
          <property?name="alarmStr">
          ????????????
          <value>#server#出現異常</value>
          ????????
          </property>
          ????????
          <property?name="send">
          ????????????
          <ref?bean="sendmail"/>
          ????????
          </property>
          ????????
          <property?name="mailTitle">
          ????????????
          <value>服務器異常</value>
          ????????
          </property>
          ????
          </bean>
          ????
          <!--監聽類型組件////////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <bean?id="httpModule"?class="com.monitor.services.HttpModule">
          ????????
          <property?name="interval">
          ????????????
          <value>300</value>??<!--檢測時間間隔,單位:秒-->
          ????????
          </property>
          ????????
          <property?name="alarm_on_errors">
          ????????????
          <value>3</value>??<!--異常連續次數達到這個數目開始報警-->
          ????????
          </property>
          ????????
          <property?name="alarm">
          ????????????
          <ref?bean="alarm-sms"/>?<!--警報組件-->
          ????????
          </property>
          ????????
          <property?name="urlList">
          ????????????
          <list>????<!--監聽地址-->
          ????????????????
          <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>??<!--檢測時間間隔,單位:秒-->
          ????????
          </property>
          ????????
          <property?name="alarm_on_errors">
          ????????????
          <value>3</value>??<!--異常連續次數達到這個數目開始報警-->
          ????????
          </property>
          ????????
          <property?name="alarm">
          ????????????
          <ref?bean="alarm-sms"/>?<!--警報組件-->
          ????????
          </property>
          ????????
          <property?name="ipList">
          ????????????
          <list>????<!--監聽地址-->
          ????????????????
          <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>??<!--檢測時間間隔,單位:秒-->
          ????????
          </property>
          ????????
          <property?name="alarm_on_errors">
          ????????????
          <value>3</value>??<!--異常連續次數達到這個數目開始報警-->
          ????????
          </property>
          ????????
          <property?name="alarm">
          ????????????
          <ref?bean="alarm-sms"/>?<!--警報組件-->
          ????????
          </property>
          ????????
          <property?name="ipList">
          ????????????
          <list>????<!--監聽地址-->
          ????????????????
          <value>192.168.0.8:8800</value>
          ????????????????
          <value>192.168.5.3:1433</value>
          ????????????
          </list>
          ????????
          </property>
          ????
          </bean>
          ????
          <!--監聽服務///////////////////////////////////////////////////////////////////////////////////////////////-->
          ????
          <!--*--><bean?id="serverMonitor"?class="com.monitor.services.ServerMonitor">
          ????
          <!--*-->????<constructor-arg>
          ????
          <!--*-->????????<list>
          ????
          <!--*-->????????????<ref?bean="httpModule"/>?<!--監聽類型組件-->
          ????
          <!--*-->????????????<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>

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

          ????}


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

          程序需要在 JDK 1.5以上運行

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

          posted on 2007-01-03 15:43 劍事 閱讀(3341) 評論(13)  編輯  收藏 所屬分類: 個人軟件雜類

          評論

          # re: JAVA寫的服務器監視器 2007-01-03 17:50 BeanSoft
          哈,短信報警需要 SP 功能, 以前搞過增值業務, 還可以做, 現在不做了, 就沒法用了...蔑辦法. 基于 Spring, 不錯, 可配置可擴展...  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2007-01-04 10:49 wolfsquare
          為什么一定要JDK1.5才能運行,做更大的范圍兼容對你很容易,也容易到幫助需要的人.  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2007-01-04 10:52 BeanSoft
          呵呵, 偶這里有個簡易的, 可以監視并重啟的, 不過沒用 Spring, 用了 Swing, 只能探測http頁面響應, 沒有ping,socket, 帶托盤圖標... 可以運行在 JDK 1.4. http://www.aygfsteel.com/beansoft/archive/2007/01/03/88465.html Tomcat服務器監控1.2版 for Win,Linux, 歡迎測試反饋建議.  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2007-01-04 11:04 wolfsquare
          BeanSoft的不錯,要是有一個native exe的就更好了,就一個小小監控還要開一個虛擬機有點大炮打蚊子的感覺  回復  更多評論
            

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

          這個JRE下應該就可以用了 沒測試過  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2007-11-02 12:02 監視器
          那么監視器會不會占的資源太大了,http://suparadar.com/  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2008-05-29 14:02 taoli
          不錯,我們公司剛好要做一個短信報警系統,謝謝!  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2008-11-02 17:17 yz
          源碼下載地址:http://www.migti.com/download.ww ?? 這個打開沒有任何東西!能否發個源碼讓我學習下?我的郵箱:god8116234@sina.com  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2008-11-05 13:29 sunday
          源碼下載地址:http://www.migti.com/download.ww ?? 這個打開沒有任何東西!能否發個源碼讓我學習下?我也好想了解這方面的知識,我的郵箱:yewenyu@126.com.謝謝  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2009-03-10 18:19 xuhan
          @sunday
          源碼地址打不開,我對這個很感興趣,能發到郵箱里嗎,xuhan665@126.com
          謝謝了!  回復  更多評論
            

          # re: JAVA寫的服務器監視器[未登錄] 2013-03-08 17:24 lee
          源碼無法下載啊,可以發到郵箱嗎?liliunju@gmail.com,非常感謝  回復  更多評論
            

          # re: JAVA寫的服務器監視器 2013-06-20 13:45 twt
          我想學習一下,能不能給我發一份,郵箱moming198309@163.com
          @yz
            回復  更多評論
            

          # re: JAVA寫的服務器監視器 2013-07-24 16:15 gq
          最近需要做相關方面的業務,想學習一下,郵箱806433864@qq.com  回復  更多評論
            

          主站蜘蛛池模板: 镇安县| 汝南县| 思南县| 红原县| 宜丰县| 乡城县| 衡南县| 德阳市| 那坡县| 靖远县| 扶余县| 铜川市| 蓝田县| 平潭县| 历史| 怀集县| 探索| 柳江县| 牡丹江市| 子洲县| 如东县| 中西区| 永安市| 佛坪县| 定远县| 古蔺县| 易门县| 康乐县| 晋城| 巴林右旗| 灵山县| 兴安县| 德江县| 东光县| 东丽区| 特克斯县| 喀什市| 小金县| 石首市| 沭阳县| 孝义市|