ระบบมอนิเตอร์มีความสำคัญและมีประโยชน์อย่างไร?? การนำ Open Source มาใช้ประโยชน์ ตัวอย่าง

สวัสดีครับ บทความนี้ผมจะขอพูดถึงเรื่องการมอนิเตอร์ระบบเน็ตเวิร์ค สักนิดครับ

หลายๆ ท่านคงสงสัย ว่าทำไมเราจึงต้องทำการมอนิเตอร์ระบบเน็ตเวิร์คของเรา?? และการมอนิเตอร์มันดีอย่างไร ?? เอาแค่สองคำถามนี้ก่อนนะครับ

ก่อนที่ลองหาคำตอบ ผมให้ดูก่อนว่าระบบมอนิเตอร์มันช่วยให้เราเห็นอะไร เอาแบบง่ายๆ ก่อนเลยครับ ลองดูจากกราฟนี่ก่อนเลย

2016-11-29_10-12-27

อันนี้อีกหนึ่งกราฟครับ ซึ่งเป็นกราฟตัวอย่างที่ผมเองใช้จริงๆ ณ ปัจจุบัน

2016-11-29_10-13-02

จากกราฟ ทั้งสองตัวอย่างด้านบน ทำให้เราทราบถึง 2 เรื่องหลักๆ ครับ

  1. เน็ตเวิร์คเราถูกใช้งานมากน้อยขนาดไหน เพียงพอหรือไม่  ตรงนี้มันช่วยให้เราประเมินสถานะการณ์การใช้งานในระบบของเรา จากตัวอย่างกราฟแรกผมทำการมอนิเตอร์ที่ ขาแวน (WAN) ซึ่งก็คือ PPPoE-Out1 จะเป็นว่า ณ ตอนนี้(กราฟแสดงอยู่) เราจะเป็นปริมาณการใช้งานอินเตอร์เน็ตของคนทั้งองกรณ์ ซึ่งไซต์งานนี้มีพนักงานอยู่ประมาณ 50 คน และมีความจำเป็นต้องใช้อินเตอร์เน็ตในการทำงานอย่างยิ่ง ส่วนหนึ่งรีโมทลูกค้า ส่วนหนึ่งใช้สำหรับการค้นหาข้อมูลเพื่อการพัฒนา เรียกได้ว่า ถ้าอินเตอร์เน็ตที่นี่ดับ เป็นได้หยุดงานกันทั้งสำนักงานเลยทีเดียวจากกราฟจะเห็นว่าปริมาณการใช้งานอินเตอร์เน็ตในบางช่วงเวลา มีการใช้งานค่อนข้างมาก แต่ก็ยังไม่เต็มท่อ (แบนวิด) อินเตอร์เน็ตที่มี อ๋อลืมบอกไปอินเตอร์เน็ตที่นี่ใช้ TOT Fiber Optic (FTTH) ครับ ความเร็วที่ใช้ก็ 20Mb/10Mb ส่วนการใช้งานสังเกตุ มีทั้งกราฟสี เขียว และ สีน้ำเงิน สีเขียว คือ ปริมาณการดาวน์โหลดข้อมูล เช่น ท่องเว็บไซต์ รีโมทลูกค้าด้วย Logmein Teamviewer หรือพวก remote Desktop อื่นๆ ที่นี่ใช้ทุกรูปแบบที่สามารถรีโมทได้ และ กราฟสีน้ำเงิน คือ ปริมาณการอัปโหลดข้อมูล จากภายในบริษัท ออกไปข้างนอก เพราะที่นี่เองก็มี FTP ซึ่งเอาไว้รับส่งข้อมูลให้ลูกค้าและเพื่อการบริการด้วย จึงมีบ่อยๆ ที่ต้องอัปโหลดข้อมูลขึ้น FTP Serverจากกราฟ หากเราเป็นดูแลระบบ เราก็สามารถประเมินการใช้งานแบนวิดขององค์กรที่มี ทำเป็นสถิติ การใช้งานแต่ละเดือน เพื่อสำเสนอผู้บริหาร หรือ กรณีที่เกิดปัญหาแบนวิดไม่พอ เราจะสามารถนำข้อมูลนี้ไปชี้แจงต่อผู้บริหาร เพื่อขอเพิ่มแบนวิด หรือ เพิ่มอินเตอร์เน็ตขึ้นมาอีกเส้น เพื่อสำรองการทำงาน เพื่อไม่ให้งานที่เราทำ และมีความจำเป็นต้องใช้งานอินเตอร์เน็ตนั้นสะดุด ลงได้อีกส่วนของการใช้งานมอนิเตอร์ การมอนิเตอร์ทำให้เรารู้ว่าเรามีการใช้งานแบนวิดต่างๆ มากๆน้อยเพียงใด หากเรามอนิเตอร์แล้วปรากฎว่าแบนวิดเราเหลือเพียงพอ แต่ทำไมอินเตอร์เน็ตในองค์กรเราถึงได้ช้า ถึงช้ามากๆ  สาเหตุอาจจะไม่ได้มาจากอินเตอร์เน็ตช้า อาจจะเกิดจากอุปกรณ์ภายในต่อพ่วงต่างๆ มีประสิทธิภาพไม่เพียงพอต่อการใช้งานก็เป็นได้ เช่น Access Point ไม่แรงพอต่อการใช้งาน ไม่ได้รองรับปริมาณการใช้งานจำนวนมากๆ หรือ ตัว Switch ที่เราใช้งานถูกใช้งานหนักเกิน กว่าที่ตัวอุปกรณ์จะรับไหว เช่น ใช้ Switch ธรรมดาที่ Throughput น้อย แต่ภายในสำนักงานมีการโอนไฟล์ กันเป็นจำนวนมากในทุกๆ วัน ปัญหาคอขวดของ Switch ซึ่งก็เป็นสามารถที่ทำให้ระบบของเราทำงานช้าลง ก็อาจเป็นไปได้ดังนั้นการมอนิเตอร์อุปกรณ์เหล่านี้ จะทำให้เราสามารถดูได้ถึง Performance การทำงานของตัวอุปกรณ์ (อย่างน้อยอุปกรณ์ต้องรองรับมาตรฐาน SNMP) ว่ามีความเพียงพอต่อการใช้งานหรือไม่ ถ้าไม่พออาจจะต้องเปลี่ยน ซึ่งการเปลี่ยนอุปกรณ์ไม่ใช่ประเด็น ประเด็นคือ เราเองในฐานะไอที เราจะมีข้อมูลอะไรไปคุย หรือต่อรองกับผู้มีอำนาจที่จะขอเปลี่ยน หรือ ซื่ออุปกรณ์เพิ่มล่ะ…..?????
  2. อุปกรณ์ต่างๆ ของเรายังมีชีวิตอยู่ไหม กราฟที่สองเรียกว่าการทำ Mapping Monitoring คือการมอนิเตอร์อุปกรณ์ต่างๆ ว่ายังมีชีวิตดีอยู่ไหม ซึ่งการมอนิเตอร์ สามารถทำได้หลากหลายรูปแบบ เช่น ICMP (คือการใช้คำสั่ง ping เพื่อตรวจสอบว่าอุปกรณ์ตายไปแล้วหรือยัง) หรือการตรวจสอบด้วย Application อื่น เช่น ตรวจสอบด้วย http เพราะบางเครื่องแม่ข่าย Server อาจจะปิด ping ไว้ แต่เปิด http (80) ไว้เท่านั้น เราก็ยังสามารถตรวจสอบความเป็นอยู่ของตัวอุปกรณ์ได้ หรือไม่ก็ใช้ SNMP ตรวจสอบ อันนี้ก็จะสามารถดูรายละเอียดอื่นๆ ได้ด้วยลองนึกถึงภาพจินตนาการ ว่าคุณเป็นคนดูแลระบบบริษัทแห่งหนึ่ง มีสาขาอยู่จำนวนมากๆ และแต่ละสาขาจำเป็นต้องใช้อินเตอร์เน็ตเพื่อการสื่อสารมายังสำนักงานใหญ่ (เช่นระบบ ERP หรือ POS System เป็นต้น) เราจะรอให้ทางสาขาแจ้งปัญหาเข้ามาก่อนแล้วค่อยแก้ไข หรือ จะดีกว่าไหม หากเรารู้ปัญหาก่อน ที่ทางสาขาจะโทรเข้ามา หรือพอโทรเขามาเราสามารถแจ้งได้เลยว่า เห็นแล้วว่าอินเตอร์เน็ตสาขาดับ เรากำลังแก้ไข ตรวจสอบปัญหา ….. จะเป็นว่าแบบหลังเป็นการทำงานเชิงรุก มากกว่า เป็นการแก้ไขปัญหาได้อย่างรวดเร็ว หากมองในแง่การบริการ ถือว่า SLA ระดับเยี่ยมเลยแบบนี้

