Monit เป็นโปรแกรม open source ที่มีคุณสมบัติด้านการ Monitor  Service  ในระบบ  ซึ่งบางครั้ง ใน Server  linux ของเรานั้น อยู่ดีๆ อาจเกิดปัญหา  ด้าน system , network  หรือ องค์ประกอบใดๆ ที่ทำให้ Service ของเครื่อง stop เอง  หรือ start อยู่แต่ output ไม่ทำงาน Monit จึงเกิดมาเพื่อแก้ปัญหาเหล่านี้

ส่วนตัวผมนั้นได้นำ Monit มา Monitor Service  ffmpeg   (ที่ผมได้เขียนเป็น shellscript ยัดลง /etc/init.d/myservice เข้าระบบ process และเก็บค่า pid แล้ว  **ซึ่งการเขียน shellscript  เป็น Service นั้นผมขอข้ามไปบทความหน้านะครับ   )

ปัญหาของผมช่วงแรกๆคือ    ffmpeg  หลุดบ่อยมาก  หลุดทีนึงก็ต้องมานั่ง ใส่โค็ดรันใหม่ทีหนึ่ง    ลำบากผมเหลือเกิน  เพราะฉะนั้นผมอยากให้ทุกครั้งที่ service ffmpeg นี่มันหายไปจาก process  ให้มันทำการ run ตัวเองขึ้นมาใหม่โดยที่ผมไม่ต้องทำอะไรเลย  แค่แจ้งเตือนผมก็พอ

อันนี้รูปตัวอย่างผมจะสาธิตโดยการ stop service ให้ดูเป็นขวัญตา

ใช้คำสั่ง stop service นะครับ

ใน monit ก็จะแจ้งเตือน แบบนี้ครับ
-สีเขียว   Service ยังรันอยู่
-สีแดง   Service หายไป
-สีเท่า ปิดการเช็ค Service อยู่

แล้วก็นับถอยหลัง 5 วิ  (ผมตั้งให้มัน run service หลังจากหา Service ไม่เจอ ภายใน 5 วินาที  ตั้งให้มันเร็วมากไปกว่านี้เกรงว่า monit จะรวนนะครับ)

มันรีให้เรียบร้อยแล้ว

ชมตัวอย่างกันไปเรียบร้อยแล้ว  มาถึงขั้นตอนการติดตั้งดีกว่า Centos ครับ

อัพเดด repo กันก่อนนะครับ
ใช้คำสั่ง  rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

1.ติดตั้ง ssl gcc

yum -y install openssl* gcc

2.ติดตั้ง pam-devel

yum install pam-devel

3.ติดตั้ง openssl-devel

yum install openssl-devel

4.โหลด rpm ของ monit “ผมแนะนำเวอรขั่น 5.5 นะครับ”

wget http://pkgs.repoforge.org/monit/monit-5.5-1.el6.rf.x86_64.rpm

5.ติดตั้ง ไฟบ rpm เลยครับ

rpm -ivh  monit-5.5-1.el6.rf.x86_64.rpm

เสร็จแล้วครับ มาถึงวิธีการ config

vi /etc/monit.conf

 

อันนี้เป็น ตัวอย่างโค๊ด เช็คว่า service ดับ ให้ทำการ สตาร์ขึ้นมาใหม่

ดูจากโค๊ดน่าจะเดาวิธีการทำงานไม่ยากนะครับ

แต่!!  monit ทำได้มากกว่านั้น       สามารถ สั่งรีสตารท Service เมื่อ cpu เกินเท่าไหร่  หรือจะเป็น ให้แจ้งเตือนเวลา service ดับ  แล้วเพิ่มรีพอท     หรือจะสั่งให้รีตัวเองทุกๆกี่วัน ก็ได้ แล้วแต่โค๊ดที่เราเขียน   ซึ่งสามารถศึกษาได้จาก เว็บโดยตรงเลยครับ

http://mmonit.com/monit/

ปล    ขออภัย ในเซนเซอรบางอันด้วยนะครับ  เนื่องจากเอามาจากเครื่องที่ใช้งานจริง  ซึ้งผมกลัวอาจจะมีการ Hack Stream ในเครื่องจริงของผมได้ครับ   อาจดูยากนิดหน่อย เพราะพึ่งเขียนบทความครั้งแรกครับ    มือใหม่จริงๆ

ใว้เจอกันใหม่ครับ     Inot

เครดิต
http://mmonit.com/monit/
http://www.unixmen.com/install-and-configure-monit-on-centos-rhel-ubuntu-debian/

คำตอบนี้มีประโยชน์หรือไม่? 0 Users Found This Useful (0 Votes)