• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      局域網(wǎng)狀態(tài)自動監(jiān)測及告警系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2020-04-24 14:50:40王宜明
      電腦知識與技術(shù) 2020年5期
      關(guān)鍵詞:電話號碼管理員端口

      摘要:人工監(jiān)測網(wǎng)絡(luò)運(yùn)行狀態(tài)費(fèi)時(shí)費(fèi)力效率低下。為及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)故障,減輕值班人員工作強(qiáng)度,提高自動化監(jiān)測能力,基于java語言,利用InetSocketAddress類的相關(guān)方法,配合數(shù)據(jù)庫,實(shí)現(xiàn)了對網(wǎng)絡(luò)中的重要信息節(jié)點(diǎn)如交換機(jī)、服務(wù)器等硬件設(shè)備,以及重要的業(yè)務(wù)平臺和服務(wù)運(yùn)行狀態(tài)的自動監(jiān)測,并在監(jiān)測到故障時(shí)能自動發(fā)送告警短信通知相關(guān)人員。

      關(guān)鍵詞:java;網(wǎng)絡(luò)狀態(tài):自動監(jiān)測;自動告警

      中圖分類號:TP311.1 文獻(xiàn)標(biāo)識碼:A

      文章編號:1009-3044(2020)05-0035-03

      開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      1 概述

      隨著氣象業(yè)務(wù)現(xiàn)代化的深入發(fā)展,氣象信息化集成度越來越高,對實(shí)效性的要求也更加嚴(yán)格。氣象數(shù)據(jù)和報(bào)文傳輸?shù)葮I(yè)務(wù)對網(wǎng)絡(luò)的穩(wěn)定性也相應(yīng)的提出了更高的要求,這意味著信息網(wǎng)絡(luò)運(yùn)維人員必須要能及時(shí)發(fā)現(xiàn)問題并能在第一時(shí)間處理問題。故障發(fā)現(xiàn)的越及時(shí),處理故障的余地越大。在以往單純依靠人工巡檢來監(jiān)測網(wǎng)絡(luò)運(yùn)行狀態(tài)費(fèi)時(shí)費(fèi)力且效率低下,還使得業(yè)務(wù)值班人員壓力非常之大,疲于應(yīng)付。目前的網(wǎng)管軟件在應(yīng)用上其功能點(diǎn)主要側(cè)重于網(wǎng)絡(luò)維護(hù)功能方面,如網(wǎng)絡(luò)拓?fù)鋱D顯示、線路流量統(tǒng)計(jì)、ip地址統(tǒng)計(jì)等。而在網(wǎng)絡(luò)通斷狀態(tài)的檢測,F(xiàn)TP、ns、Tomcat等網(wǎng)絡(luò)服務(wù)運(yùn)行監(jiān)測、告警短信號碼定制等方面不能靈活的按照網(wǎng)絡(luò)管理者的意愿進(jìn)行靈活定制?;谏鲜鲈?,開發(fā)一套自動的、可定制化的監(jiān)測和告警系統(tǒng)(以下簡稱監(jiān)測系統(tǒng)),用以實(shí)現(xiàn)對重要的信息網(wǎng)絡(luò)節(jié)點(diǎn)、服務(wù)器以及重要的業(yè)務(wù)平臺服務(wù)運(yùn)行狀態(tài)監(jiān)測勢在必行。

      目前主流的短信發(fā)送技術(shù)主要有兩種:使用自購設(shè)備“短信貓(GMS Modem)”實(shí)現(xiàn)短信發(fā)送;利用通信運(yùn)營商(如中國聯(lián)通)提供的webservice接口實(shí)現(xiàn)短信發(fā)送。監(jiān)測系統(tǒng)采用的短信告警技術(shù)也正是這兩種方式?!岸绦咆垺钡膬?yōu)點(diǎn)在于短信發(fā)送端位于網(wǎng)絡(luò)內(nèi)部,短信發(fā)送操作在內(nèi)網(wǎng)完成,減少傳輸間網(wǎng)絡(luò)損耗。webservice方式的優(yōu)點(diǎn)在于發(fā)送快速,編輯好模板之后,可快速實(shí)現(xiàn)大量的短信發(fā)送。兩種方式互為備份,一種方式發(fā)送失敗后可以轉(zhuǎn)至另一種方式繼續(xù)發(fā)送短信,確保告警短信正常及時(shí)送達(dá)至管理員手機(jī)上。監(jiān)測系統(tǒng)開發(fā)完成后,可以實(shí)現(xiàn)對重要信息節(jié)點(diǎn)和服務(wù)器以及重要業(yè)務(wù)平臺、服務(wù)的狀態(tài)監(jiān)測和告警,不僅能提高信息運(yùn)維部門的反應(yīng)速度,也能極大地減輕值班員的勞動強(qiáng)度。

      2 系統(tǒng)設(shè)計(jì)

      2.1 功能設(shè)計(jì)

      監(jiān)測系統(tǒng)運(yùn)行流程圖如圖1所示。

      監(jiān)測系統(tǒng)運(yùn)行的具體步驟是:首先初始化配置數(shù)據(jù),例如,將要被監(jiān)測的設(shè)備ip地址及端口號、與設(shè)備相關(guān)聯(lián)的管理員電話號碼等數(shù)據(jù)。配置數(shù)據(jù)初始化出現(xiàn)異常時(shí),例如從數(shù)據(jù)庫讀 取配置數(shù)據(jù)失敗,則將錯(cuò)誤信息通過短信發(fā)送給管理員進(jìn)行處理,并將檢查結(jié)果寫入日志備查。配置數(shù)據(jù)初始化成功后,根據(jù)配置數(shù)據(jù)選擇待監(jiān)測ip的檢查方法。如設(shè)備配置數(shù)據(jù)中端口號為0,則表示只對該設(shè)備的網(wǎng)絡(luò)可達(dá)性進(jìn)行監(jiān)測。若端口號不為0,表示需要監(jiān)測該端口號上的服務(wù)是否正常運(yùn)行。最后如果判斷ip或者端口不可達(dá),則將觸發(fā)告警,由短信告警模塊發(fā)送告警信息給相關(guān)管理員處理。無論本次監(jiān)測有無問題,最后的監(jiān)測結(jié)果都將寫人數(shù)據(jù)庫作為運(yùn)行日志備查。

      2.2 元數(shù)據(jù)設(shè)計(jì)

      監(jiān)測系統(tǒng)數(shù)據(jù)初始化的工作是讀取待監(jiān)測的ip列表,端口列表以及與ip相關(guān)聯(lián)的管理員的電話號碼。這些相關(guān)數(shù)據(jù)被稱作監(jiān)測系統(tǒng)的元數(shù)據(jù),其在數(shù)據(jù)庫中持久化保存,方便監(jiān)測系統(tǒng)獲取,以及修改配置數(shù)據(jù),對監(jiān)測對象進(jìn)行調(diào)整。 元數(shù)據(jù)主要分為兩類,分別以表的形式存放于數(shù)據(jù)庫中,表分別是“被監(jiān)測設(shè)備配置表”以及“管理員電話號碼配置表”。其中“被監(jiān)測設(shè)備配置表”中存儲的是被監(jiān)測的網(wǎng)絡(luò)設(shè)備的狀態(tài)配置信息。詳情見表1“被監(jiān)測設(shè)備配置表”。

      其中,IpAddress表示被監(jiān)測設(shè)備的ip地址,OpenPort表示該設(shè)備開放出可被監(jiān)測的端口,0”表示無端口開放,需要用ping的方式來確定該ip地址是否可達(dá),從而判定此ip是否存活。其他數(shù)字表示此ip上開放有相應(yīng)的服務(wù),需要監(jiān)測該端口是否在正常,以判斷該設(shè)備及服務(wù)是否正常。IsValid表示該設(shè)備否要被監(jiān)控,存入值“0”或者“l(fā)”。0代表此ip不需要再監(jiān)測。Administrator表示該設(shè)備被檢出問題后要通知的部門所屬。若該設(shè)備有多個(gè)部門管轄,可配置多個(gè)部門,用“,”隔開即可。

      “管理員信息配置表”內(nèi)存儲的是待監(jiān)測設(shè)備的管理員配置,詳情見表2管理員信息配置表。

      其中,“AlarmCategory”列中存儲的信息表示配置表中本條記錄歸屬的業(yè)務(wù)種類。例如“network”表示監(jiān)測系統(tǒng)的元數(shù)據(jù)配置信息?!癆dministrator”列用于標(biāo)識接收短信告警的相關(guān)部門,與表1中“Administator”列相對應(yīng)?!癙honeNo”列顧名思義,就是用來接收告警短信的號碼??紤]到一個(gè)部門可能要多個(gè)管理員需要接收告警短信,例如“青島”,需要有兩個(gè)網(wǎng)絡(luò)管理員同時(shí)接收告警短信,則可以在此列配置多個(gè)電話號碼,用英文逗號“·”隔開即可。

      2.3 數(shù)據(jù)庫表設(shè)計(jì)

      數(shù)據(jù)庫用來存儲監(jiān)測系統(tǒng)運(yùn)行所需要的配置數(shù)據(jù)和監(jiān)測系統(tǒng)運(yùn)行日志。元數(shù)據(jù)確定完畢后,在數(shù)據(jù)庫中創(chuàng)建兩個(gè)數(shù)據(jù)表來存儲元數(shù)據(jù)。以“被監(jiān)測設(shè)備配置表”為例,建表語句如下:

      create table ipconfig(

      id VARCHAR(32) primary key not null comment‘主鍵,in-sertdatetime DATE default current_timestamp comment‘記錄插入時(shí)間,

      ipAddress VARCHAR(15) not null comment‘被監(jiān)測IP地址,

      openPort INTEGER not null default o comment‘端口號,默認(rèn)0,

      isValid CHAR(1) default 'O, comment‘是否有效,默認(rèn)無效,1代表有效,

      editBy VARCHAR(IO) default 'admin, comment‘操作人員,

      admin VARCHAR(150) not null comment‘故障時(shí)通知所屬單位)

      表創(chuàng)建完畢并初始化數(shù)據(jù)后,監(jiān)測系統(tǒng)即可從表中讀取配置數(shù)據(jù)進(jìn)行處理。若需要對監(jiān)測ip地址、端口等數(shù)據(jù)進(jìn)行變更,只需對元數(shù)據(jù)配置表進(jìn)行增刪改操作即可,監(jiān)測系統(tǒng)在每一次運(yùn)行時(shí)均可根據(jù)讀取新的配置數(shù)據(jù)進(jìn)行監(jiān)測。

      2.4 代碼實(shí)現(xiàn)

      2.4.1 監(jiān)測功能代碼實(shí)現(xiàn)

      Java是一門面向?qū)ο蟮恼Z言。類是屬性和操作屬性的方法的集合,屬性和操作屬性的方法一起描述對象的狀態(tài)和行為。在監(jiān)測系統(tǒng)中,待監(jiān)測的設(shè)備、服務(wù)即可看作一個(gè)類,用IpData-Conf來表示。該類具有ip地址、開放端口號、是否有效、管理員等屬性,同時(shí)也具有各個(gè)屬性的getter方法,如表3所示:

      在完成數(shù)據(jù)庫表創(chuàng)建并填人初始化數(shù)據(jù)后,系統(tǒng)即可開始對進(jìn)行監(jiān)測。系統(tǒng)運(yùn)行流程如圖1所示,其偽代碼如下所示:

      List ipDataConfs= loadProperties0;

      if (ipDataConfs.size0==0){

      alertModule0;

      return;1

      ipDataConfs.forEach(ipDataConfo{

      if(ipDataConf.getOpenPort0==0){

      boolean checkResult= checkNetWorkBylp0;

      if (!checkResult){

      alertModule0;

      】else{

      boolean checkResult= checkNetorkByPort0;

      if(! checkResult){ alertModule0;】

      ¨)

      loadProperties0函數(shù)完成監(jiān)測系統(tǒng)初始化的功能,其初始化的是ipDataConf類,并將該類存儲在一個(gè)List結(jié)構(gòu)中,若初始化配置數(shù)據(jù)后返回的List大小為0,表示初始化配置數(shù)據(jù)失敗,將直接觸發(fā)告警模塊并退出本次監(jiān)測操作。 若初始化配置數(shù)據(jù)成功,則開始用循環(huán)遍歷該對象,輪流取出IpDataConf類,通過getOpenPort0方法獲取該ip對應(yīng)配置的端口,若獲取到的端口值為0,表示該ip僅僅用checkNetwork-Bylp0監(jiān)測網(wǎng)絡(luò)可達(dá)性即可。若不為0,表示該ip上開放有服務(wù)需要監(jiān)測,則使用checkNetworkByPort0方法來進(jìn)行監(jiān)測。

      在進(jìn)行網(wǎng)絡(luò)可達(dá)性監(jiān)測時(shí),checkNetWorkBylp0函數(shù)用In-etSocketAddress類以及該類的isReachable0方法,InetSocketAd-dress類是SocketAddress(抽象)類的子類,其實(shí)現(xiàn)了ip套接字地址(ip地址+端口號)。具體代碼如下:

      InetSocketAddress socketAddress=

      new InetSocketAddress(ipDataConf.getlp0,0);

      return (socketAddress.getAddress0 1= null)

      && socketAddress.getAddressO.isReachable0;

      監(jiān)測系統(tǒng)先根據(jù)ip地址來創(chuàng)建InetSocketAddress對象socketAddress,然后對socketAddress. getAddress0進(jìn)行非空判斷,并使用isReachable0方法判斷其網(wǎng)絡(luò)可達(dá)性。

      在進(jìn)行端口監(jiān)測時(shí),checkNetworkService0方法采用的是socket對象的isConnect0方法:

      Socket socket= net Socket0;

      InetAddress inetAddress= new

      InetAddress(ipD ataConf.getIpO.ipD ataConf.getOpenPort O);

      socket.isConnect(remoteAddress,connectTimeOut);

      return socket.isConnected0;

      創(chuàng)建socket對象,再根據(jù)ip和端口創(chuàng)建一個(gè)InetSocketAd-dress對象,并使用socket的connect0方法去連接,如果連接失敗則觸發(fā)短信告警模塊,告警該ip上運(yùn)行的服務(wù)(即開放的端口)失效,需要立即通知管理員檢查。

      2.4.2 自動短信告警模塊設(shè)計(jì)

      考慮到存在這種情況:當(dāng)檢測到設(shè)備或者服務(wù)發(fā)生故障時(shí),如某地部署的路由器出現(xiàn)問題,需要同時(shí)發(fā)送告警短信給該設(shè)備所屬地網(wǎng)絡(luò)管理員,以及上級網(wǎng)絡(luò)管理部門的網(wǎng)管員。而還存在一種情況是兩地的網(wǎng)管員都不止一個(gè)人需要接收告警短信。因此,就需要在表1待監(jiān)測ip及端口配置表中設(shè)置字段來存儲故障時(shí)需要通知的單位或者網(wǎng)管員代碼。然后在表2電話號碼配置表中設(shè)置字段來配置相應(yīng)管理員代碼的告警短信接收電話號碼,電話號碼可以不止一個(gè),中間用英文逗號隔開即可。告警短信發(fā)送模塊可以識別并按照設(shè)定號碼分別發(fā)送告警短信。模塊的最終目的是要創(chuàng)建HashMap結(jié)構(gòu)的鏈表,其中存儲的都是要發(fā)給對應(yīng)Ke y 的所有告警信息。storePhoneMsg存儲的是接收告警短信的電話號碼及對應(yīng)的告警內(nèi)容列表。相關(guān)代碼如下:

      HashMap0;

      for (String mobile:mobileList){

      if (storePhoneMsg.get(mobile)==null)(

      List f'irstCreated= new ArrayList<>0;

      firstCreated.add(msg);

      storePhoneMsg.put(mobile, firstCreated);

      ) else{

      List alreadyExist= storePhoneMsg.get(mobile);

      alreadyExist.add(msg);

      storePhoneMsg.put(phoneNo, alreadyExist);")

      此段代碼的邏輯是:循環(huán)遍歷告警短信要通知的電話號碼列表,并檢查storePhoneMsg中是否已經(jīng)包含該電話號碼。若不包含,表示該電話號碼是第一次添加到storePhoneMsg中,創(chuàng)建List并添加到storePhoneMsg中;若包含,則表示該電話號碼已經(jīng)有告警短信信息存儲在storePhoneMsg中,那就需要取出該電話號碼對應(yīng)的List并將新的告警短信添加進(jìn)去,最后將該List放回storePhoneMsg中。如此循環(huán)添加完畢后,在用嵌套循環(huán)遍歷出所有告警短信并發(fā)送出去。代碼如下:

      storePhoneMsg.forEach《mobile,msgList)→{

      for(String alertMsg: msgList){

      sendAlertMsg(mobile,alertMsg);

      }})。

      3 結(jié)論

      本文利用基于Java的InetSocketAddress類中的相關(guān)方法,結(jié)合數(shù)據(jù)庫存儲,實(shí)現(xiàn)了可自主定義的網(wǎng)絡(luò)狀態(tài)監(jiān)測和故障自動發(fā)現(xiàn)告警系統(tǒng),得出以下主要結(jié)論:

      (1) Java語言有豐富的類庫和方法,可較好地實(shí)現(xiàn)基于網(wǎng)絡(luò)的系統(tǒng)編程。

      (2)自定義的網(wǎng)絡(luò)監(jiān)測系統(tǒng)可以較好地實(shí)現(xiàn)本地定制,可靈活的根據(jù)實(shí)際情況對監(jiān)測對象和告警對象進(jìn)行調(diào)整。

      (3)監(jiān)測系統(tǒng)總體運(yùn)行平穩(wěn)良好,有故障能及時(shí)發(fā)現(xiàn)并告警,較好地實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)的初衷。但偶爾會出現(xiàn)極少數(shù)的錯(cuò)誤告警,可能是因?yàn)榫W(wǎng)絡(luò)波動引起,需要根據(jù)實(shí)際情況再進(jìn)行檢查,調(diào)整監(jiān)測參數(shù)。

      (4)考慮在不侵入原有業(yè)務(wù)代碼的情況下,引入Redis,提高監(jiān)測系統(tǒng)初始化數(shù)據(jù)的速度,盡量減少與數(shù)據(jù)庫的數(shù)據(jù)交互,提高系統(tǒng)運(yùn)行效率。

      參考文獻(xiàn):

      [1]田春婷.基于Java Socket文字聊天系統(tǒng)的GUl實(shí)現(xiàn)【J].蘭州石化職業(yè)技術(shù)學(xué)院學(xué)報(bào),2019,19(2):11-15.

      [2]陸鑫,王艷蓉,孫超,史豪杰,一種高性能多模式的內(nèi)存數(shù)據(jù)庫系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2019,36(1):94-98.

      [3]余廣宏.實(shí)時(shí)數(shù)據(jù)庫技術(shù)的發(fā)展及應(yīng)用效果[J].電子技術(shù)與軟件工程,2016(20):185.

      [4]鄭逸凡.Java多線程機(jī)制及其在socket編程中的應(yīng)用[J].赤峰學(xué)院學(xué)報(bào):自然科學(xué)版,2018,34(9):62-63.

      [5]歐陽宏基,李紅,宋笑雪.一種基于ES2SH框架的Java EE應(yīng)用架構(gòu)[J].實(shí)驗(yàn)室研究與探索,2018,37(10):157-162,167.

      [6]喬嵐,基于MyBatis和Spring的JavaEE數(shù)據(jù)持久層的研究與應(yīng)用[J].信息與電腦,2017(8).

      [7]何軍,陳倩怡.Vue+Springboot+Mybatis開發(fā)消費(fèi)管理系統(tǒng)[J].電腦編程技巧與維護(hù),2019,404(2):89-90,104.

      [8]王倩;鄧媛劫.基于Java Socket的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)[J].電腦與信息技術(shù),2018,6(1):51-53.

      [9]郭琳.分析Java語言與Java技術(shù)的應(yīng)用[Jl,電腦迷,2018,112(11):123.

      【通聯(lián)編輯:梁書】

      收稿日期:2019-11-09

      基金項(xiàng)目:青島市氣象局青年科研專項(xiàng)

      作者簡介:王宜明(1981-),男,山東青島人,工程師,碩士,主要研究方向?yàn)閿?shù)據(jù)挖掘校驗(yàn)以及服務(wù)運(yùn)維。

      猜你喜歡
      電話號碼管理員端口
      我是小小午餐管理員
      歡歡家的電話號碼
      一種端口故障的解決方案
      我是圖書管理員
      我是圖書管理員
      可疑的管理員
      端口阻塞與優(yōu)先級
      不能忘記的電話號碼
      猜電話號碼
      初識電腦端口
      電腦迷(2015年6期)2015-05-30 08:52:42
      杭州市| 任丘市| 将乐县| 兴化市| 阳曲县| 綦江县| 华阴市| 阳原县| 淳化县| 边坝县| 从化市| 合江县| 弋阳县| 武邑县| 通渭县| 凉城县| 巴南区| 无极县| 成武县| 佛山市| 探索| 昌江| 威信县| 贵德县| 枣阳市| 兴山县| 瑞金市| 册亨县| 兴仁县| 民乐县| 黔西| 平塘县| 延边| 隆尧县| 宣汉县| 江川县| 彩票| 衡南县| 东阿县| 顺平县| 方城县|