แล้วตัวระบบ Monitoring นี่มันมีอะไรบ้าง??

ปัจจุบันมีระบบมอนิเตอร์เน็ตเวิร์คทั้งแบบเสียตังก์ และ แบบฟรี อยู่หลากหลายมากๆๆ ตัวอย่าง ของฟรีแล้วกันนะครับ ที่ผมใช้งาน

  1. Icinga 2
  2. Nagios Core
  3. Observium Community
  4. Zabbix
  5. Zenoss Core
  6. CACTI (อันนี้ผมแถมมา ฮ่าๆๆ เพราะผมก็เคยใช้ตัวนี้ทำงานหาเงินอยู่)

ข้อมูลผมอ้างอิงจากเว็บไซต์นี้ครับ หาอ่านข้อมูลอ้างอิงได้ที่นี่ครับ http://blog.capterra.com/top-open-source-free-network-monitoring-software/

ต้องบอกตามความจริง ส่วนตัวผมเคยใช้ CACTI และ Zabbix ส่วนตัวอื่นๆ ผมยังไม่เคยลองใช้นะครับ จึงขอพูดถึงตัว Zabbix แล้วกัน คิดว่าตัวอื่นๆ ก็น่าจะทำงานคล้ายๆ กัน แต่เพียงแตกต่างกันที่ฟังก์ชั่นการทำงานและลูกเล่นต่างๆ ของตัวซอฟท์แวร์ ครับ

