MRTG的網(wǎng)絡(luò)流量監(jiān)測(cè)研究與應(yīng)用(研究篇)
基于MRTG的網(wǎng)絡(luò)流量監(jiān)測(cè)研究篇與應(yīng)用篇
目前,IP綜合網(wǎng)管系統(tǒng)已實(shí)現(xiàn)了基于IP的網(wǎng)絡(luò)設(shè)備的拓?fù)涔芾?、性能和告警等多?xiàng)指標(biāo)的管理,功能非常強(qiáng)大,但在實(shí)際使用過程中發(fā)現(xiàn)由于接入層設(shè)備種類繁雜,端口數(shù)量也非常多,如果全部由這套系統(tǒng)來管理,會(huì)加重系統(tǒng)的負(fù)荷,造成系統(tǒng)過于龐大,影響實(shí)際使用效果。
當(dāng)網(wǎng)絡(luò)發(fā)生故障時(shí),我們希望能最快地發(fā)現(xiàn)故障、定位故障并解決故障,因此,要對(duì)所有接人設(shè)備進(jìn)行管理,要了解網(wǎng)絡(luò)的詳細(xì)運(yùn)行情況,包括端口數(shù)據(jù)流量(如端口總速率、數(shù)據(jù)包速率)、設(shè)備運(yùn)行性能(如CPU利用率)、網(wǎng)絡(luò)健康狀況(如網(wǎng)絡(luò)時(shí)延)等各項(xiàng)指標(biāo),并將它們直觀地表現(xiàn)出來。
因此一款操作簡單、功能齊全的流量監(jiān)測(cè)軟件將為網(wǎng)絡(luò)管理提供更多的便利,解決網(wǎng)絡(luò)管理人員面臨的諸多技術(shù)問題。MRTG(Multi Router Traffic Grapher)是一個(gè)典型的流量監(jiān)測(cè)工具,由于具有良好的可移植性、可擴(kuò)展性和圖形化界面,同時(shí)還是開放源代碼的免費(fèi)軟件,因此在國際范圍內(nèi)得到了非常廣泛的應(yīng)用。
1 SNMP協(xié)議
簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network ManagementProtocol,SNMP)是基于TCP/IP的互聯(lián)網(wǎng)管理協(xié)議,它是由SGMP協(xié)議發(fā)展而來的。
SNMP定義了傳送管理信息的協(xié)議消息格式及管理站和設(shè)備代理之間進(jìn)行消息傳送的規(guī)程,能對(duì)互聯(lián)網(wǎng)中不同類型的設(shè)備進(jìn)行監(jiān)控和管理。Internet上的SNMP運(yùn)行在TCP/IP協(xié)議族之上,但是其傳輸層協(xié)議采用的是無連接的UDP而不是TCP。
基于SNMP的網(wǎng)絡(luò)管理模型包括四個(gè)關(guān)鍵元素:網(wǎng)絡(luò)管理站(NMS)、管理代理(Agent)、管理信息庫(MIB)和網(wǎng)絡(luò)管理協(xié)議。SNMP采用了C/S模型的特殊形式——代理/管理站模型,對(duì)于網(wǎng)絡(luò)設(shè)備的管理是通過管理工作站與SNMP代理間的交互工作完成的。其工作原理如圖1所示。
Agent是常駐在被管對(duì)象上的軟件,它接收來自NMS的指令和發(fā)送響應(yīng)信息,操作MIB并對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行監(jiān)控和配置。NMS和Agent通過發(fā)送SNMP消息進(jìn)行通信。SNMP協(xié)議提供了Get,Set和Trap三類操作。SNMP協(xié)議利用UDP協(xié)議的161/162端口進(jìn)行通信。
在SNMP中,采用了符合ASN.1(AbstractSyntax Notation)規(guī)范的對(duì)象標(biāo)識(shí)方法OID(ObjectIdentifier),以此來惟一地標(biāo)識(shí)網(wǎng)絡(luò)所需管理的對(duì)象或?qū)ο蠼M。如IP協(xié)議的OID為{1,3,6,1,2,1,4}。
SNMP從產(chǎn)生到現(xiàn)在一共發(fā)展有3個(gè)主版本,分別為SNMPv1,SNMPv2和SNMPv3。其中SNMPv2又分為若干個(gè)子版本,其中SNMPv2c應(yīng)用最為廣泛,它在計(jì)數(shù)時(shí)使用了64位字長,而SNMPv1使用的是32位。
2 MRTG的工作原理及組成
MRTG(多路由器流量圖示器)是一個(gè)基于SNMP協(xié)議的監(jiān)控網(wǎng)絡(luò)流量和主機(jī)資源的開放源代碼的管理工具。它通過SNMP請(qǐng)求得到被監(jiān)控對(duì)象的流量信息,將這些流量信息以PNG格式的圖形表示,并將包含這些圖形的HTML文檔通過Web方式顯示給用戶,非常直觀地顯示流量負(fù)載。
MRTG是用Per1和C編寫的,可以工作在Unix和Windows NT環(huán)境下。MRTG的Perl腳本用以使用SNMP來讀取路由器的流量信息,性能高的C程序則用來記錄負(fù)載數(shù)據(jù),創(chuàng)建代表被監(jiān)控網(wǎng)絡(luò)連接的圖形,這些圖嵌入在Web頁面中。除了獲得每天的詳細(xì)信息之外,MRTG還可以創(chuàng)建前7天、前4個(gè)星期甚至前12個(gè)月內(nèi)網(wǎng)絡(luò)流量的直觀表示。
MRTG主要由4個(gè)模塊組成:
基礎(chǔ)模塊 包括定義SMI要求的數(shù)據(jù)結(jié)構(gòu),并提供相應(yīng)的方法通過SNMP操作獲取被管對(duì)象信息的SNMP模塊和MRTG支持模塊。
日志文件 MRTG使用的日志文件以ASCII文本形式來記錄測(cè)得的流量數(shù)據(jù),日志文件由Rate Up模塊進(jìn)行更新。
日志更新和繪圖工具 在該模塊中,MRTG使用C語言程序來完成日志文件的更新和統(tǒng)計(jì)圖形的生成,與原來用Perl實(shí)現(xiàn)相比,大大提高了效率。
配置和網(wǎng)頁組織工具 MRTG提供了相關(guān)的配置文件生成工具cfgmaker和網(wǎng)頁組織工具indexmaker。通過運(yùn)行cfgmaker,利用SNMP協(xié)議讀取被管設(shè)備中的對(duì)象信息,自動(dòng)生成該設(shè)備的框架配置文件。Index-maker通過讀取配置文件中的Target描述獲得對(duì)象信息,并用這些信息組織成該對(duì)象的HTML頁。
下一節(jié):應(yīng)用篇
【編輯推薦】