close
MRTG網路流量統計一直是很多網管的好工具,除了網路流量外,
還能應用在「CPU、RAM」負載上,這類大多都應用在 Linux平台
上。第一次實作應用在 Windows平台,果然吃了好幾記悶棍....





【實做平台】

系統〈MRTG〉:Windows 2003 Server SP2 + IIS + ISA Server 2004
系統〈client〉:Windows 2003 Server SP1
網路:3 張網卡〈不同網段〉


【所需軟體】

1.ActivePerl v5.8.8.820
 官方網站: http://www.ActiveState.com/
 軟體下載: http://0rz.tw/3c2L8

2.Mrtg-2.15.2
 官方網站: http://oss.oetiker.ch/mrtg/
 Windows : http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html
 軟體下載: http://oss.oetiker.ch/mrtg/pub/mrtg-2.15.2.zip

3.Windows Server 2003 Resource Kit Tools
 官方網站: http://www.microsoft.com
 軟體下載: http://0rz.tw/f12ID


【軟體安裝】

※ 安裝 IIS 服務

   1.控制台 → 新增或移除程式 → 新增/移除 Windows 元件

    

   2.點選「Application Server」 → 詳細資料

    

   3.勾選「網際網路資訊服務(IIS)」 → 確定
    同時會勾選起 「啟用網路 COM+」 存取 服務

    


※ 安裝 SNMP 服務

   1.控制台 → 新增或移除程式 → 新增/移除 Windows 元件

   2.點選「Management and Monitoring Tools」 → 詳細資料

    

   3.勾選「Simple Network Management Protocol」 → 確定

    


※ 安裝 ActivePerl v5.8.8.820 〈安裝會有點久,請耐心等待至安裝結束〉

   1.安裝採預設安裝即可。

   2.檢查 C:\Perl\bin 是否已在系統路徑。

    

   3.如果沒有,請開啟 控制台 → 系統 → 進階 → 環境變數,
    編輯「Path」,加入「C:\Perl\bin」。


※ 解壓縮 mrtg-2.15.2.zip,至 C:\mrtg-2.15.2

※ 安裝 Windows Server 2003 Resource Kit Tools 〈預設安裝即可〉

※ 安裝完成後,請先重開機。



【組態設定】


※ 設定 SNMP 服務

  1.開啟 控制台 → 系統管理工具 → 服務 → SNMP Service → 右鍵「內容」

   

  2.點選「安全性」 → 新增

  3.輸入「public」、選擇「唯讀」 → 新增

   

   註:假若您有多張網卡,為了避免發生 SNMP 錯誤,請手動新增網卡IP

  4.點選「從下列主機接受 SNMP 封包(T)」→ 新增 → IP

   

   註:請將欲偵測的主機IP都加上,避免出現 SNMP 錯誤。
   

※ IIS 新增 MRTG 安裝路徑

  1.開啟 CMD 提示命令列,輸入「cd C:\Inetpub\wwwroot\」

  2.輸入「md mrtg」

   


※ ISA Server 設定,開啟 SNMP 服務。

  1.開啟 ISA Server → Firewall Policy → New → Access Rule

  2.輸入「SNMP」 → 下一步

   

  3.點選「Allow」 → 下一步

   

  4.This rule applies to: → 選擇「Selected protocols」 → Add

  5.點選「All Protocols」 → 點選「SNMP」 → Add → 下一步

   

  6.Add → Networks → 點選「Local Host」 → 下一步

   

  7.Add → Networks → 點選「Local Host」、「Internal」、「External」→下一步

   

  8.All Users → 下一步

   

  9.完成

   

  10.最後別忘了「套用」至 Firewall Policy 的規則。

   註:防火牆設定須將內外規則設定正確,外對內設定就不多做示範。