มาดูการทำงานคร่าวๆ ของ Zabbix Monitoring กัน

การทำงานของ Zabbix Monitoring เอาที่ผมใช้งานบ่อยๆ ก่อนนะครับ หลักๆ ผมทำงานผ่านโปรโตคอล SNMP ซึ่งตัวโปรโตคอลนี้จะมีอยู่กับอุปกรณ์เน็ตเวิร์คทั่วๆ ไป ครับเพราะเป็นมาตรฐานกลางที่ผู้ออกแบบฮาร์ดแวร์เน็ตเวิร์คต่างๆ ควรมี

ดังนั้นแล้วเวลาซื้อหาอุปกรณ์เน็ตเวิร์ค เช่น Switch หรือ Access Point ต่างๆ ควรมองหาด้วยว่า มันรองรับ SNMP หรือไม่ หากท่านกำลังคิดว่าจะใช้ระบบมอนิเตอร์แล้วจำเป็นต้องมีโปรโตคอลนี้ครับ

ตัวอย่าง HP Network 1920 48G อันนี้เป็น Switch 48 Ports แบบ Manage ครับ ก็มี SNMP ขออนุญาตอ้างอิงภาพมจากเว็บ www.2beshop.com นะครับภาพนี้

2016-11-29_11-04-45

ตัวอย่าง Cisco ครับ SG300 ตัวนี้ L3 Manage ด้วย อ้างอิงจากเว็บเดิม

2016-11-29_11-07-54

อย่าเพิ่งตกใจนะครับ เพราะส่วนมากแล้ว Switch พวกนี้จะเป็นแบบ Mange ครับ คือเริ่มตั้งแต่ L2 Manage ขึ้นไปจะมีโปรโตคอลพวกนี้ หรือพวกเร้าท์เตอร์ ก็ลองมองดูว่ามี SNMP หรือไม่ อ๋อ ลืมบอก MikroTik ยี่ห้อนิยมนี้มีให้ใช้ทุกรุ่นครับ SNMP (ผมคิดว่าอย่างนั้นน่ะเพราะมันมากับ RouterOS ผิดพลาดขออภัย ตรวจสอบจาก data sheet อีกทีก่อนซื้อ)

คราวนี้มีดูกันว่าหากเราจะมอนิเตอร์อุปกรณ์เหล่านี้เราต้องทำอะไรกับอุปกรณ์มันบ้าง

