หน้าเว็บ

วันอังคารที่ 20 กรกฎาคม พ.ศ. 2553

การติดตั้งและคอนฟิกโปรแกรม MRTG บน Windows

รู้จักกับ MRTG
MRTG ย่อมาจาก Multi Router Traffic Grapher เป็นเครื่องมือที่ใช้สำหรับการมอนิเตอร์ดู Traffic Load บน Nerwork Links ซึ่งการทำงานของ MRTG จะมีการสร้าง HTML Pages ที่ประกอบด้วยภาพ (กราฟ) ชนิด PNG โดยภาพดังกล่าวนี้จะแสดงถึงปริมาณของทราฟฟิกบนเครือข่าย สามารถดูตัวอย่างได้ที่ ซึ่งการนำไปใช้งานส่วนใหญ่ก็จะนำไปมอนิเตอร์ดูทราฟฟิกตามพอร์ตต่าง ๆ ของเราเตอร์ ว่ามีทราฟฟิกหนาแน่นขนาดไหน

การติดตั้ง Active Perl
เนื่องจาก MRTG ต้องใช้ภาษา Perl ช่วยในการโปรเซส ให้ไปดาวน์โหลด Active Perl มาก่อน โดยต้องเป็นเวอร์ชัน 5.005 หรือสูงกว่า 5.6 เมื่อดาวน์โหลดมาแล้วก็ให้ทำการติดตั้ง โดยวิธีการติดตั้งก็ไม่ต้องทำอะไรครับ แค่กด Next ไปเรื่อย ๆ ก็เสร็จเอง หลังจากนั้นก็ไม่ต้องมีการคอนฟิกแต่ประการใดครับ ตรวจสอบว่า Perl binary directory เป็นรายการที่มีอยู่ใน System Path ของแล้วหรือยัง ด้วยการดูที่
Control Panel -> System -> Environment (เวอร์ชันของ OS ที่ต่างกัน อาจจะแตกต่างกันบ้าง)
โดยหาข้อความต่อไปนี้ :
C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;...

การติดตั้งโปรแกรม MRTG
ในขั้นแรกก็ให้ไปดาวน์โหลดโปรแกรม MRTG โดยในที่นี้ของเลือกเป็น mrtg-2.9.22.zip (อาจจะเลือกเวอร์ชันที่ใหม่กว่านี้ก็ได้) เมื่อดาวน์โหลดมาเสร็จแล้วก็ให้ unzip ไฟล์ดังกล่าวไปไวที่ C:\mrtg-2.9.22

การทดสอบความพร้อมของ MRTG และ Perl ก็ทำได้ด้วยการเข้าไปในตำแหน่ง c:\mrtg-2.9.22\bin ให้พิมพ์คำว่า
perl mrtg

ถ้าทั้งสองอย่างติดตั้งพร้อมแล้วจะมี error message เกี่ยวกับการไม่มี mrtg configuration file ขึ้นมา

การคอนฟิก MRTG
ก่อนที่จะคอฟฟิกต้องทราบข้อมูล 2 อย่างต่อไปนี้
1. IP Address หรือ Host Name ของ SNMP port number ของอุปกรณที่คุณต้องการจะมอนิเตอร์ ซึ่งถ้าอุปกรณ์ของคุณเป็น เราเตอร์ ก็คือ IP ที่เป็น Gateway หรือ IP ที่เป็น ethernet บนเราเตอร์นั่น เอง หรือถ้าใครจะใช้ IP ของพอร์ต WAN ก็ได้เหมือนกัน
2.ต้องรู้ค่าของ read-only SNMP community string บนอุปกรณ์ ถ้าไม่รู้ก็ให้พยายามใช้ public ซึ่งเป็นค่า default

สิ่งแรกที่เราต้องเซ็ตอัพ mrtg คือการสร้าง default config file ดังนั้นตอนนี้ให้ไปที่ command prompt ด้วยการรันคำสั่ง cmd และให้ change ไดเร็คทอรี่ไปยัง c:\mrtg-2.9.22\bin แล้วให้พิมพ์คำสั่งดังนี้ :

