MRTG
การติดตั้งและคอนฟิกโปรแกรม MRTG
รู้จักกับ MRTG
MRTG ย่อมาจาก Multi Router Traffic Grapher เป็นเครื่องมือที่ใช้สำหรับการมอนิเตอร์ดู Traffic Load บน Nerwork Links ซึ่งการทำงานของ MRTG จะมีการสร้าง HTML Pages ที่ประกอบด้วยภาพ (กราฟ) ชนิด PNG http://www.stat.ee.ethz.ch/mrtg/ ซึ่งการนำไปใช้งานส่วนใหญ่ก็จะนำไปมอนิเตอร์ดูทราฟฟิกตามพอร์ตต่าง ๆ ของเราเตอร์ ว่ามีทราฟฟิกหนาแน่นขนาดไหน
การติดตั้ง Active Perl
เนื่องจาก MRTG ต้องใช้ภาษา Perl ช่วยในการโปรเซส ดังนั้นถ้าในเครื่องของท่านยังไม่ได้ลงโปรแกรมภาษา Perl เอาไว้ก็ให้ไปดาวน์โหลด Active Perl มาก่อน ซึ่งสามารถดาวน์โหลดได้ที่ http://www.sontayamyblog.com โดยต้องเป็นเวอร์ชัน 5.005 หรือสูงกว่า 5.6 เมื่อดาวน์โหลดมาแล้วก็ให้ทำการติดตั้ง โดยวิธีการติดตั้งก็ไม่ต้องทำอะไรครับ แค่กด Next ไปเรื่อย ๆ ก็เสร็จเอง หลังจากนั้นก็ไม่ต้องมีการคอนฟิกแต่ประการใดครับ
คุณสามารถตรวจสอบเพื่อความมั่นใจว่า Perl binary directory เป็นรายการที่มีอยู่ใน System Path ของคุณแล้วยัง ด้วยการดูที่
Control Panel -> System -> Environment (เวอร์ชันของ OS ที่ต่างกัน อาจจะแตกต่างกันบ้าง)
โดยหาข้อความต่อไปนี้ :
C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;...
การติดตั้งโปรแกรม MRTG
ในขั้นแรกก็ให้ไปดาวน์โหลดโปรแกรม MRTG มาก่อนนะครับ ซึ่งสามารถดาวน์โหลดได้ที่ http://www.sontayamyblog.com โดยในที่นี้ของเลือกเป็น mrtg-2.15.0.zip (คุณอาจจะเลือกเวอร์ชันที่ใหม่กว่านี้ก็ได้) เมื่อดาวน์โหลดมาเสร็จแล้วก็ให้ unzip ไฟล์ดังกล่าวไปไวที่ C:\mrtg-2.9.22 บน Windows NT , 2000 หรือ XP
การทดสอบความพร้อมของ MRTG และ Perl ก็ทำได้ด้วยการเข้าไปในตำแหน่ง c:\mrtg-2.9.22\bin ให้พิมพ์คำว่า
perl mrtg
ถ้าทั้งสองอย่างติดตั้งพร้อมแล้วจะมี error message เกี่ยวกับการไม่มี mrtg configuration file ขึ้นมา ซึ่งคุณก็ไม่ต้อง worry นะครับ
การคอนฟิก MRTG
ต่อไปเราก็จะมาเริ่มคอนฟิก MRTG กัน แต่ก่อนที่จะคอฟฟิกคุณต้องทราบข้อมูล 2 อย่างต่อไปนี้ด้วย
1. IP Address หรือ Host Name ของ SNMP port number ของอุปกรณที่คุณต้องการจะมอนิเตอร์ ซึ่งถ้าอุปกรณ์ของคุณเป็น เราเตอร์ ก็คือ IP ที่เป็น Gateway หรือ IP ที่เป็น ethernet บนเราเตอร์นั่น เอง หรือถ้าใครจะใช้ IP ของพอร์ต WAN ก็ได้เหมือนกับครับ แต่ผมคิดว่า IP ของ Ethernet น่าจะเร็วกว่า
2.คุณต้องรู้ค่าของ read-only SNMP community string บนอุปกรณ์ของคุณ ถ้าไม่รู้ก็ให้พยายามใช้ public ซึ่งเป็นค่า default ครับ
สำหรับในตัวอย่างนี้ผมใช้เราเตอร์ที่เป็น ZyXEL โดยมี IP ของพอร์ต Ethernet เป็น 192.168.1.2 และ Commnity String เป็น Public
สิ่งแรกที่เราต้องเซ็ตอัพ mrtg คือการสร้าง default config file ดังนั้นตอนนี้ให้ไปที่ command prompt ด้วยการรันคำสั่ง cmd และให้ change ไดเร็คทอรี่ไปยัง c:\mrtg-2.15.0\bin แล้วให้พิมพ์คำสั่งดังนี้ :
perl cfgmaker public@192.168.1.2 --global "WorkDir: c:\www\mrtg" --output mrtg.cfg
หรือถ้าต้องการให้กราฟแสดงผลมาจากด้านขวามือ (ปกติจะเป็นด้านซ้าย) และให้หน่วยของกราฟเป็น Bits per second (ปกติจะเป็น Byte) ก็อาจจะใช้คำสั่งดังนี้ :
perl cfgmaker --global "WorkDir: c:\www\mrtg" --global "Options[_]: growright,bits" ifref=ip public@192.168.1.2 --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@192.168.1.2 --global 'WorkDir: c:\www\mrtg' --output mrtg.cfg
นั่นคือจะมีตำแหน่งที่ใช้เก็บ html page อยู่ในบรรทัดที่สอง และในส่วงล่างของไฟล์นี้จะมีคำสั่งภาษา htmlhtml ต่อไป
มาถึงตอนนี้ต้องไม่ลืมสร้างไดเร็คทอรี่ c:\www\mrtg ไว้ด้วยนะครับ เพราะไม่งั้นจะไม่สามารถสร้างไฟล์ html ได้
ขั้นตอนต่อไปก็เป็นขั้นตอนที่สำคัญครับ คือการสร้าง html page วิธีการที่ basic ที่สุด ก็คือให้ไปที่ไดเร็คทอรี่ c:\mrtg-2.15.0\bin แล้วพิมพ์คำสั่งต่อไปนี้ :
perl mrtg mrtg.cfg
ให้ไปดูที่ไดเร็คทอรี่ c:\www\mrtg จะเห็นว่ามีไฟล์เกิดขึ้นจำนวนหลายไฟล์ ซึ่งจะมีชนิดของไฟล์เป็น 3 ประเภทคือ
1. html file ซึ่งจำนวนของไฟล์ประเภทนี้จะเท่ากับจำนวนของพอร์ต ต่าง ๆ ที่ใช้งานอยู่ของเราเตอร์ ไฟล์นี้เองที่เราจะต้องเปิดดูผ่าน browser เพื่อดูทราฟฟิกของพอร์ตต่าง ๆ
2. png file เป็นไฟล์ภาพที่ใช้แสดงกราฟของทราฟฟิก
3. log file
ซึ่งถ้าเราเปิดดู html ไฟล์ในตอนนี้เราจะเห็นแต่กราฟว่างเปล่า เป็นเพราะว่าตอนนี้คำสั่ง perl mrtg mrtg.cfgperl mrtg mrtg.cfgperl mrtg mrtg.cfg
จะเห็นว่าถ้าจะให้มานั่งพิมพ์คำสั่งดังกล่าวอยู่ทุกช่วงเวลาคงจะไม่ใช่สิ่งที่ควรทำแน่ ๆ ดังนั้นเราจะต้องหาวิธีให้ MRTG รันตลอดเวลาให้ได้
การทำให้ MRTG รันตลอดช่วงเวลา
ขั้นแรกก็ให้เพิ่มออฟชั่นต่อไปนี้ (เป็น script หนึ่งบรรทัด) ไว้ในส่วนบน ๆ ของ config file (mrtg.cfg)
RunAsDaemon: yes
ให้ตำแหน่งของ command prompt ยังคงอยู่ที่ c:\mrtg-2.15.0\bin แล้วพิมพ์คำสั่งดังนี้
wperl mrtg --logging=eventlog mrtg.cfg
คำสั่งข้างบนนี้ จะเป็นการสั่งให้ mrtg รันทุกช่วงเวลาครับ (ค่า default เป็นทุก ๆ 5 นาที) ซึ่งหลังจากนี้ไปผลของกราฟจะมีการเปลี่ยนแปลงทุก ๆ 5 นาที (ยกเว้นมีการปิดเครื่อง PC หรือ Sever) ให้ดูเวลาบนกราฟประกอบครับ
ถ้าคุณเอา mrtg ไปติดตั้งบน Web Server ที่วางอยู่บนอินเตอร์เน็ตหรือจะเป็นอินทราเน็ตก็แล้วแต่ ก็จะทำให้สามารถดูผลของกราฟ จากที่ไหนก็ได้ครับ นั่นคือในตอนสร้างไฟล์ config ก็ให้เปลี่ยนไดเร็คทอรี่ที่ใช้เก็บ html page ไปเป็นตำแหน่งของ home directory ของ Web Server หรือตำแหน่งอื่น ๆ แล้วค่อยสร้าง virtual directory เอา
จากที่กล่าวมาเมื่อใดที่คุณมีการปิดเครื่องหรือ restart เครื่องที่ได้ลง MRTG ไว้ ก็จะส่งผลให้ Service ของ MRTG ถูกปิดไปด้วย ซึ่งวิธีการที่จะรัน MRTG ขึ้นมาใหม่ก็คือการไปที่ Prompt --> c:\mrtg-2.15.0\bin แล้วป้อนคำสั่ง wperl mrtg --logging=eventlog mrtg.cfg ใหม่ทุกครั้งที่มีการปิดแล้วเปิดเครื่องใหม่
ซึ่งจะไม่สะดวกนักสำหรับเครื่องที่ต้องมีการปิด-เปิด บ่อย ๆ วิธีการที่ทำให้สะดวกขึ้นก็คือการเอาสั่ง ดังกล่าวไปสร้าง เป็น batch file แล้ว save ลงในตำแหน่ง Start Up ของเครื่อง แค่นี้ก็จะทำให้เครื่องของคุณมีการรัน MRTG Service ทุกครั้งที่เปิดเครื่องใหม่ครับ.
Nete : ย้ายไปที่ webserver ก่อนนะครับ.
พิมพ์ที่ URL : http://localhost/mrtg/

SUSE Linux Enterprise Cool Solutions
|