สิ่งที่เราต้องดำเนินการกับตัวอุปกรณ์ คร่าวๆ ครับ ดังนี้

  1. เปิดบริการ SNMP ขึ้นมา โดยปกติจะไม่ได้เปิดมาจากค่าโรงงาน (Default) ครับเช่น Cisco เองก็ปิดมา และ MikroTik เองก็ปิดการทำงานมาเช่นกันครับ
  2. กำหนด Community ค่า Default จะเป็น public (แนะนำอย่าใช้ของ Default นะครับ เปลี่ยนชื่ออะไรก็ได้ ตามใจชอบ ตามใจอยาก ได้เลย) ตัวนี้เอาไว้เช็คกับเครื่องที่จะมาเอาข้อมูลจากตัวอุปกรณ์ไป (ถ้าไม่มีใครก็ได้ก็จะสามารถเข้ามาเอาได้ อันนี้ไม่ปลอดภัยน่ะ) นั่นหมายความว่า ตัวอุปกรณ์ที่จะเก็บสถิติต่างๆ เช่น Zabbix Server ต้องกำหนด ค่า community ให้ตรงกับอุปกรณ์ที่กำหนดไว้ด้วยจึงจะสื่อสารข้อมูลกันได้ อันนี้ผมอธิบายแบบชาวบ้านนะครับ ส่วนแบบวิชาการ ผมไม่เป็น ฮ่าๆๆๆ อันนี้บอกตามตรง เพราะเขียนจากประสบการณ์
  3. การ Allow หรืออนุญาตให้โฮสไหน สามารถเข้ามาดึงข้อมูลนี้ไปได้บ้าง เพื่อความปลอดภัยของระบบครับ เช่น Cisco เราสามารถกำหนดได้ว่า จะให้ Zabbix Server ตัวไหน (อาจจะมี Server Monitoring มากกว่าหนึ่งตัว) สามารถเข้ามาสื่อสารข้อมูลกับอุปกรณ์ตัวนี้ได้บ้าง หากไม่ได้อนุญาตไว้ ถึงจะใส่ community string ตรงกัน ก็ไม่อาจเข้ามาได้ นั่นเอง

หลักๆ ก็มี 3 ข้อนี้ครับ

มาดูตัวอย่างการคอนฟิก SNMP Server ให้กับ Cisco Catalyst 2950 L2 Management ครับ

อันดับแรกก็เข้าโหมด Enable ก่อนนะครับ (ตัวอย่างนี้ท่านต้องกำหนดไอพีให้กับสวิทให้เรียบร้อยก่อน ผมไม่ขอกล่าวไว้น่ะครับ)

จากนั้นพิมพ์คำสั่ง snmp-server community public RO ครับ ดังภาพ
คืออะไร ?? คือการเปิดใช้งาน snmp server บน cisco ตัวนี้ครับ โดยกำหนดค่า community ชื่อว่า public และ สิทธิการใช้งานเป็นแบบ RO (Read Only) อ่านอย่างเดียวครับ

2016-11-29_9-28-34

เสร็จก็ทำการบันทึก โดยใช้คำสั่ง copy running-config startup-config ด้วยนะครับ

พอเสร็จแล้วก็ลองตรวจสอบดูครับว่า คำสั่งที่เรากำหนดไป มันทำงานหรือยัง โดยค้นหาว่าทำการหรือยังในการแสดงค่าคอนฟิก ครับ show running-config | include snmp-server

จากภาพจะเห็นว่ามันทำงานแล้วครับ

2016-11-29_9-29-17

แค่นี้ก็จบแล้วที่ Cisco Catalyst 2950 (อันนี้เป็นตัวอย่างแบบง่ายๆ นะครับ เพราะถ้าใช้งานจริงๆ ท่านควรกำหนด allow host ด้วย เพื่อความปลอดภัยของระบบครับ)

จากนั้นมาที่ Zabbix Server ของเราครับ

ทำการเพิ่มอุปกรณ์ (device) เข้ามาในระบบเพื่อทำการมอนิเตอร์

2016-11-29_9-30-08

กำหนดชื่ออุปกรณ์ (Hostname) เลือกกลุ่ม และ กำหนดไอพีของอุปกรณ์ที่เราจะทำการมอนิเตอร์

2016-11-29_9-31-43

