MRTG的網絡流量監測研究與應用(應用篇)
3基于MRTG的流量監測的實現與分析
3.1 MRTG的安裝
MRTG是用Perl編寫的,它的運行需要Perl的支持,所以在安裝MRTG之前必須下載并安裝Perl語言。由于MRTG的流量監測是基于Web頁面的,必須安裝Web服務器軟件,在這里選擇了運用非常廣泛的Apache。在安裝MRTG時,選擇了目前比較穩定的版本MRTG-2.12.2。
3.2 MRTG的配置
MRTG的配置是實現對網絡流量監測的關鍵,而MRTG的配置信息都保存在mrtg.cfg文件中,對MRTG的配置實際上就是生成和配置mrtg.cfg文件。
在配置系統之前,需要收集以下信息:被監控設備的IP地址或主機名;如果還想監測除字節流量以外的其他信息,需要知道設備的SNMP OID;最后還要知道所監控設備的SNMP共同體認證名(community string)信息,缺省值是public。
MRTG的配置信息都是保存在mrtg.cfg文件中的,創建該文件并且在其中定義希望的監控特性。一般不需要直接手工編輯該配置文件,因為MRTG軟件包提供有cfgmaker配置工具,根據運行參數可以自動生成mrtg.cfg配置文件。
首先在www服務器的Document Root目錄下創建一個子目錄用來存放MRTG生成的統計文件,這里假設apache是默認安裝,因此Document Root在/var/www/html目錄下創建子目錄mrtg。下面就生成MRTG配置文件:
這里的一global參數表示后面的選項是對后面指定的設備都是有效的(如果希望對多個設備進行監控時,該參數就會發生作用)。WorkDir用來指示MRTG的工作目錄;Options用來指定一些特定的選項,這里的grow-right,bits是用來指定默認options配置的,對于常見的應用來說默認options配置就可以滿足需求了。
3.3設備端口流量監控
可以手工生成配置文件,但對于一般情況,可以使用MRTG自帶的腳本來生成配置文件,如:
前面提到,SNMPv1是使用32位字長進行計數,因此如果采集間隔是5 min,所能正確表示的最大流量應該是:
因此,如果鏈路流量在接近或超過此數值時,計算出來的結果不再準確,這時候便只能使用SNMPv2計數器,在配置MRTG腳本,可以使用public@x.x.x.x.:::::2來指定讀取SNMPv2的MIB值。
3.4 PING時延監控
在進行PING時延監控時,我們使用了另一個Perl腳本mrtg-ping,同時也可以監控丟包率,配置文件如下:
從以上例子可以看出,MRTG的監控對象就是Target語句后的內容,這里可以是SNMP的MIB對象,也可是執行腳本得到的數值。由此可以看到,MRTG監控的可擴充性非常好,可以自己編寫腳本來獲得感興趣的數據,如服務器CPU利用率、內存利用率、磁盤空間、DNS服務器查詢次數、Cache服務器Hit次數、甚至CPU溫度等,MRTG都可將它們用直觀圖表呈現出來。
4結語
綜上所述,MRTG在網絡管理中的應用是非常有效的。我們只要靈活運用SNMP查詢工具、系統狀態檢測工具,配合Per1編寫傳回字符串處理程序,即可完成MRTG的外掛程序,最后再搭配合適的MRTG配置命令即可產生另類實時流量統計圖表。
因此,對MRTG的應用和持續開發,不但可以幫助網絡管理員隨時掌握網絡系統和設備運行狀態,還可以降低企業或組織的網絡設備維護成本。
上一節:研究篇
【編輯推薦】