文章出處

原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://coolerfeng.blog.51cto.com/133059/50126
Monit是一款功能非常豐富的進程、文件、目錄和設備的監測軟件,用于Unix平臺。 它可以自動修復那些已經停止運作的程序,特使適合處理那些由于多種原因導致的軟件錯誤。monit運行于應用層
安裝很簡單,三部曲
#./configure
#make
#make install
 
復制配置文件
# cp monitrc /etc/monitrc
 
接下來我們根據實際情況來修改這個配置文件
set daemon 120 # Poll at 2-minute intervals//每2分鐘檢查一次
set logfile /home/monit/log/monit.log          //monit的日志文件
set alert zhouwei@chinabank.com.cn with reminder on 1 cycle  //出現1次錯誤的時候發報警郵件到指定的郵箱
#set mailserver mail.tildeslash.com, mail.foo.bar port 10025, localhost with tim
eout 15 seconds
set mailserver 10.10.9.109    //設置郵件服務器
set httpd port 2812 and use address 10.10.8.2 //設置http監控頁面的端口和ip
    allow localhost   # Allow localhost to connect //允許本機訪問
    allow 10.10.8.0/24                                            //允許此IP段訪問
    allow admin:nishiwode # Allow Basic Auth   //認證的用戶名和密碼
# all system                                                         //平均負載.內存使用率,cpu使用率
check system 10.10.8.2
   if loadavg (1min) > 4 then alert
   if loadavg (5min) > 2 then alert
   if memory usage > 75% then alert
   if cpu usage (user) > 70% then alert
   if cpu usage (system) > 30% then alert
   if cpu usage (wait) > 20% then alert
# all disk                                                              //磁盤空間使用率
check device data with path /dev/sda2
   if space usage > 90% then alert
   if inode usage > 85% then alert
check device home with path /dev/sda3
   if space usage > 85% then alert
   if inode usage > 85% then alert
# all rsync
#10.10.8.2
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
//監控ssh服務
check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
//監控http服務

//監控自定義服務
check process web_lb with pidfile /data/v20/server/web_lb/httpd.pid
    start program = "/data/v20/bin/lb.sh"  //啟動腳本
    stop  program = "/data/v20/bin/lb_stop.sh" //停止腳本
    if failed host 10.10.8.2 port 16101 proto http then restart
    if failed host 10.10.8.2 port 16101 proto http for 5 times within 5 cycles t
hen exec "/data/v20/bin/lb_pay.sh"
    if failed host 10.10.8.2 port 16102 type TCPSSL proto http then restart
    if failed host 10.10.8.2 port 16102 type TCPSSL proto http for 5 times withi
n 5 cycles then exec "/data/v20/bin/lb_pay.sh

RHEL可以用如下方法啟動monit
# vi /etc/inittab
添加:
mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc
Now start monit:
# init -q或者# telinit -q
You can verify that monit is started from /var/log/message log file:
# tail -f /var/log/message
如果正常啟動能看到如下輸出:
Nov 21 04:39:21 server monit[8759]: Starting monit daemon
Nov 21 04:39:21 server monit[8759]: Monit started
 
最后可以測試一下,看看是否有讓你滿意的效果.

本文出自 “風吹云動” 博客,請務必保留此出處http://coolerfeng.blog.51cto.com/133059/50126


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()