Monday, August 31, 2009

The MRTG 2.16.2 Windows Installation Guide

  • รู้สึกว่า หลังๆ เนี๋ยติดตั้ง และ คอนฟิกง่ายมากๆ บน Windows อ่ะนะ
  • ตอนแรก นึกว่าจะ ยุ่งยากอ่ะนะ แต่พอลองทำจริงๆ จะง่ายกว่า MRTG on Ubuntu อีกนะ

PREREQUISITES
  • ไปดาวน์โหลด Perl เวอร์ชั่นล่าสุดก่อนเลย ซึ่งตอนนี้โหลดได้ ActivePerl-5.10.1.1006-MSWin32-x86-291086.msi
http://www.activestate.com/store/activeperl/download/
  • ตามด้วย MRTG เวอร์ชั่นล่าสุดจาก ซื่งในขณะนี้จะเวอร์ชั่น mrtg-2.16.2.zip
http://oss.oetiker.ch/mrtg/pub
  • เราต้องทราบ snmp community string บนเครื่องเป้าหมายที่เราจะทำใช้ MRTG Monitor ซึ่งในที่นี้จะใช้เครื่องตัวเองเนี๋ยแหละ localhost ใช้ cms เป็น public

INSTALLING
  • แตกไฟล์ MRTG ที่เราโหลดมาไปที่ C:\mrtg-2.16.2
  • ติดตั้ง ActivePerl ที่เราโหลดมา แล้วก็ทำการเพิ่ม C:\Perl\bin; เข้าไปใน System path ซะ
[Control Panel]->[System]->[Environment]
  • ทดสอบว่า perl เราที่เพิ่มเข้าไปใน System path ใช้ได้หรือยังโดย cd เข้าไปที่ C:\mrtg-2.16.2\bin สั่งคำสั่ง perl mrtg ถ้าไม่มีปัญหาผลลัพธ์ก็จะได้ประมาณเนี๋ย
c:\mrtg-2.16.2\bin> perl mrtg
Usage: mrtg <config-file>
mrtg-2.16.2 - Multi Router Traffic Grapher
Copyright 1995-2006 by Tobias Oetiker
Licensed under the Gnu GPL.

CONFIGURING MRTG
  • เข้าไปที่ทำงานที่พาธเนี๋ยเลยโดย cd C:\mrtg-2.16.2\bin
  • สร้าง dir ด้วยคำสั่ง md C:\www\mrtg จากนั้นสั่งคำสั่งด้านล่างเพื่อสร้าง cfg ไฟล์ของ localhost คำสั่งเนี๋ยจะหมายถึงประมาณสร้างไฟล์ mrtg.cfg ไว้ที่ C:\mrtg-2.16.2\bin ซึ่งในคอนฟิกมีการกำหนดค่า C:\www\mrtg ไว้สำหรับเมื่อเราทำการสร้าง png, log, html จะไปวางที่พาธเนี๋ยซึ่งเราต้องสร้าง virtual host ชี้มาที่นี่ด้วย
c:\mrtg-2.16.2\bin> perl cfgmaker public@localhost --global "WorkDir: c:\www\mrtg" --output mrtg.cfg
  • เปิดไฟล์ mrtg.cfg ขึ้นมาแก้ไขเล็กน้อยเพื่อความสวยงานของ png โดยทำการเพิ่มบรรทัดด้านล่างไว้ ด้านล่าง ### Global Config Options ซึ่งจะเป็นบริเวณตั้ง option เค้าอ่ะนะ ซึ่งจะอยู่บน html tag ซึ่ง WorkDir: c:\www\mrtg และ RunAsDaemon: yes เราสามารถวางไว้ข้างล่าง html tag ได้ แต่ Options[_]: growright, bits หรือ options อื่นๆ เราต้องวางไว้ก่อน html tag เสมอนะจะบอกให้ ในที่นี้ Options[_]: growright, bits เป็นการสร้าง กราฟ png โดยให้ลูกศรชี้ไปทางขวา และ แกน Y หน่วยกำหนดให้ใช้ bit ซึ่งปกติถ้าเราไม่ใส่ กราฟจะชี้ไปทางซ้าย และ หน่วยแกน Y เป็น Byte ซึ่งไม่ค่อยสวยอ่ะ
WorkDir: c:\www\mrtg
Options[_]: growright, bits
RunAsDaemon: yes
* บางทีเราสั่ง perl cfgmaker ... แล้วไม่ได้ไฟล์ cfg ที่เรากำหนดอาจเป็นเพราะว่า community string ผิดหรือ remote snmp ไม่ได้ ต้องตรวจสอบ
  • หลังจากสร้าง cfg และปรับแต่งแหละ ต่อไปเราจะสร้าง html, png, log ด้วยคำสั่ง ด้านล่างซึ่งผลของคำสั่งด้านล่างจะได้ไฟล์ซึ่งจะอยู่ใน c:\www\mrtg ที่เราได้กำหนดไว้ในคอนฟิกไฟล์ไง และ กราฟจะถึงวาดใหม่ทุกๆ 300 วินาที ( 5 นาที) ซึ่งเป็นผลของ RunAsDaemon: yes นั่นเอง ซึ่งถ้าเราไม่ใส่ RunAsDaemon: yes กราฟจะไม่มีการวาดใหม่ (เราสามารถสั่งโดยใช้ perl แทน wperl ก็ได้ แต่ในที่นี้แนะนำให้ใช้ wperl)