จากนั้นทำการเลือก Template ครับ ตัวนี้เป็น Standard ซึ่งอุปกรณ์แต่ละรุ่นไม่เหมือนกัน หากไม่มีลองใส่ SNMP interface ไปดูครับ หากโชคดี อิอิ ตัวอย่าง Cisco Catalyst 2950 ผมเลือก ใช้งานได้ แต่ ข้อเสียได้แต่ Interface ดังนั้นหาเราต้องการดู cpu ram อะไรพวกนี้อาจจะต้องแก้ไข Template เพิ่มเติม เพื่อดูว่าทำงานงานยังไหวไหม นอกจากดูว่า แต่ละพอร์ตมีการใช้งานแบนวิดมากน้อยเพียงใด อันนี้ผมไม่ขอกล่าวแล้วกัน ไว้ว่างๆ จะมาเขียนในเชิงลึก อีกที ในการสร้าง Template ใช้งานเอง หากทราบวิธี มันจะทำให้เราสามารถมอนิเตอร์อุปกรณ์ได้ทุกยี่ห้อ ที่รองรับ snmp ครับ

2016-11-29_9-32-17

เสร็จแล้วก็กำหนด marcro ครับ คือกำหนด community string

2016-11-29_9-32-30

จากนั้นกลับไปหน้า host แล้วกดบันทึกครับ

จากนั้นที่หน้า Host คุณจะเป็นว่า ตัวอุปกรณ์คุณสามารถ Sync ข้อมูลได้หรือไม่ ให้ดูที่ SNMP ไอคอนครับ ถ้าขึ้นเขียวดังภาพ แสดงว่ากราฟพร้อมแสดงครับ (ใช้เวลาสักนิดในการ Discovery Interface นะครับ ไม่ต้องใจร้อน กว่ามันจะเขียว)

2016-11-29_10-03-47

จากนั้นลองมาดูที่กราฟกันครับ

ผมเอา Notebook เสียบที่พอร์ต 24 แล้วทำการโอนไฟล์ประมาณ 300 Mb นิดๆ ขึ้น Server ดังนั้น ผมจะสามารถตรวจสอบได้แล้วว่า พอร์ต 24 ที่ Notebook เสียบอยู่ มีการใช้งานแบนวิดไปเท่าไหร่

2016-11-29_9-11-47

อันนี้เป็นเพียงแค่ตัวอย่าง นะครับ ยาวมากล่ะ

สรุป

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

สุดท้ายหากสนใจระบบที่พร้อมใช้งาน ท่านสามารถติดต่อเรา เรายินดีให้คำปรึกษา และรับติดตั้งระบบให้เช่นกัน

ฝากไว้ ทุกคนทำเองได้ ให้ลองพยายามก่อน หากเทคนิคไม่ถนัดต้องการให้เราช่วย ยินดีให้บริการ เบอร์ติดต่อ 02-538-4378 , 095-549-9819 เราพร้อมดูแลท่านครับ (อิอิ ขอแอบขายของ)

 

ทุกอย่างมีที่มาขอบพระคุณบทความดีๆ ที่ได้ให้ความรู้ผม ผมเรียนรู้เรื่องเหล่านี้มาจากเว็บดังต่อไปนี้
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/13506-snmp-traps.html

http://www.switchportmapper.com/support-how-to-enable-snmp-on-cisco-switch.htm

http://www.zabbix.org/wiki/Main_Page

และขอขอบคุณอย่างยิ่งเลย คือ คุณวัชร บริษัทไอทีโปรฯ ที่ได้ร่วมงานและจุดประกายความรู้ Zabbix ให้กับผมครับ

ภาพอุปกรณ์ที่ใช้สำหรับการทดสอบ ในครั้งนี้ (เป็นชุดอุปกรณ์จริง ที่ใช้งานปัจจุบันใน)

Zabbix Server รันด้วย Lenovo อิอิ ตัวเล็กๆ ครับ เอาไว้เก็บข้อมูลเล็กๆ ผมเก็บอยู่ประมาณ 10 Site SNMP ของเร้าท์เตอร์ MikroTik เพื่อตรวจสอบแบนวิดการใช้งาน

15224612_10207984999845025_1961713146_o

อุปกรณ์ Switch อันนี้เอาไว้ Lab ในบ้านครับ ตั้งไว้กับโต๊ะทำงานคู่ใจ อิอิ

15271499_10207984993924877_229589142_o

 

One comment

  1. ขอบคุณครับอาจารย์ บทความดีๆได้ความรู้นำไปศึกษาต่อได้ใช้งานได้จริง สุดยอดครับ

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *