MRTG—網絡監控工具

      最近一段時間在研究後臺服務器測試技術,需要對後臺服務器的各項性能指標進行實時監控和統計,也由此讓我回想起之前公司曾經接觸過的一個服務SNMP,SNMP是一種稱之爲簡單網絡管理協議的服務,主要是用於獲取系統的流量、I/O、CPU、Memory和Disk等信息,通過自帶的統計功能,將信息發送於監控程序上,最後以統計報表的形式展現於管理員,這種方式正是我所要的。於是通過一翻查找,發現了一款免費的開源工具,那就是MRTG,稱之爲網絡監控工具。它可用於windows和linux平臺,當然對於這些個開源的支持,linux相應的還是要爲windows強,因爲只有開源平臺才能更好的支持開源項目的發展。對於linux的版本支持,基本上都沒有問題,但是對於MRTG在windows上的支持,那可就需要摸索了,目前我試用過的基本有windows server 2003和windows xp,下面我將以xp系統來演示MRTG的安裝和配置流程。

  首先,來介紹一下MRTG的軟件平臺支撐需求如下:

1、Perl平臺的支持,因爲MRTG是Perl語言開發的,所以需要安裝ActivePerl,下載地址如:http://downloads.activestate.com/ActivePerl/Windows/,當然了安裝過程很簡單,基本默認就ok了,安裝目錄Perl在C盤根目錄下。

2、IIS服務,這個並不是必須的,但是爲了方面瀏覽最後生成的報表,因爲報表都是Html格式的,爲了實時且可以遠程訪問這個頁面,所以需要IIS服務來支持其web頁面的瀏覽。

3、SNMP服務,這個組件是必須的,不管是監控或者是被監控設備都必須要安裝該組件,一般在控制面板的“添加刪除組件”中找到系統監控選項,然後選擇簡單網絡管理協議組件安裝就ok,一般安裝需要系統光盤的支持,所以這裏就不多介紹了。

4、MRTG,這個工具的下載地址爲:http://oss.oetiker.ch/mrtg/download.en.html,這裏有linux和windows版本的都有,格式略有不同,請注意這裏下載的windows版本的格式爲zip格式的。關於版本號的選擇,本人在安裝過程中遇到了一些問題,稍後在安裝過程中給出說明。

  其次,開啓並設置SNMP服務,在安裝好SNMP組件之後,在服務列表中可以找到如下兩個服務程序如下圖所示:

     

      

如上有SNMP Service和SNMP Trap Service這兩個服務,其中SNMP Service是主服務,而SNMP Trap Service是一個Trap工具,也就是抓取工具,獲取Service的信息。接下來我們需要配置SNMP,如圖所示:

     

選擇SNMP Service,右鍵選擇屬性,在屬性框中切換到安全對話框,這裏如上圖所示默認勾選“發送身份驗證陷阱”,下面的接受團體名稱爲public,通常情況這裏建議不用系統默認的關鍵字,至於這個關鍵字的作用,後面配置MRTG的時候將會說明,重新添加一個團體名稱,區別於public就可以,權利可以附加只讀和創建兩個即可。然後在下面可以看到關於哪些主機的SNMP信息,這裏需要根據實際情況來設定,一般請指定特定的主機地址,添加IP地址即可。關於SNMP的服務配置就這些了,因爲這裏只是介紹MRTG的工具使用,稍後有機會再詳解SNMP應用。

  第三,配置IIS應用服務器,這裏主要是爲MRTG建立一個文件夾,用於存放監控數據文件的地方,還有就是配置web頁面的瀏覽。通常在安裝完IIS應用之後會在C盤有如此目錄c:/Inetpub/wwwroot/,在此目錄下新建一個文件夾爲mrtg作爲mrtg的服務目錄,然後在默認網站下新建一個站點,目錄指向mrtg,這樣就可以通過遠程訪問到mrtg下的web頁面了。

  第四,安裝和配置MRTG,這裏關於安裝MRTG的版本問題需要說明,之前我在安裝部署mrtg.2.16.2.zip之後,運行perl命令時提示一些錯誤,這裏沒有記錄,所以需要說明的是,2.16.2版本是有bug的,最後選擇了2.17.2版本之後就很順利完成了,下面將2.17.2的版本直接解壓,將解壓的文件夾放到C盤根目錄下,然後可以在windows下dos命令行下開始配置和執行MRTG,如下所示:

      

將命令行切換到mrtg的bin目錄下,也就是可執行命令模式下。接下來就需要去指定需要監控的主機地址等相關信息,在bin目錄執行如下命令:

  C:/mrtg-2.17.2/bin/perl cfgmaker [email protected] --global "workdir: c:/Inetput/wwwroot/mrtg" --output "c:/Inetput/wwwroot/mrtg/pc.cfg" 然後直接回車即可,這裏要說明的是perl是執行平臺腳本,cfgmaker是mrtg的命令,[email protected]中public就是SNMP Service中配置的接受團體名稱,這裏不建議使用public,@後面是IP地址;workdir是指定工作目錄,而output是指定生成配置文件的輸出目錄,最後生成的配置文件以cfg後綴格式。這樣就已經配置好了監控的那臺主機的配置服務。

  然後,需要生成一個web頁面來顯示當前監控的信息,命令行如下:

     C:/mrtg-2.17.2/bin/perl indexmaker c:/Inetput/wwwroot/mrtg/pc.cfg>c:/Inetput/wwwroot/mrtg/index.html ,執行這個命令後就可以在mrtg目錄下看到index.html文件了。

      最後運行監控命令如下:

      C:/mrtg-2.17.2/bin/perl mrtg --logging=c:/Inetput/wwwroot/mrtg/pc.log c:/Inetput/wwwroot/mrtg/pc.cfg,運行這個命令之後就可以在dos屏幕下看到有數據信息在滾動,說明SNMP已經在發送和接受信息了,這個時候可以在本地瀏覽器或者遠程流程上訪問當前的IIS服務,訪問index.html頁面,查看流量信息,默認是5分鐘發送一次信息,如下圖所示:

      

 

通常情況下監控一臺主機只顯示一個曲線報表,但是由於監控的主機上運行有一個虛擬機,而且本次應用就是通過虛擬機來演示的,所以對應有虛擬出來的本地連接也會被默認監控到,如果想去掉也可以,只需要在生成的cfg配置文件就更改就ok了,點擊上面的單個圖表可以進去詳細的分析頁面,分別有每日、每週、每月和每年的統計信息,直到這個監控服務被關閉爲止,將清楚所有的流量統計信息。關於mrtg的更多應用,將在後續中繼續發佈。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章