星外飞客

monit用 Monit 监测 linux 服务器
Monit 是一个用来监测系统状态的工具,不但可以用来监视进程、服务、文件、目录、文件系统,还可以在服务 down 掉的时候自动重启服务或者当某个进程占用过多的资源的时候自动停掉进程,并且支持 Email 报警功能、远程服务器监测、web 管理界面等,功能很多很强大。VPSee 用 monit 来监测多个 VPS 和独立服务器,如果某个 VPS down 了、某个服务器资源紧张,就能第一时间知道,而且某个服务停了的话可以自动重启服务。

安装 monit
在 CentOS 下安装和配置文件:

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm   

# yum install monit   

# vi /etc/monit.conf 

配置 monit
修改 monit 的配置文件,/etc/monit.conf(CentOS)或者 /etc/monit/monitrc(Debian),每隔120秒检查一次系统,如果 httpd/mysql/sshd 服务停掉了就重新启动相应服务。对于 httpd 服务器,当发现 CPU/MEM 占用过大、loadavg 太高时就执行相应的报警、重启服务指令。如果使用 Email 报警功能,需要配置 Email 地址、邮件服务器等信息:

set daemon  120    

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 port 22 protocol ssh then restart
   if 5 restarts within 5 cycles then timeout    

check process mysql with pidfile /var/run/mysqld/mysqld.pid
   group database
   start program = “/etc/init.d/mysqld start”
   stop program = “/etc/init.d/mysqld stop”
   if failed host 127.0.0.1 port 3306 then restart
   if 5 restarts within 5 cycles then timeout    

 check process nginx with pidfile /var/run/nginx.pid
    start program = “/etc/init.d/nginx start”
    stop program  = “/etc/init.d/nginx stop”
    if failed host www.yanghengfei.com port 80 protocol http
       then restart    

 check process php_cgi with pidfile /var/run/php_cgi.pid
    start program = “/etc/init.d/php_cgi start”
    stop program  = “/etc/init.d/php_cgi stop”
    if failed host 127.0.0.1 port 9000 then restart
    if 5 restarts within 5 cycles then timeout    

check process apache with pidfile /var/run/httpd.pid
   group www
   start program = “/etc/init.d/httpd start”
   stop program  = “/etc/init.d/httpd stop”
   if failed host www.yanghengfei.com port 8080 protocol http
      then restart
   if cpu is greater than 80% for 2 cycles then alert
   if cpu > 80% for 5 cycles then restart
   if totalmem > 512 MB for 5 cycles then restart
   if children > 200 then restart
   if loadavg(5min) greater than 10 for 8 cycles then stop
   if 3 restarts within 5 cycles then timeout   

更多详细信息可以参考配置文件,里面注释写得很详细。

启动 monit
在 CentOS 下启动并加入到系统启动脚本:

# /etc/init.d/monit start
# /sbin/chkconfig monit on 
版权所有,转载请注明出处。
转载自 <a href="http://www.yanghengfei.com/archives/450/" title="用 Monit 监测 Linux 服务器" rel="bookmark">用 Monit 监测 Linux 服务器 | 星外飞客 </a>

我简单说几句

随机推荐

最新评论

无觅相关文章插件,快速提升流量