Munin

บันทึกเตือนความจำอีกแล้ว จริงๆเคยเขียนไปแล้วแต่คราวที่แล้วใช้ Trac ซึ่งอายุมันไม่ค่อยยืนหายไปบ่อยๆ เลยเอามาเขียนลงบล๊อกนี่แหละ ปลอดภัยดี(หรือป่าว – -”) ยังมีหลายๆ เรื่องที่เคยเขียนไปแล้วหายไป เช่น วิธีทำให้ SVN/Trac Authenticate กับ Unix password อะไรทำนองนี้อีกหลายเรื่อง ไว้นึกได้แล้วจะค่อยๆ เขียนเก็บไว้ละกัน

[Munin](http://munin.projects.linpro.no/) เป็นโปรแกรมที่ใช้สร้างกราฟรายงานสถานะของเซิร์ฟเวอร์ว่าใช้อะไรไปเท่าไหร่แล้วบ้าง และก็สามารถแสดงสถานะของบริการต่างๆ ที่เซิร์ฟเวอร์เปิดไว้อยู่ด้วย เช่น Apache และ MySQL ถ้ายังนึกไม่ออกไปดูที่ [monitor.nytes.net](http://monitor.nytes.net) ละกันมีอยู่สามเซิร์ฟเวอร์สามารถดูเป็นรายวันพร้อมกันได้ด้วย สำหรับเหตุผลว่าทำไมเลือกใช้ Munin ทั้งๆ ที่มีอย่างอื่นที่น่าจะดีกว่าเยอะแยะ เช่น [zabbix](http://www.zabbix.com/) หรืออื่นๆ อีกมากมายดูได้ที่ [wiki](http://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems) เพราะว่ามันติดตั้งง่ายและก็ไม่ต้องตั้งค่าไรมาก(ของเพื่อนไม่ต้องตั้งไรเลย ลงจาก port อย่างเดียว) แล้วกราฟก็หน้าตาใช้ได้ไม่ได้หน้าเกลียดอะไร เรียกว่าสวยงามใช้ได้ทีเดียวด้วยซ้ำ

ตัว Munin จริงๆ แล้วประกอบด้วยสองส่วนคือ munin-node และ munin-main ปัจจุบันที่อยู่ใน port เป็นรุ่น 1.2.4 อยู่ที่ sysutils สำหรับ Linux บอกตามตรงคือไม่รู้ ^^! เพราะตอนนี้ใช้แต่ FreeBSD เป็นส่วนใหญ่ในฝั่งเซิร์ฟเวอร์ ก็ใครเคยทำก็ลองเขียนแนะนำมาดูละกันนะ วิธีติดตั้งก็แสนง่าย เริ่มจาก

* ติดตั้ง munin-node ก่อน โดยเข้าไปที่ /path/to/ports/sysutils/munin-node
* สั่ง make install clean รอมันจนติดตั้งเสร็จเป็นอันเสร็จพิธี
* ออกมาติดตั้ง munin-main โดยเข้าไปที่ /path/to/ports/sysutils/munin-main
* สั่ง make install clean อีกตามเคย
* แก้ไฟล์ /etc/rc.conf เพิ่ม

munin_node_enable=”YES”

เพื่อให้ munin-node ทำงานทุกครั้งหลังจากเปิดปิดเครื่องใหม่

* สั่ง munin-node ให้เริ่มทำงานด้วยคำสั่ง 

/usr/local/etc/rc.d/munin-node.sh start

* เปลี่ยนเป็น user munin

su munin

จากนั้นตั้งเวลาว่าจะให้มันสร้างกราฟทุกๆ กี่นาทีด้วยคำสั่ง

#crontab -e

เพื่อแก้ไข cron config เพิ่มไปว่า

*/5 * * * * /usr/local/bin/munin-cron

จริงๆ อาจไม่ต้องเพิ่มเองก็ได้ ถ้ามีอยู่แล้ว

ต่อไปถ้าอยากให้มันแสดงสถานะของ Apache ด้วยก็ต้องทำให้ Apache มันมี mod_status ก่อน ซึ่งก็ติดจาก ports อีกเช่นเคยอยู่ใต้ /path/to/ports/www/apache22 (มันมากับ apache เลยอ่ะนะ ถ้าใครติดไปแล้วอาจต้อง deinstall แล้ว install ใหม่) จากนั้นก็ config apache เพื่อให้มันสามารถดูสถานะผ่านเว็บได้


SetHandler server-status
#Don’t allow anyone to access this path directly
Order deny,allow
Deny from all
#Specify munin-node host
Allow from localhost

ไปที่ directory /usr/local/etc/munin/plugins แล้วสร้าง link ไปที่ apache plugin

ln -s /usr/local/share/munin/plugins/apache_accesses
ln -s /usr/local/share/munin/plugins/apache_processes
ln -s /usr/local/share/munin/plugins/apache_volume

จากนั้นสั่ง

/usr/local/etc/rc.d/munin-node.sh restart

เพื่อให้มันใช้ plugins ใหม่ที่เพิ่มเข้ามาแล้วก็รอๆ ให้ munin-main ไปเรียก munin-node เพื่อเอาข้อมูลมาสร้างกราฟใหม่

About llun

Just a programmer

, ,

  • http://llun.info llun

    @Thanik ถ้าเรียก munin-cron มาทำงานเหมือนกัน ก็อาจจะไม่ต้องรอห้านาที

  • http://thanik.nytes.net ThAniK

    “การติดตั้งครั้งแรกต้องรอ 5 นาที เพื่อให้มันทำงาน”

    เร่งมิได้?

  • http://sourcode.net sourcode

    สำหรับผู้ใช้ linux ตระกูล debian (ubuntu, mint, etc)
    ท่านสามารถติดตั้ง munin โดยใช้คำสั่ง

    $ sudo apt-get install munin munin-node

    จบ…

    ท่านสามารถเข้าไปดู ผลการ monitor ที่ http://hostname/munin

    ปล. munin ใน ubuntu อัพเดตทุกๆ 5 นาที ฉะนั้น การติดตั้งครั้งแรกต้องรอ 5 นาที เพื่อให้มันทำงาน