ระบบ MONITOR SERVICE พร้อมจัดการระบบ แบบอัตโนมัติ ด้วย MONIT

ระบบ MONITOR SERVICE พร้อมจัดการระบบ แบบอัตโนมัติ ด้วย MONIT

 

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/