※ MRTG 設定

  1.開啟 CMD 提示命令列,輸入「cd mrtg-2.15.2\bin」

  2.輸入「perl cfgmaker public@x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.e1.wan.cfg」
     「perl cfgmaker public@x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.peaceisa.wan.cfg」
     「perl cfgmaker public@x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.peaceisa.lan.cfg」

   

   註:﹝x.x.x.x﹞ 欲偵測的網卡 IP 位置
     ﹝C:\InetPub\wwwroot\mrtg﹞ MRTG 網頁存放的位置

   若無任何錯誤訊息表示,您已順利完成該步驟。

  3.編輯剛產生的 mrtg.e1.wan.cfg、mrtg.peaceisa.wan.cfg、mrtg.peaceisa.lan.cfg ﹝C:\mrtg-2.15.2\bin\﹞

   ## 取消註解,圖示由右往左,單位為 bits
   Options[_]: growright, bits

   ## 新增,參數顯示中文
   Language: big5

   ## 新增,背景作業
   RunAsDaemon: yes

  4.產生網頁 index.html 檔

   輸入「perl indexmaker \
      --output C:\InetPub\wwwroot\mrtg\index.html \
      --title=CG.Traffic.Analysis mrtg.e1.wan.cfg mrtg.peaceisa.wan.cfg mrtg.peaceisa.lan.cfg」

   

   在 MS-DOS 提示命令列 請將指令連起來執行。

  5.繪製圖檔〈執行一直到沒有錯誤為止〉

   輸入「perl mrtg mrtg.e1.wan.cfg」
   輸入「perl mrtg mrtg.peaceisa.wan.cfg」
   輸入「perl mrtg mrtg.peaceisa.lan.cfg」

   

  6.MRTG 五分鐘畫一次流量

   輸入「start /Dc:\mrtg-2.15.2\bin wperl mrtg --logging=eventlog mrtg.e1.wan.cfg」
   輸入「start /Dc:\mrtg-2.15.2\bin wperl mrtg --logging=eventlog mrtg.peaceisa.wan.cfg」
   輸入「start /Dc:\mrtg-2.15.2\bin wperl mrtg --logging=eventlog mrtg.peaceisa.lan.cfg」

  7.登入系統後自動執行以每五分鐘計算流量

   mrtg.bat

   start /Dc:\mrtg-2.15.2\bin wperl mrtg --logging=eventlog mrtg.e1.wan.cfg
   start /Dc:\mrtg-2.15.2\bin wperl mrtg --logging=eventlog mrtg.peaceisa.wan.cfg
   start /Dc:\mrtg-2.15.2\bin wperl mrtg --logging=eventlog mrtg.peaceisa.lan.cfg

   將 mrtg.bat 放置啟動區即可!

  8.讓網頁支援繁體中文顯示

   編輯網頁,改成這段「」,即可!

  9.IIS 支援 index.html 讀取

   ※ 開啟 控制台 → 系統管理工具 → 網際網路資訊服務 (IIS) 管理員

   ※ 點選 網站 → 預設網站 → mrtg → 按「右鍵」→ 內容

   

   ※ 文件 → 新增 → 「index.html」 → 確定 → 套用 → 確定

   

   註:若 ISA Server 沒有開放連結 IIS,別忘加筆規則,即可透過外部查看流量。