c:\mrtg-2.16.2\bin> wperl mrtg --logging=eventlog mrtg.cfg
  • ทำการสร้าง index.html ไฟล์ซะหน่อยด้วยคำสั่งด้านล่าง ขี้เกียจอธิบาย จบ
c:\mrtg-2.16.2\bin> perl indexmaker --output=C:\www\mrtg\index.html --columns=1 mrtg.cfg
  • MRTG เราใช้ได้แหละ ต่อมาก็แค่กำหนด virtual host ให้ IIS หรือ web server ที่เราใช้ให้ชี้ไปที่ C:\www\mrtg\ แค่เนี๋ย
Tips
  • การสร้าง MRTG กราฟด้านบนเป็นการสร้างการแสดง Traffic นะซึ่ง CPU Load และ Memory Used ก็สามารถสร้างกราฟได้เช่นกันแต่ คนเขียนทำไม่เป็น
  • เมื่อมีการ shutdown เครื่องและบูตเครื่องใหม่ MRTG จะไม่ทำงานอัตโนมัตินะ ถ้าต้องการให้ทำเอง อัตโนมัติเราก็จะต้องสร้าง bat หรือ cmd ไฟล์ โดยในไฟล์ให้เขียนคำสั่ง
wperl c:\mrtg-2.16.2\bin\mrtg --logging=eventlog mrtg.cfg
  • เพิ่มเข้าไปใน startup folder (จะทำการเมื่อมีการ logon เข้าระบบ) หรือ สร้าง bat ไฟล์แล้วเพิ่มเข้าไปใน task schedule ก็น่าจะได้เหมือนกัน (ไม่เคยลอง) แต่แนะนำทำเป็น windows service น่าจะเหมาะที่สุดนะ
  • การใช้ wperl จะไม่มี console window ขึ้นมานะแต่ perl จะมี console ขึ้นมา เค้าว่างั้น
If you use wperl instead of perl, no console window will show. MRTG is now running in the background. If it runs into problems it will tell you so over the EventLog. To stop MRTG, open the Task Manager and terminate the wperl.exe process. If mrtg has anything to tell you these messages can be found in the event log.
  • การคอนฟิก หรือ การใช้ cfgmaker , indexmaker เราสามารถใช้ wperl แทน perl ก็ได้นะ แต่เราจะไม่เห็น ผลจากการสั่งว่าสำเร็จหรือป่าว ใน console อ่ะนะ
  • อีกทางเลือกในการสั่ง MRTG ทำการอัตโนมัติคือ ทำ service ให้ perl หรือ wperl ดิด้วย FireDaemon
  • อีกเรื่องที่อยากบอกคือ MRTG จะสร้าง png, html, log ใหม่ทุกๆ 5 นาที เราสามารถตั้งค่าให้นานกว่านี้ก็ได้โดยเพิ่ม options บางอย่างเข้าไปใน cfg ไฟล์โดยใส่เป็นตัวเลขวินาที แต่เราไม่สามารถตั้งในน้อยกว่า 5 นาทีได้นะเท่าที่เคยทำมา จนถึงตอนเนี๋ย หรือว่าเราทำไม่เป็นหว่า ^^' มั่วไปเรื่อย
  • ลืมบอกอีกเรื่อง คือ ในที่นี้ทดสอบเปิด service snmp บน localhost แต่ถ้าเราต้องการทดสอบกับ remote snmp ระวังเรื่อง firewall ด้วย ประเด็นมีอยู่ว่า ตอนนี้ใช้ windows 7 ในการคอนฟิก MRTG และก่อนหน้านี้ได้โหลด net-snmp มาทดสอบ snmpwalk บนเครื่อง localhost ก็ใช้ได้ แต่พอ walk ไปที่ remote snmp no response ซะงั้นซึ่ง remote snmp ก็ได้ตรวจสอบ service (snmp agent บน remote host) ให้ accept any host และ firewall เรียบร้อยแล้ว
  • ลองลง net-snmp บน remote snmp และทำการ walk ในเครื่อง remote snmp ก็ไม่มีปัญหา แต่ walk จาก เครื่องเราไม่ได้หว่า เลยลองปิด firewall ที่เครื่องซะเลย และทำการ walk อีกรอบ ปรากฏว่า walk ไปที่ remote snmp ได้หว่า
  • ซึ่งน่าจะอนุมาน อาไรบางอย่างได้นะ walk ไม่ได้ก็อาจะใช้ MRTG กับ remote snmp ไม่ได้เช่นกัน เข้าใจปะ (ถ้าเราไม่ปรับ firewall บนเครื่องเราให้ปล่อย เรื่องนี้อ่ะนะ)
  • การใช้ indexmaker เราสามารถสร้าง index.html ได้ในขณะที่ MRTG กำลังทำงานอยู่ โดย stop firedaemon mrtg service ทำการลบไฟล์ png, html, log และ start mrtg service อีกรอบ

Reference

No comments:

Post a Comment

Popular Posts