perl cfgmaker public@x.x.x.x --global "WorkDir: c:\www\mrtg" --output mrtg.cfg

หรือถ้าต้องการให้กราฟแสดงผลมาจากด้านขวามือ (ปกติจะเป็นด้านซ้าย) และให้หน่วยของกราฟเป็น Bits per second (ปกติจะเป็น Byte) ก็อาจจะใช้คำสั่งดังนี้ :

perl cfgmaker --global "WorkDir: c:\www\mrtg" --global "Options[_]: growright,bits" public@x.x.x.x --output mrtg.cfg

ซึ่งเมื่อพิมพ์คำสั่งไปแล้ว ก็จะเป็นการสั่งให้มีการติดต่อกับ router เพื่ออ่านค่าพารามิเตอร์ของพอร์ตต่าง ๆ บนเราเตอร์ (Ethernet และ Wan) ไปเก็บลงสู่ไฟล์ mrtg.cfg

คำสั่งข้างบนนี้จะเป็นการสร้าง initial MRTG config file ที่มีชื่อว่า mrtg.cfg (ตามที่ระบุในคำสั่ง) ไว้ในตำแหน่ง c:\mrtg-2.9.22\bin และค่าของ WorkDir ซึ่งจากคำสั่งข้างบนจะอยู่ที่ c:\www\mrtg ก็เป็นตำแหน่งที่ใช้สำหรับการเก็บไฟล์ชนิดที่เป็น html page ซึ่งตำแหน่งนี้จะเก็บไว้ตรงไหนก็ได้ โดยค่านี้จะถูกบันทึกลงไฟล์ mrtg.cfg ซึ่งถ้าใช้ Nodepad เปิดดูไฟล์ mrtg.cfg จะมีสองบรรทัดแรกเป็นดังนี้ :

# Created by
# cfgmaker public@x.x.x.x --global 'WorkDir: c:\www\mrtg' --output mrtg.cfg

นั่นคือจะมีตำแหน่งที่ใช้เก็บ html page อยู่ในบรรทัดที่สอง และในส่วงล่างของไฟล์นี้จะมีคำสั่งภาษา html และพารามิเตอร์ของพอร์ตต่าง ๆ ที่จะนำไปใช้สร้างไฟล์ html ต่อไป

มาถึงตอนนี้ต้องไม่ลืมสร้างไดเร็คทอรี่ c:\www\mrtg ไว้ด้วย เพราะไม่งั้นจะไม่สามารถสร้างไฟล์ html ได้

ขั้นตอนต่อไปก็เป็นขั้นตอนที่สำคัญ คือการสร้าง html page วิธีการที่ basic ที่สุด ก็คือให้ไปที่ไดเร็คทอรี่ c:\mrtg-2.9.22\bin แล้วพิมพ์คำสั่งต่อไปนี้ :

perl mrtg mrtg.cfg

ให้ไปดูที่ไดเร็คทอรี่ c:\www\mrtg จะเห็นว่ามีไฟล์เกิดขึ้นจำนวนหลายไฟล์ ซึ่งจะมีชนิดของไฟล์เป็น 3 ประเภทคือ

1. html file ซึ่งจำนวนของไฟล์ประเภทนี้จะเท่ากับจำนวนของพอร์ต ต่าง ๆ ที่ใช้งานอยู่ของเราเตอร์ ไฟล์นี้เองที่เราจะต้องเปิดดูผ่าน browser เพื่อดูทราฟฟิกของพอร์ตต่าง ๆ
2. png file เป็นไฟล์ภาพที่ใช้แสดงกราฟของทราฟฟิก
3. log file

ซึ่งถ้าเปิดดู html ไฟล์ในตอนนี้เราจะเห็นแต่กราฟว่างเปล่า เป็นเพราะว่าตอนนี้คำสั่ง perl mrtg mrtg.cfg จะทำงานแค่ครั้งเดียวตอนที่พิมพ์ไปเท่านั้น วิธีที่จะให้มีกราฟเกิดขึ้นจะต้องพิมพ์คำสั่ง perl mrtg mrtg.cfg อยู่ตลอดทุกช่วงเวลา

