作者 主題: [筆記]Windows 2003 Server MRTG 教學  (閱讀 35020 次)

0 會員 與 1 訪客 正在閱讀本文。

paulnet

  • 懷疑的國中生
  • **
  • 文章數: 60
    • 檢視個人資料
[筆記]Windows 2003 Server MRTG 教學
« 於: 2007-06-11 02:11 »
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.讓網頁支援繁體中文顯示

   編輯網頁,改成這段「<meta http-equiv="content-type" content="text/html; charset=big5" >」,即可!

  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


--

zifanhong

  • 懷疑的國中生
  • **
  • 文章數: 34
    • 檢視個人資料
求救
« 回覆 #1 於: 2007-08-15 10:23 »
1.我在CFGMAKER這步驟打了下面3行指令, 其他x.x.x.x代表本機IP:  
    perl cfgmaker x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.e1.wan.cfg
    perl cfgmaker x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.peaceisa.wan.cfg
    perl cfgmaker x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.peaceisa.lan.cfg
  其結果正常有過

2.接下來產生index.htm時, 我照打:
    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
  結果出現:
    ERROR: CFG Error in "setenv[192.168.0.121_65539]", line 75: MRTG_INT_IP="192.168.0.121"
    MRTG_INT_DESCR="AMD-PCNET-Family-PCI-Ethernet-Adapter"MRTG_INT_IP="192.168.0.121"
    MRTG_INT_DESCR="AMD-PCNET-Family-PCI-Ethernet-Adapter" must be XY="dddd" AASD="kjlkj" ...

3.目前找不出原因, 煩請各位大大開示, THX^^

vsqa

  • 可愛的小學生
  • *
  • 文章數: 11
    • 檢視個人資料
    • http://vsqa.net
[筆記]Windows 2003 Server MRTG 教學
« 回覆 #2 於: 2007-08-19 12:29 »
很詳細教學,謝謝分享
url=http://vsqa.net/]VSQA 程式設計社群[/url]
提供.NET 技術資訊之社群,包括 Visual Studio , C# , VB.NET , ASP.NET , VB.NET , 免費部落格申請

saint777777

  • 懷疑的國中生
  • **
  • 文章數: 34
    • 檢視個人資料
[筆記]Windows 2003 Server MRTG 教學
« 回覆 #3 於: 2007-08-24 13:36 »
真的很詳細~非常的有心
幫你推一下..................................
^^~

eose

  • 活潑的大學生
  • ***
  • 文章數: 499
  • 性別: 男
    • 檢視個人資料
[筆記]Windows 2003 Server MRTG 教學
« 回覆 #4 於: 2007-08-31 18:01 »
感謝分享,我那天一定會用的到的:)

watgo

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
[筆記]Windows 2003 Server MRTG 教學
« 回覆 #5 於: 2007-09-17 11:21 »
感謝你的分享喔
我想在請問一下
要是 我MIB值 還有 OID 都變過了
那應該要怎麼去設定呢

mmmnnnbbb

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #6 於: 2008-05-01 15:38 »
請問大大我發生跟小學生大大以前一樣的問題
must be XY="dddd" AASD="kjlkj"
但是我在網路上各論壇都找不到方法
可以的話請您指導一下小弟
感激不盡

acty

  • 鑽研的研究生
  • *****
  • 文章數: 694
    • 檢視個人資料
    • UNIX 管理者的學習紀錄
回覆: 求救
« 回覆 #7 於: 2008-05-01 21:44 »
1.我在CFGMAKER這步驟打了下面3行指令, 其他x.x.x.x代表本機IP:   
    perl cfgmaker x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.e1.wan.cfg
    perl cfgmaker x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.peaceisa.wan.cfg
    perl cfgmaker x.x.x.x --global "WorkDir: C:\InetPub\wwwroot\mrtg" --output mrtg.peaceisa.lan.cfg
  其結果正常有過
cfgmaker 重做吧

是 public@x.x.x.x 而不是 x.x.x.x
前面要有 community string
~~破窗計畫來囉~~~

學習與挑戰是我的樂趣... HIT!!
我知道的不多  但歡迎大家以起來討論

UNIX 管理者的學習紀錄 - http://actychen.wordpress.com

mmmnnnbbb

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #8 於: 2008-05-02 00:00 »
明天到公司在試試看  再立即回復結果
感謝您的教導~

mmmnnnbbb

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #9 於: 2008-05-02 11:06 »
大大我要整合成 index.html
C:\mrtg\bin>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

