monit监控Linux系统

时间:2021-01-03 23:14:57

monit监控Linux系统

Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台。它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。 Monit 对管理员来说可谓神器也。话说 Nagios 也就是在监控牛,而 Monit 不但本地监控牛,远程监控也牛。更牛的是,只要你花点功夫,你的服务就永远都能“死而复生”。

Monit 是用于对系统中的进程、文件、目录、以及设备等进行监视和管理的工具。当你所指定的server宕机或者没有反应,monit会将该进程杀死并重启该server。并通过邮件进行通知。Monit 包含一个内嵌的 HTTP(S) Web 界面,你可以使用浏览器方便地查看 Monit 所监视的服务器。

下面将介绍monit在CentOS5.3上的安装和配置:

  download:http://mmonit.com/monit/dist/monit-5.1.1.tar.gz

  shell >  tar xzvf monit-5.1.1.tar.gz

  shell> cd monit-5.*

  shell>./configure

  shell>make

  shell> make install

  shell> rm /etc/monitrc

  shell> cp monitrc /etc/

  在inittab文件中添加下面这句话,使init守护monit进程!!

  shell> vi /etc/inittab

  mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc

  现在安装完成了,是不是超简单!!

  接下来就是配置了!!

  Monitrc文件########################################################

  set daemon  120        #设置monit检查的间隔时间,单位是秒!!

  set logfile syslog facility log_daemon  #用syslog来记录log

  set logfile /var/logs/monit.log #设置日志路径

  set idfile /var/.monit.id #设置PID文件的位置

  set mailserver  192.168.0.21,               # primary mailserver  邮件服务器的IP

  set mail-format { from: monit@test.com }  #设置你的邮件从哪个账号发出

  set alert phoneNumber@139.com                     #发到我的139邮箱,用139邮箱是因为139有一个邮件到达通知功能

  set httpd port 2812 and                                                #设置monit监听的端口号

  use address 192.168.0.21   # 设置monit服务器的IP,可以让你方便的http访问

  allow admin:pass      #设置用户名和密码

  ################################# Services  ##############################

  监控服务器的磁盘使用情况

  check device system with path /dev/mapper/VolGroup00-LogVol00

  if space usage > 85% for 5 times within 15 cycles then alert

  if space usage > 95% then stop

  if inode usage > 85% then alert

  if inode usage > 95% then stop

  ######################################################

  #sshd   监控sshd进程

  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  then restart

  if 5 restarts within 5 cycles then timeout

  #######################################################

  #cron       监控crontab进程

  check process cron with pidfile /var/run/crond.pid

  group system


参考资料:

1.  http://www.poluoluo.com/server/201007/89607.html

2.  百度百科