EasyZone Mikrotik Billing : Hotspot สำเร็จรูป สำหรับรา้นกาแฟ, ร้านอาหาร, รีสอร์ท, โรงแรม

สินค้าแนะนำ


EasyZone Sky Box (Model L)  8,317 บาท (Unlimited Actived Users)

EasyZone Sky Box (Model L) 8,317 บาท (Unlimited Actived Users)

8,318 บาท (Exclude VAT)

(19,777)
EasyZone Sky Box (Model LLOG) 15,900 บาท จัดเก็บ LOG และ Billing บน Cloud (Unlimited users)

EasyZone Sky Box (Model LLOG) 15,900 บาท จัดเก็บ LOG และ Billing บน Cloud (Unlimited users)

15,900 บาท (Exclude VAT)

(51,274)
EasyZone Sky Box (Model LN)  18,900 บาท จัดเก็บ LOG ผ่าน NAS (Unlimited users)

EasyZone Sky Box (Model LN) 18,900 บาท จัดเก็บ LOG ผ่าน NAS (Unlimited users)

18,900 บาท (Exclude VAT)

(8,427)

การติดตั้งและคอนฟิกโปรแกรม MRTG บน Linux SUSE 10 Enterprise Server.


 

การติดตั้งและคอนฟิกโปรแกรม MRTG บน Linux SUSE 10 Enterprise Server.

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

ความต้องการของระบบ
ใน การคอมไพล์และการใช้งาน MRTG คุณจะต้องมี C compiler and และ copy of perl ติดตั้งอยู่ในเครื่องของคุณ  ซึ่งโดยทั่วไปจะมีอยู่แล้ว (เครื่องที่ผมใช้เป็น Linux SUSE 10 Enterprise Server. ไม่ต้องมีการดาวน์โหลดคอมไพเลอร์ข้างล่างนี้แต่ประการใด)  ถ้าไม่มีก็ให้ปฏิบัติดังนี้ :

  • GCC -->> The GNU C compiler ส่วนใหญ่จะถูกติดตั้งมาแล้วบน linux ถ้าไม่มีก็ต้องทำการดาวน์โหลดมาก่อน  ถ้าคุณไม่มีคอมไพเลอร์อยู่เลยก็จะมีปัญหาไก่กับไข่  แต่ก็ยังคงมี precompiled version ของ gcc ที่สามารถใช้งานได้สำหรับส่วนใหญ่ของ OS อยู่ที่ http://gcc.gnu.org

  • Perl  -->> ส่วนใหญ่ของระบบ MRTG ถูกเขียนด้วย Perl scripting language ฉะนั้นในขั้นแรกต้องแน่ใจว่ามี copy of perl อยู่ในเครื่องของคุณแล้ว และอย่างน้อยต้องเป็นเวอร์ชัน 5.005 ถึงจะทำงานได้ดีกับ MRTG วิธีการตรวจสอบว่ามี Perl อยู่ในเครื่องแล้วยังให้ลองพิมพ์คำสั่ง perl -v ดู ซึ่งส่วนใหญ่ใน Linux ผมว่ามีอยู่แล้วนะครับ  คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดของ perl ได้ที่ www.perl.com

MRTG COMPILATION
ก่อนที่จะคอมไพล์ MRTG คุณต้องไปดาวน์โหลด MRTG มาก่อนนะครับซึ่งในตัวอย่างนี้ของใช้ MRTG เวอร์ชัน mrtg-2.9.22 สามารถดาวน์โหลดได้ที่ http://www.sontayamyblog.com ชื่อไฟล์คือ mrtg-2.15.0.tar.gz  โดยในที่นี้ได้ดาวน์โหลดมาไว้ที่ /usr/local/src  เมื่อดาวน์โหลดมาแล้วก็ให้ทำการ unzip โดยใช้คำสั่งดังนี้

cd /usr/local/src
gunzip -c mrtg-2.15.0.tar.gz | tar xvf -