ERROR: CFG Error in "setenv[10.50.119.98_2]", line 75: MRTG_INT_IP="10.50.119.98
" MRTG_INT_DESCR="Intel(R)-PRO/100-VE-Network-Connection---Packet-Scheduler-Mini
port"MRTG_INT_IP="10.50.119.98" MRTG_INT_DESCR="Intel(R)-PRO/100-VE-Network-Conn
ection---Packet-Scheduler-Miniport" must be XY="dddd" AASD="kjlkj" ...

到這邊又卡住了  請您有空閒再指導一下小弟

mmmnnnbbb

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #10 於: 2008-05-02 13:42 »
謝謝各位大大小弟已解決問題所在
我預設是只要看我本機的流量
但我只有一張網卡
因為多加了其他的cfg 檔到index.html
所以才會一直說顯示錯誤訊息
解決嚕~~~
學員真是一個好地方~~~
謝謝大家無私的教導

acty

  • 鑽研的研究生
  • *****
  • 文章數: 694
    • 檢視個人資料
    • UNIX 管理者的學習紀錄
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #11 於: 2008-05-02 17:42 »
謝謝各位大大小弟已解決問題所在
我預設是只要看我本機的流量
但我只有一張網卡
因為多加了其他的cfg 檔到index.html
所以才會一直說顯示錯誤訊息
解決嚕~~~
學員真是一個好地方~~~
謝謝大家無私的教導

難怪   你的錯誤訊息
MRTG_INT_DESCR="Intel(R)-PRO/100-VE-Network-Connection---Packet-Scheduler-Mini
port"MRTG_INT_IP
="10.50.119.98"
port"MRTG 居然會沒有空格
~~破窗計畫來囉~~~

學習與挑戰是我的樂趣... HIT!!
我知道的不多  但歡迎大家以起來討論

UNIX 管理者的學習紀錄 - http://actychen.wordpress.com

mmmnnnbbb

  • 可愛的小學生
  • *
  • 文章數: 29
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #12 於: 2008-05-05 15:05 »
謝謝謝謝
由衷的謝謝
解決我的困擾~~
大大們都太偉大嚕~~

phoebe_9

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #13 於: 2008-06-16 17:31 »
ERROR: CFG Error in "setenv[x.x.x.x_65539]", line 75: MRTG_INT_IP="x.x.x.x
" MRTG_INT_DESCR="Broadcom-NetXtreme-Gigabit-Ethernet-#2"MRTG_INT_IP="x.x.x.x
" MRTG_INT_DESCR="Broadcom-NetXtreme-Gigabit-Ethernet-#2" must be XY="dddd" AASD
="kjlkj" ...

不懂空格怎麼不會跑出來? 我是直接用copy 網頁上命令的指令,有改自己要用的ip然後在貼上命令提示字元那,還是一樣也會卡在這裡。
請大大們能幫忙解決嗎?

Osama1922

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #14 於: 2008-12-28 08:49 »
感謝大大的文章
小弟目前想懂MRTG

raxinchao

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #15 於: 2009-08-05 11:22 »
ERROR: CFG Error in "setenv[x.x.x.x_65539]", line 75: MRTG_INT_IP="x.x.x.x
" MRTG_INT_DESCR="Broadcom-NetXtreme-Gigabit-Ethernet-#2"MRTG_INT_IP="x.x.x.x
" MRTG_INT_DESCR="Broadcom-NetXtreme-Gigabit-Ethernet-#2" must be XY="dddd" AASD
="kjlkj" ...

不懂空格怎麼不會跑出來? 我是直接用copy 網頁上命令的指令,有改自己要用的ip然後在貼上命令提示字元那,還是一樣也會卡在這裡。
請大大們能幫忙解決嗎?

你試試看一個一個interface加進去呢,我是改成一個一個interface加進去後 就可以了,沒有一次加三個

jonathan_lwo

  • 活潑的大學生
  • ***
  • 文章數: 320
    • 檢視個人資料
Re: 回覆: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #16 於: 2012-05-24 16:26 »
大大我要整合成 index.html
C:\mrtg\bin>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


請大大有空也指導一下小弟…
出現下面錯誤:
can't open perl script 'indexmaker' :no such  file or directory

不好意思…
我知道問題了
進入c:\mrtg...\bin 下的目錄執行就可以了
« 上次編輯: 2012-05-24 16:49 由 jonathan_lwo »

jonathan_lwo

  • 活潑的大學生
  • ***
  • 文章數: 320
    • 檢視個人資料
Re: [筆記]Windows 2003 Server MRTG 教學
« 回覆 #17 於: 2012-05-31 16:55 »
再請問一下
如果我要監測的是windows 2003
要如何指定SNMP代理和SNMP管理站中使用的口令為「public」呢?