การทำให้ MRTG รันตลอดช่วงเวลา
ขั้นแรกก็ให้เพิ่มออฟชั่นต่อไปนี้ (เป็น script หนึ่งบรรทัด) ไว้ในส่วนบน ๆ ของ config file (mrtg.cfg)

RunAsDaemon: yes

ให้ตำแหน่งของ command prompt ยังคงอยู่ที่ c:\mrtg-2.9.22\bin แล้วพิมพ์คำสั่งดังนี้

wperl mrtg --logging=eventlog mrtg.cfg

คำสั่งข้างบนนี้ จะเป็นการสั่งให้ mrtg รันทุกช่วงเวลา (ค่า default เป็นทุก ๆ 5 นาที) ซึ่งหลังจากนี้ไปผลของกราฟจะมีการเปลี่ยนแปลงทุก ๆ 5 นาที (ยกเว้นมีการปิดเครื่อง PC หรือ Sever)

จากที่กล่าวมาเมื่อใดที่คุณมีการปิดเครื่องหรือ restart เครื่องที่ได้ลง MRTG ไว้ ก็จะส่งผลให้ Service ของ MRTG ถูกปิดไปด้วย ซึ่งวิธีการที่จะรัน MRTG ขึ้นมาใหม่ก็คือการไปที่ Prompt --> c:\mrtg-2.9.22\bin แล้วป้อนคำสั่ง wperl mrtg --logging=eventlog mrtg.cfg ใหม่ทุกครั้งที่มีการปิดแล้วเปิดเครื่องใหม่

ซึ่งจะไม่สะดวกนักสำหรับเครื่องที่ต้องมีการปิด-เปิด บ่อย ๆ วิธีการที่ทำให้สะดวกขึ้นก็คือการเอาสั่ง ดังกล่าวไปสร้าง เป็น batch file แล้ว save ลงในตำแหน่ง Start Up ของเครื่อง แค่นี้ก็จะทำให้เครื่องของคุณมีการรัน MRTG Service ทุกครั้งที่เปิดเครื่อง

ถ้าต้องการทำ MRTG ที่มี Router หลายตัว
ต้องสร้างไฟล์คอนฟิก (cfg) จำนวน 3 ไฟล์ ตามจำนวน router โดยชื่อไฟล์ต้องต่างกัน ตำแหน่งเก็บไฟล์ html และไฟล์ภาพต่างกัน โดยกำหนดให้ชื่อ config file เป็น ดังนี้ (ใช้ชื่ออื่นก็ได้)

mrtg1.cfg, mrtg2.cfg และ mrtg3.cfg

และกำหนดให้ตำแหน่งการเก็บไฟล์ html เป็น (กำหนดเป็นชื่ออื่นก็ได้)
c:\www\mrtg1 สำหรับ router ตัวที่ 1
c:\www\mrtg2 สำหรับ router ตัวที่ 2
c:\www\mrtg3 สำหรับ router ตัวที่ 3

สร้างไฟล์คอนฟิกสำหรับ Router ตัวที่ 1
c:\mrtg-2.9.29\bin>perl cfgmaker public@x.x.x.x --global "WorkDir: c:\www\
mrtg1
" --output
mrtg1
.cfg

สร้างไฟล์คอนฟิกสำหรับ Router ตัวที่ 2
c:\mrtg-2.9.29\bin>perl cfgmaker public@x.x.x.x --global "WorkDir: c:\www\
mrtg2
" --output
mrtg2
.cfg

สร้างไฟล์คอนฟิกสำหรับ Router ตัวที่ 3
c:\mrtg-2.9.29\bin>perl cfgmaker public@x.x.x.x --global "WorkDir: c:\www\
mrtg3
" --output
mrtg3
.cfg

จากนั้นทำตามขั้นตอน การทำให้ MRTG รันตลอดช่วงเวลา เป็นอันเสร็จเรียบร้อย...

ไม่มีความคิดเห็น:

แสดงความคิดเห็น