※ 自訂 Windows 服務

  前面提到 mrtg.bat 登入才會自動執行 MRTG 偵測服務,假若碰到電腦重開,
  MRTG 則立即失效,可透過自訂 Windows 服務的方式,讓 MRTG 再重開機後,
  仍正常偵測。

  註:若您要使用這項服務, mrtg.bat 記得先從啟動區移除。


  Windows Server 2003 Resource Kit Tools 裡有附上這兩支小工具。

  〈InstrSrv.exe 可從 Windows 安裝或移除系統服務,
   SrvAny.exe 任何 Windows 應用程式作為服務程式執行。〉


  1.將 srvany.exe & instsrv.exe Copy 至 MRTG 目錄 ﹝c:\mrtg-2.15.2\bin﹞

  2.新增 mrtg.reg 的登錄檔

   Windows Registry Editor Version 5.00

   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG\Parameters]
    "Application"="C:\\Perl\\bin\\wperl.exe"
    "AppParameters"="C:\\mrtg-2.15.2\\bin\\mrtg --logging=eventlog c:\\mrtg-2.15.2\\bin\\mrtg.e1.wan.cfg"
    "AppDirectory"="C:\\mrtg-2.15.2\\bin"

   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mrtgpiw\Parameters]
   "Application"="C:\\Perl\\bin\\wperl.exe"
   "AppParameters"="C:\\mrtg-2.15.2\\bin\\mrtg --logging=eventlog c:\\mrtg-2.15.2\\bin\\mrtg.peaceisa.wan.cfg"
   "AppDirectory"="C:\\mrtg-2.15.2\\bin"

   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mrtgpil\Parameters]
   "Application"="C:\\Perl\\bin\\wperl.exe"
   "AppParameters"="C:\\mrtg-2.15.2\\bin\\mrtg --logging=eventlog c:\\mrtg-2.15.2\\bin\\mrtg.peaceisa.lan.cfg"
   "AppDirectory"="C:\\mrtg-2.15.2\\bin"

  3.MS-DOS 提示命令列 新增服務名稱

   輸入「c:\mrtg-2.15.2\bin\instsrv.exe mrtge1w c:\mrtg-2.15.2\bin\srvany.exe」
   輸入「c:\mrtg-2.15.2\bin\instsrv.exe mrtgpiw c:\mrtg-2.15.2\bin\srvany.exe」
   輸入「c:\mrtg-2.15.2\bin\instsrv.exe mrtgpil c:\mrtg-2.15.2\bin\srvany.exe」

   

   註:三筆自訂服務,為的是要處理三個不同網段的流量偵測,只需要將服務另外命名,
     且注意 srvany.exe & instsrv.exe 存放的位置,看到下面畫面表示服務新增成功。

  4.執行 mrtg.reg 登錄檔

   

   註:切記!必須按照步驟先使用 instsrv.exe 新增自訂服務,
     再新增登錄檔,否則會有錯誤訊息出現。

  5.啟動自訂服務

   ※ 控制台 → 系統管理工具 → 服務

   

   ※ 啟用服務

   

  6.若想移除這些自訂服務,請在 MS-DOS 提示命令列 移除

   輸入「c:\mrtg-2.15.2\bin\instsrv.exe mrtge1w remove」
   輸入「c:\mrtg-2.15.2\bin\instsrv.exe mrtgpiw remove」
   輸入「c:\mrtg-2.15.2\bin\instsrv.exe mrtgpil remove」

   註:移除時,請特別注意,instsrv.exe 也可以刪除某些服務,使用時請特別小心,
     別將其他系統服務刪除。



【實作筆記】

以上教學透過Windows實作MRTG,跟Linux實作差不多,假若說有什麼要特別注意的地方,
應該是SNMP服務的安全性設定,不管是統計流量端或被偵測端,記得要「public」、「從
下列主機接受 SNMP 封包」設定再次確認。否則,可能在一開始安裝MRTG就會出現錯誤訊
息了。假若有防火牆的限制,也別忘了開啟對內、對外的規則,再加上index.html 編輯,
就能做出適合瀏覽的流量統計。



【Windows 2003 Server MRTG PDF Download】

 Download :

   Windows 2003 Server MRTG PDF



【參考資料】

MRTG 官網‧http://oss.oetiker.ch/mrtg/doc/mrtg-nt-guide.en.html
鳥哥私房菜‧http://linux.vbird.org/linux_security/old/04mrtg.php
EETo工作坊‧http://www.eeto.net/MrtgSnmp-MS/
MAX.TAIWAN‧http://max.idv.tw/wordpress/archives/2004/04/06/16/



投入資訊業驚覺要學習的課題如排山倒海而來,不單單僅是以前
的舊技術,科技不停翻新的前提下,簡單的實作倒也遇上了許許
多多的問題,在旁人看來是如此簡單,問題檔在面前的當下,除
了苦惱之外,還得多份細心。果然,不是「下一步、下一步」如
此簡單而已,只能說「加油」囉!


註:以上教學是小弟的實作教學,提供 PDF供大家參考使用,說
  不定,隔個一兩年這份教學又無效,這也不一定,確定的是
  目前假若應用在 Winodws平台應該是沒有太大的問題才是!


                          Paul

                       2007.06.11
arrow
arrow
    全站熱搜

    paul 發表在 痞客邦 留言(8) 人氣()