• 
    

    
    

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

      ?

      利用SNMP協(xié)議實現(xiàn)流量統(tǒng)計系統(tǒng)

      2020-03-10 11:19張萬輝
      科學與財富 2020年33期
      關鍵詞:網(wǎng)絡維護

      張萬輝

      摘 要:為了滿足工作需求,本文從網(wǎng)絡監(jiān)控的原理出發(fā),介紹了SNMP協(xié)議的工作方法和一些簡單實用的開源工具,利用此協(xié)議和工具進行開發(fā),實現(xiàn)了一個完整的流量統(tǒng)計系統(tǒng)。簡單網(wǎng)絡管理協(xié)議(SNMP)是由一組網(wǎng)絡管理的標準組成,用來監(jiān)控各種網(wǎng)絡設備的運行,是網(wǎng)絡維護工作中廣泛應用的網(wǎng)絡協(xié)議。另外還用到了SNMP協(xié)議的開源工具SNMP4J、JAVA編程語言和DELPHI編程工具以及相關的輔助工具。本文主要介紹了流量數(shù)據(jù)采集的基本原理、系統(tǒng)的組成和設計的實現(xiàn)。

      關鍵詞:網(wǎng)絡維護;SNMP協(xié)議;流量統(tǒng)計;JAVA;DELPHI

      1.前言

      隨著互聯(lián)網(wǎng)用戶數(shù)量的迅速增長,網(wǎng)管維護人員需要維護的設備數(shù)量也越來越多,為了保障網(wǎng)絡的穩(wěn)定運行,借助一些網(wǎng)絡監(jiān)控軟件是很有必要的。網(wǎng)管維護中心一直在使用CACTI這個開源的軟件來對所有的網(wǎng)絡交換機和路由器進行監(jiān)控。CACTI的實時監(jiān)控和畫圖的功能還是很不錯的,但是由于CACTI的數(shù)據(jù)存儲使用的是RRD數(shù)據(jù)庫,這是一種環(huán)型數(shù)據(jù)庫,數(shù)據(jù)的存儲不具有持久性,新的數(shù)據(jù)會覆蓋舊的數(shù)據(jù),這樣不利于工作人員對網(wǎng)絡的運行趨勢進行分析。因此維護人員一直使用人工的方式,每天記錄下核心設備的運行參數(shù),包括在線用戶數(shù)和端口流量峰值,把數(shù)據(jù)輸入到EXCEL表格中以形成流量統(tǒng)計報表。這種方式不但費時,而且費力,每天要花去幾個小時的時間,人工的方式還容易出錯。

      1.1設計目的

      為了解決人工流量統(tǒng)計效率低下的問題,決定自己動手開發(fā)一個流量統(tǒng)計系統(tǒng),完成數(shù)據(jù)自動采集和生成報表的功能。

      1.2設計思路

      一臺主機用來運行數(shù)據(jù)采集程序,并且主機到各交換機的網(wǎng)絡必須可達,這是前提條件。

      一臺數(shù)據(jù)庫服務器,程序采集到的數(shù)據(jù)需要寫入數(shù)據(jù)庫中。

      最后開發(fā)一個客戶端程序讀取數(shù)據(jù)庫生成報表,如果使用B/S架構,還需要一臺WEB服務器。

      如果程序占用資源不大,也可以把采集、數(shù)據(jù)庫和WEB服務部署在一臺服務器上。

      在流量統(tǒng)計系統(tǒng)中,最關鍵的環(huán)節(jié)就是設備流量數(shù)據(jù)的采集,只要有了數(shù)據(jù),無論需要生成什么樣的報表,都可以實現(xiàn)。端口流量的采集,可以利用流量差除以時間差來得出端口流量,兩次采集的時間間隔越長,對系統(tǒng)的資源占用也越高,得到的流量數(shù)據(jù)也越平均;時間間隔越短,就越容易抓取端口流量的峰值,但是流量誤差也越大。在本程序中,兩次流量采集的間隔時間準備設為10秒鐘。

      下圖為系統(tǒng)結構圖:

      2.系統(tǒng)的設計與實現(xiàn)

      2.1需求分析

      該系統(tǒng)需要具備如下功能:數(shù)據(jù)的采集、數(shù)據(jù)入庫、生成報表。需要的報表有:流量實時曲線報表、流量峰值報表和圖表、流量分析報表。

      2.2SNMP協(xié)議介紹

      SNMP是在TCP/IP協(xié)議棧之上的應用層協(xié)議,由三個部分組成:管理信息結構(SMI)、管理信息庫(MIB)和SNMP協(xié)議。SMI用于定義通過網(wǎng)絡管理協(xié)議可訪問的對象的規(guī)則,在MIB中,SMI定義了數(shù)據(jù)類型及網(wǎng)絡資源在MIB中的名稱或表示。MIB是由網(wǎng)絡管理協(xié)議訪問的管理對象數(shù)據(jù)庫,樹型結構,每個節(jié)點(OID)代表一個變量。本文主要使用V2版本的SNMP協(xié)議OID進行讀取,

      2.3相關工具的選擇

      1、編程語言:本系統(tǒng)服務端使用JAVA語言進行開發(fā)??蛻舳耸褂肈elphi編寫。

      2、協(xié)議開發(fā)工具:SNMP4J它是用JAVA來實現(xiàn)SNMP協(xié)議的開源項目,它支持以命令行的形式進行管理與響應。

      3、WEB服務器:WEB服務采用一個基于J2EE的開放源代碼的應用服務JBOSS。

      4、MVC框架:SSH 為 struts+spring+hibernate的一個輕量級集成框架,是目前較流行的一種Web應用程序開源框架。

      5、報表工具:JFreeChart是JAVA平臺上的一個開放的圖表繪制類庫。本系統(tǒng)使用此工具在WEB頁面上生成曲線報表。

      6、數(shù)據(jù)庫:本系統(tǒng)使用SQLSERVER2000數(shù)據(jù)庫

      7、輔助工具:MIBBrowser是一個免費的工具,可以利用SNMP協(xié)議讀取設備的MIB,非常適合輔助開發(fā)。

      2.4流量采集功能的實現(xiàn)

      本系統(tǒng)需要采集的流量有用戶數(shù)和數(shù)據(jù)流量。其中用戶流量主要針對BAS認證設備。用戶數(shù)的采集比較簡單,對于華為的MA5200F設備,用戶流量的OID是.1.3.6.1.2.1.31.1.1.1.6.1610719231,可以利用MIBBrowser進行數(shù)據(jù)遍歷,同時使用交換機命令display access-user來進行數(shù)據(jù)的核對。

      把流量采集的代碼包裝成JAVA對象,并實現(xiàn)Runnable方法。另外把所有的網(wǎng)絡設備以自定義的格式寫到文本文件里,用來做配置文件,里面記錄每個設備的IP地址、共同體、OID等。使用程序讀取配置文件,每個設備生成一個Runnable對象,就可以使用多線程的方式進行流量采集了。

      2.5數(shù)據(jù)庫的設計

      數(shù)據(jù)庫使用的是SQLSERVER2000,最主要的表有兩個,分別記錄了所有的設備端口流量和在線用戶數(shù)。這兩個表都有要設備類型、設備名稱和采集時間等字段。為了加速統(tǒng)計每日的流量峰值,還需要增加一個記錄每日峰值的表,定時的把每日的峰值錄入表中。系統(tǒng)5分鐘記錄一次數(shù)據(jù),運行時間久了數(shù)據(jù)量也是很大的,所以還要為數(shù)據(jù)庫增加索引,以提高查詢速度。

      2.6 報表、圖表的展示

      流量的數(shù)據(jù)采集入庫完成以后,剩下的就是報表或圖表的生成了??梢愿鶕?jù)需要生成各種樣式的圖表,以下是使用Delphi和JAVA生成的報表。

      2.7系統(tǒng)試運行時解決的問題

      1、 在程序測試運行階段,定時觀察程序的運行內存,發(fā)現(xiàn)內存占用隨著運行時長而變大,最后程序崩潰,說明程序使用的資源未及時釋放,在代碼中發(fā)現(xiàn)有部分使用過的資源沒有釋放,導致內存泄漏。排除了BUG后,程序運行正常。

      2、在WEB報表查詢過程中,多次點擊查詢導致WEB程序卡死。這由于每次查詢都要讀取數(shù)據(jù)庫并生成報表,這個過程需要時間,如果過于頻繁就容易造成服務癱瘓。于是使用AJAX和緩存技術,減少頁面刷新和查詢重復提交的次數(shù),解決了此問題。

      3.開發(fā)時的注意事項

      1、注意區(qū)分端口入流量和出流量;

      2、采集流量時,使用Counter64數(shù)據(jù)類型(無符號64位)的OID,有更大的取值范圍;

      3、采集到的流量是端口的累積流量,而不是每秒的流量,需要取兩次流量取差值,再除以時間差;

      4、采集設備時鐘和流量時,要注意數(shù)據(jù)歸零的問題,由于取值范圍有限,設備的運行時間和累積流量達到最大時,會重新開始計數(shù)。所以在取流量差值和時間差值是,如果差值小于0,就需要再加上當前數(shù)據(jù)類型的最大值。

      5、用過的資源要及時關閉,以免內存泄漏導致系統(tǒng)崩潰。

      6、保證數(shù)據(jù)庫支持的并發(fā)數(shù),避免在數(shù)據(jù)寫庫時出現(xiàn)瓶頸。

      4.結束語

      作者以在遼河油田信息工程公司網(wǎng)管維護中心工作期間開發(fā)的項目為基礎, 設計了這個利用SNMP協(xié)議實現(xiàn)的流量統(tǒng)計系統(tǒng), 并在實際使用中對設備在線用戶數(shù)和端口流量進行采集、入庫,最后用WEB和客戶端的方式生成統(tǒng)計報表, 各項功能均能實現(xiàn)。由于SNMP協(xié)議被廣泛的應用在網(wǎng)絡設備上,還可以根據(jù)需要對系統(tǒng)進行擴展,用來對其它支持此協(xié)議的設備進行統(tǒng)計。希望本論文所寫的設計方案對相關方面的開發(fā)設計有所借鑒。

      參考文獻:

      [1]陳海蓉,張玉明. SNMP 協(xié)議及其應用開發(fā). 華北電力大學學報. 2001,28(3)

      [2]邵 旭,劉 紅,傅海陽. SNMP Agent 和嵌入式 Web網(wǎng)管系統(tǒng)的研究與綜合設計. 北京郵電大學學報(自然科學版). 2001,24(4)

      (遼河油田信息工程公司 ?遼寧 盤錦 ?124010)

      猜你喜歡
      網(wǎng)絡維護
      計算機網(wǎng)絡幾種典型故障的處理及維護方法
      探討計算機網(wǎng)絡故障處理與網(wǎng)絡維護
      數(shù)據(jù)通信網(wǎng)絡維護分析及網(wǎng)絡安全問題探討
      基于計算機網(wǎng)絡故障處理及網(wǎng)絡維護方法研究
      隆林| 德钦县| 广西| 上犹县| 翁牛特旗| 康乐县| 石阡县| 诸城市| 龙井市| 巴马| 黄龙县| 溆浦县| 藁城市| 庆城县| 肃南| 安远县| 荔波县| 望城县| 治多县| 舟山市| 鄂尔多斯市| 德格县| 枣强县| 铜陵市| 贵定县| 三明市| 延安市| 积石山| 西峡县| 屏边| 昂仁县| 吉隆县| 来凤县| 台州市| 密云县| 株洲县| 南开区| 霍林郭勒市| 建昌县| 荆门市| 贞丰县|