Cacti RahuNAS Management Plugin

จาก Blog ก่อนหน้า "RahuNAS โค้งสุดท้ายก่อนส่งงาน ม.ขอนแก่น" ที่ได้กล่าวถึง RahuNAS และหลังจากวันนั้น ได้มีการทดสอบ และแก้ Bug ไปพอสมควร จนเห็นว่า สามารถทำงานได้เป็นที่น่าพอใจ

สิ่งที่ขาดไป สำหรับ Admin ในการตรวจสอบการทำงาน คือ ระบบ Monitoring ซึ่งก็ได้มีการใช้เครื่องมืออย่าง Cacti ซึ่งเป็น rrdtool-based graphing solution ซึ่งทำให้ Admin สามารถสั่งให้ระบบสร้างกราฟ เพื่อใช้ในการตรวจสอบระบบในภายหลังได้ ซึ่ง Cacti ก็ทำได้ดีทีเดียว ทั้งในการบันทึกกราฟ จำนวนผู้ใช้ ที่ Login ผ่านทาง RahuNAS, การทำงานของเครื่อง Server ทั้ง CPU, Memory, Disk หรือแม้แต่ Bandwidth ที่ระบบให้บริการกับผู้ใช้ ซึ่งในบางกรณี สามารถช่วยในการวิเคราะห์ความผิดปกติของระบบได้

ในคราวนี้ Admin ก็มีความต้องการที่จะตรวจสอบว่า ในปัจจุบัน มีผู้ใช้ใดบ้าง ที่ Login เข้ามายัง RahuNAS ซึ่งก็มีอยู่ 2 ทางเลือก คือ ตรวจสอบจากฐานข้อมูลของ FreeRADIUS ซึ่งเป็นวิธีการที่ได้วางแผนไว้ใช้งานสำหรับเครื่อง Single Box (Standalone Server) แต่ทว่า การใช้งานที่ มหาวิทยาลัยขอนแก่น เป็นระบบที่ใหญ่ มีการใช้งาน RADIUS ที่ศูนย์กลาง จึงไม่สะดวกที่จะเรียกข้อมูลจากฐานข้อมูลของ RADIUS เพื่อมาดู จึงมีแนวคิดว่า จะเขียน WebUI เพื่อมาเรียกข้อมูลจากฐานข้อมูลของ RahuNAS เอาจะสะดวกกว่า

จากการที่ได้ใช้ Cacti ในการทำ Monitoring อยู่แล้ว การเพิ่ม Plugin เข้าไปยัง Cacti เพื่อทำงานในลักษณะนี้ จึงเป็นเรื่องที่น่าสนใจ
และจากการตรวจสอบ Cacti Users Community ของ Cacti ก็ทำให้พบว่า มีทางที่จะทำ Plugin สำหรับ Cacti โดยการ Patch Cacti ด้วย Plugin Architecture ซึ่งการ Patch สำหรับ Debian จะติดปัญหานิดหน่อย แต่ก็แก้ไข และทดสอบได้

ก็มาถึงขั้นตอน การสร้าง Module ก็ใช้วิธีเลียนแบบ และทำตามก่อน และค่อย ๆ ปรับตามวิธี และตามทางของตัวผมเอง ซึ่งเบื้องต้น ก็ได้ Cacti RahuNAS Management Plugin ออกมา

สิ่งที่ยังต้องทำเพิ่ม ก็คงจะเป็นการจัดการ Config file ของ RahuNAS ซึ่งในขณะนี้ RahuNAS สามารถที่จะควบคุมระบบที่มีความซับซ้อนได้แล้ว ไม่ว่าจะเป็น การแยก VLAN, แยกกลุ่ม IP, แยกคนละ Network Interface ซึ่ง RahuNAS สามารถเพิ่ม Virtual Server ได้อย่างอิสระ ก็คงจะได้ใช้ Cacti Plugin นี้ เพื่อมาช่วยทำให้งาน Config ง่ายขึ้นบ้าง ส่วนอะไรที่ต้องลงรายละเอียด ความคิดผมก็ใช้ Command จะเป็นการดีกว่า ใช้คำว่า "โดยส่วนตัวแล้ว ผมขาด Command Line ไม่ได้ :P"

หลังจากเขียนเสร็จ จะได้จัดทำ Debian Package (deb) เพื่อสะดวกในการเผยแพร่ และนำไปใช้งานต่อไป ซึ่งจะได้ Upload ไว้ที่ ftp://ftp.rahunas.org

ปล. และแล้วก็ยังไม่มีเวลาทำ Web เพื่อเผยแพร่ RahuNAS อยู่ดี คงต้องรอให้ว่างสักหน่อย ถึงจะได้จัดทำ -_-''