ซึ่งไฟล์ทั้งหมดก็จะถูก unzip ไปไว้ในไดเร็คทอรี่ชื่อ mrtg-2.15.0 (นั่นคืออยู่ในตำแหน่ง /usr/bin//mrtg-2.9.22) ดังนั้นต่อไปให้คุณใช้คำสั่งต่อไปนี้

cd mrtg-2.15.0

ถ้าไลบรารี่ทั้งหมดได้ถูกติดตั้งอยู่ในเครื่องของคุณแล้ว ก็ให้ทำการ configure ด้วยคำสั่งต่อไปนี้

./configure --prefix=/usr/local/mrtg-2

ซึ่ง ตำแหน่ง /usr/local/mrtg-2 ตามคำสั่งข้างบน  ก็เป็นตำแหน่งที่ใช้เก็บโปรแกรม mrtg สำหรับการใช้งาน  ซึ่งตำแหน่งนี้คุณจะเปลี่ยนเป็นอย่างอื่น ก็ได้

การ configure เป็นการทำให้แน่ใจว่า environment ของคุณเหมาะสม (fit) สำหรับการสร้าง mrtg ซึ่งเมื่อคุณใช้คำสั่ง configure ระบบก็จะบอกคุณว่าให้ทำอะไรบ้าง  ถ้าทุกอย่าง OK คุณจะต้องจบด้วยการ Makefile สำหรับขั้นต่อไปก็ให้พิมพ์คำสั่ง make ดังนี้

make

คำสั่ง make จะเป็นการสร้าง rateup binary และแก้ไข perl pathnames ทั้งหมดในสคริปต์  และตอนนี้คุณก็สามารถติดตั้ง mrtg ด้วยการพิมพ์คำสั่งต่อไปนี้

make install    (requires gnu install)

ซอร์ฟแวร์ทั้ง หมดที่ MRTG ต้องการในตอนนี้ก็ถูกติดตั้งเรียบร้อยแล้วภายใต้ไดเร็กทอรี่ /usr/local/mrtg-2

ในตอนนี้คุณสามารถลบไลบรารี่ที่เราได้คอมไพล์แล้วข้างบนได้  แต่คุณอาจจะเก็บเอาไว้เพื่อการคอมไพล์อีกครั้งจนกว่าคุณจะทำการคอม ไพล์เวอร์ชันใหม่ของ mrtg 

CONFIGURATION
ต่อ ไปเราก็จะมาเริ่มคอนฟิก 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 ครับ

สำหรับในตัวอย่างนี้ผมใช้เราเตอร์ที่เป็น CISCO โดยมี IP ของพอร์ต Ethernet เป็น xxx.xx.xx.xx และ Commnity String เป็น Public

การคอนฟิก mrtg เพื่อมอนิเตอร์ดู network device ขั้นตอนนี้จะเป็นการสร้างไฟล์ที่ชื่อว่า mrtg.cfg ซึ่งเป็นไฟล์ที่กำหนดว่าคุณจะมอนิเตอร์ดูอะไร  โชคดีที่คุณไม่ต้อง "to dive straight in" และเริ่มเขียนไฟล์คอนฟิกด้วยตัวคุณเองทั้งหมด  เพราะ copy of cfgmaker ได้มาพร้อมกับ mrtg แล้ว  ตัว cfgmakerrouter ที่คุณเลือก และจะสร้าง mrtg configure file สำหรับคุณ   คุณสามารถหาสคริปต์ตัวนี้คือ cfgmager ได้ที่ ซับไดเร็กทอรี่ bin

ตอนนี้คุณต้องมีการสร้างไดเร็กทอรี่ที่ใช้เก็บ configure file แต่ถ้าคุณจะเก็บไว้ในไดเร็กทอรี่ที่มีอยู่แล้วก็ไม่ต้อง แต่ในที่นี้จะเก็บ configure file ไว้ที่ /home/mrtg/cfg จึงต้องการมีการสร้างไดเร็กทอรี่นี้ขึ้นมาก่อน

ฉะนั้นตอนให้คุณเข้าไปที่ bin (/usr/bin/mrtg-2/bin) แล้วพิมพ์ว่า

cfgmaker --global 'WorkDir: /srv/www/htdocs/mrtg' --global 'Options[_]: bits,growright' --output /srv/www/htdocs/mrtg/cfg community@router.abc.net This email address is being protected from spam bots, you need Javascript enabled to view it

โดยในส่วน community@roter.abc.net This email address is being protected from spam bots, you need Javascript enabled to view it ของผมนั้นใช้เป็น :   public@xxx.xx.xx.xx This email address is being protected from spam bots, you need Javascript enabled to view it

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

ไฟล์ mrtg.cfg ซึ่งเป็น mrtg config file จะถูกสร้างไว้ในตำแหน่ง /srv/www/htdocs/mrtg/cfg (ตามที่ระบุในคำสั่ง)  และค่าของ WorkDir ซึ่งจากคำสั่งข้างบนจะอยู่ที่ /home/httpd/mrtg  ก็เป็นตำแหน่งที่ใช้สำหรับการเก็บไฟล์ชนิดที่เป็น html page ซึ่งตำแหน่งนี้จะเก็บไว้ตรงไหนก็ได้ขึ้นอยู่กับคุณครับ โดยค่านี้จะถูกบันทึกลงสู่ไฟล์ mrtg.cfg

ส่วนออฟชั่นที่เป็น --global 'Options[_]: bits,growright' ก็เป็นการสั่งให้การแสดงผลของกราฟเริ่มต้นจากด้านขวามือ ซึ่งถ้าไม่มีออฟชันนี้กราฟจะเริ่มต้นที่ด้านซ้ายมือ

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

แต่คุณต้องไม่ลืมสร้าง ไดเร็คทออรี่ /home/httpd/mrtg ไว้ด้วยนะครับ เพราะไม่งั้นจะไม่สามารถสร้างไฟล์ html ได้
(ของคุณอาจเป็นไดเร็กทอรี่อื่นได้) เป็นสคริปต์ที่คุณสามารถชี้ไปที่ยัง

RUNNING MRTG
วิธีการการรัน mrtg ก็ให้พิมพ์คำสั่งต่อไปนี้ลงไป

/usr/bin/mrtg/bin/mrtg  /srv/www/htdocs/mrtg/cfg/mrtg.cfg

คำ สั่งนี้ก็เป็นการรัน perl script ที่ชื่อ mrtg (/usr/bin/mrtg/bin/mrtg) โดยใช้ config file  (/home/mrtg/cfg/mrtg.cfg) ประกอบการรัน  การรันจะเป็นการ query ไปยังเราเตอร์ และสร้าง first mrtg trafic graphs and webpages โดยการรันในครั้งแรกนี้จะมีข้อความเกี่ยวกับ log file ฟ้องขึ้นมา ซึ่งไม่ต้องสนใจมัน  เพราะนี่เป็นภาวะปกติสำหรบการรัน mrtg สองครั้งแรก

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

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

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

จะเห็นว่าถ้าจะให้มานั่งพิมพ์คำสั่งดังกล่าวอยู่ทุกช่วงเวลาคงจะไม่ใช่สิ่ง ที่ควรทำแน่ ๆ ดังนั้นเราจะต้องหาวิธีให้ MRTG รันทุกช่วงเวลาให้ได้

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

RunAsDaemon: yes

จากนั้นก็ให้ลองรัน mrtg ใหม่อีกครั้งดังนี้

/usr/bin/mrtg/bin/mrtg /srv/www/htdocs/mrtg/cfg/mrtg.cfg --loging /var/log/mrtg.log

คำสั่งข้างบนนี้ จะเป็นการสั่งให้ mrtg รันทุกช่วงเวลาครับ ซึ่งค่า default จะมีการรันทุก 5 นาที ดังนั้นหลังจากนี้ไปผลของกราฟจะมีการเปลี่ยนแปลงทุก ๆ 5 นาที (ยกเว้นมีการปิดเครื่อง) ให้ดูเวลาบนกราฟประกอบครับ ในคำสั่งข้างบนมีออฟชันเพิ่มคือ --logging /var/log/mrtg.log ซึ่งเป็นการสั่งให้มีการเก็บ log file ลงในไฟล์ /var/log/mrtg.log นั่นเอง

จาก ที่กล่าวมาเมื่อใดที่คุณมีการปิดเครื่องหรือ restart เครื่องที่ได้ลง MRTG ไว้ ก็จะส่งผลให้ Service ของ MRTG ถูกปิดไปด้วย ซึ่งวิธีการที่จะรัน MRTG ขึ้นมาใหม่ก็ต้องมีการพิมพ์คำสั่ง /usr/local/mart-2/bin/mrtg  /usr/www/htdocs/mrtg/cfg/mrtg.cfg --loging /var/log/mrtg.log ทุกครั้งไป 

ซึ่งจะไม่สะดวกนักสำหรับเครื่องที่ต้องมีการปิด-เปิด บ่อย ๆ วิธีการที่ทำให้สะดวกขึ้นก็คือการเอาสั่ง ดังกล่าวไปเก็บไว้ในไฟล์ /etc/rc.d/ เพื่อให้มีการรัน mrtg ทุกครั้งที่มีการเปิดเครื่อง
อีกครั้งคุณก็จะเห็นกราฟของทราฟฟิกเกิดขั้นมานิดหน่อย และข้างบนของกราฟให้สังเกตว่าค่าเวลาในการแสดงผลจะเปลี่ยนไปตามเวลาที่เรา พิมพ์คำสั่ง

พิมพ์ที่  URL : http://hostname/mrtg/

Image 

 

 

Only registered users can write comments.
Please login or register.

ที่มา http://www.susethailand.com/index.php?option=com_content&task=view&id=78&lang=en

  by: EasyZone       วันที่ 18/06/2551 - 10:18:09