MRTG FORWINDOWS 安裝指南
MRTG(MultiRouter Traffic Grapher),通常講是一個監控網絡鏈路流量負載的開源軟件,它可以從所有運行SNMP協議的設備上(包括服務器、路由器、交換機等)抓取信息。事實上它不僅可以監控網絡設備,任何其它的支持SNMP協議的設備都可以做爲MRTG的監控對象,並自動生成包含PNG圖形格式的HTML文檔,通過HTTP 方式顯示給用戶。官方的安裝指導:http://mrtg.cs.pu.edu.tw/doc/mrtg-nt-guide.en.html
一、準備環境
安裝之前,除了MRTG安裝程序外,還要下載幾個輔助軟件。這些軟件全部是免費的。
1. 下載MRTG http://www.mrtg.org
2.下載ActivePerl http://www.activestate.com/Produ... .plex?id=ActivePerl
3. 下載Windows服務安裝工具:SERANY.exe和 INSTSRV.exe 百度搜索下載
二、開始安裝
1. 安裝ActivePerl
解壓ActivePerl的包,在安裝目錄中找到install.bat文件,運行它即可。在DOS窗口中,安裝程序會問一些問題,諸如安裝路徑、是否要修改環境變量等,可以全部使用缺省設置,一路回車就行了。缺省情況下Perl安裝在C:\Perl目錄下。完成安裝後,打開Windows的環境變量檢查一下是否增加了Perl的運行文件路徑。
2. 安裝MRTG
解壓MRTG的包,我用的是MRTG-2.17.4版本。將解壓後的目錄移到C:\下就行了。
3.安裝SNMP協議
(1)、給Windows安裝SNMP協議支持
通常由於SNMP是一個建議關閉的協議(因爲有安全漏洞),所以Windows 2012不是缺省安裝的。不過MRTG就是要用SNMP協議,有什麼辦法呢,就裝一個吧。在“控制面板->增加/刪除程序->Windows 組件安裝”中,安裝SNMP的組件。(打開"Windows 組件嚮導"-->在“組件”中,單擊“管理和監視工具”(但是不要選中或清除其複選框),然後單擊“詳細信息”。選中“簡單網絡管理協議”複選框,然後單擊“確定”。)
(2)、修改SNMP的安全設置
如果被監控的機器上也跑Windows的話,這部分就一定要設置(要在被監控方設置,MRTG所在服務器可以不用設置),否則永遠也收不到SNMP的消息。
打開Services窗口並找到SNMP服務,打開右鍵菜單,選擇屬性。在打開的窗口中找到“安全”選項頁。在選項頁中有兩部分設置,上半部分是指 SNMP服務接受哪種Community指示字,缺省情況下Windows 2003不對任何指示字反饋。我一般都設爲“public--READONLY”。下半部分可以設置可信任的主機名、IP或是IPX名稱。
(3)、修改防火牆
如果你安裝了防火牆,要記得打開UDP 161端口,否則也會問題多多。
四、運行MRTG
好了,總算安裝完了。現在可以運行一下MRTG了,看看它的廬山真面目。
打開DOS窗口,首先進入C:\mrtg\bin,然後輸入以下命令:
perl cfgmaker [email protected] "WorkDir: C:\Inetpub\wwwroot\mrtg" --output mrtg.cfg
這條命令是給MRTG建立一個監控配置文件,監控的對象是交換機192.168.1.251IP地址,就是本地機器。你也可以用IP地址來代替localhost,或者指向其它的監控主機。(注意:上面這行命令中WorkDir: 與C:盤符之間要有空格!!! 另外C:\Inetpub\wwwroot\mrtg這個目錄也可以換成其它目錄,不過因爲mrtg會在這個工作目錄下生成統計圖表和網頁,所以一般指定爲某個站點下的目錄,以方便直接從網上查看統計數據)
再鍵入一個命令:
perl mrtg mrtg.cfg
這個命令會在C:\Inetpub\wwwroot\mrtg目錄下建立一些HTML和PNG文件,這些文件就是用戶通常看到的流量報表了。
使MRTG成爲Windows的服務
SERANY.exe和INSTSRV.exe這兩個程序是Windows自帶的工具的軟件。它們可以把任何一個Windows的應用程序安裝成爲Windows的一個服務。
(1)、修改註冊表
創建一個文本文件,在文件中寫入以下內容,並保存爲mrtg.reg文件:
WindowsRegistry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters]
"Application"="c:\\perl\\bin\\wperl.exe"
"AppParameters"="c:\\mrtg\\bin\\mrtg--logging=eventlogc:\\mrtg\\bin\\mrtg.cfg"
"AppDirectory"="c:\\mrtg\\bin\\"
(2)、安裝服務
把SERANY.exe,instsrv.exe複製MRTG的安裝目錄下,鍵入以下命令:
instsrv MRTGc:\mrtg\bin\srvany.exe
雙擊mrtg.reg文件,把相關信息註冊到註冊表中。在“控制面板->管理工具->Services”下運行名爲MRTG的服務即可。
默認情況下每5分鐘mrtg收集一次數據(注意:一定要在mrtg.cfg配置文件最後一行加上RunAsDaemon: yes)
Windows本機操作步驟:
cd c:\mrtg\bin\
1、instsrv mrtgc:\mrtg\bin\srvany.exe
2、perl cfgmaker [email protected] [email protected] --global"WorkDir: C:\Inetpub\wwwroot\mrtg" --global "Options[_]:growright,bits" --ifref=ip --output mrtg.cfg
3、perl indexmaker mrtg.cfg> c:\inetpub\wwwroot\mrtg\index.html
4、perl mrtg mrtg.cfg
保持MRTG後臺運行
如果想MRTG在後臺運行,可以在mrtg.cfg文件的末尾添加RunAsDaemon: yes。然後在控制檯輸入
上面的啓動命令:perl mrtg mrtg.cfg,打印:
Daemonizing MRTG ...
Do Not close this window. Or MRTG willdie
說明程序啓動成功,但是不能關閉控制檯窗口,可以可以用下面的命令替代:
wperl mrtg --logging=eventlog mrtg.cfg
這樣不會在控制檯返回任何信息,要怎麼確認程序是否真的啓動呢?Ctrl+Shift+Esc打開任務管理器,看看是否有wperl.exe(Perl Command Line Interpreter)啓動了,如果有,MRTG就會每5分鐘運行一次。
如果想關閉,找到wperl.exe程序結束任務即可。