MRTG—網絡監控工具
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 public@192.168.6.90 --global "workdir: c:\Inetput\wwwroot\mrtg" --output "c:\Inetput\wwwroot\mrtg\pc.cfg" 然后直接回車即可,這里要說明的是perl是執行平臺腳本,cfgmaker是mrtg的命令,public@192.168.6.90中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的更多應用,請看本站其他文章。
【編輯推薦】