Monit 5.4 发布,增加了处理 uptime 的测试,例如可设置条件 if uptime > 3 days then restart;另外支持 Linux 的 uClibc;其他方面主要是 bug 修复,详情请看 ChangeLog。
Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误,同时Monit 包含一个内嵌的 HTTP(S) Web 界面,你可以使用浏览器方便地查看 Monit 所监视的服务器。
Monit官网:http://mmonit.com/monit/
1、安装Monit
Redhat、CentOS可以到:http://pkgs.repoforge.org/monit/ 下载对应位数rpm包安装。 Debian可以直接:apt-get install monit 安装。
源码编译安装:
./configure --prefix=/usr/local/monit --without-ssl
make
make install
mkdir -p /usr/local/monit/etc
cp monitrc /usr/local/monit/etc
chmod 600 /usr/local/monit/etc/monitrc
2、修改配置文件
CentOS用RPM包安装的话配置文件在: /etc/monit.conf;Debian apt-get安装的话配置文件在:/etc/monit/monitrc;源码编译在安装目录 $prefix/etc/monit.conf
下面是一个简单的例子,配置文件中已经包含了大量的例子,可以看配置文件参考。
set daemon 120 #设置检测时间
set logfile /var/log/monit.log #monit日志
set httpd port 2812 and # monit内置了一个用于查看被监视服务
use address 192.168.10.197 # 设置这个http服务器的地址
allow 192.168.10.0/24 # 允许本地访问
allow admin:monit # 设置使用用户名admin和密码monit
set mailserver smtp.sina.com port 25 USERNAME "linlianpengit@sina.com" PASSWORD "***" #(设置发送邮件的服务器及邮箱)
#制定报警邮件的格式
set mail-format {
from: linlianpengit@sina.com
subject: $SERVICE $EVENT at $DATE
message: Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
}
#指定邮件接收者
set alert XXX@qq.com with reminder on 3 cycles
#检测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 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
#检测mysql服务
check process mysql with pidfile /usr/local/mysql/var/vpser.pid
group database
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
#检测nginx服务
check process nginx with pidfile /usr/local/nginx/logs/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if failed host localhost port 80 protocol http
then restart
配置中的pid及启动、关闭脚本的路径一定要是全路径,且参数一定要正确否则会造成无法正常检测或正常启动。
如果添加了http可以直接使用http://192.168.10.197:2812 进行管理。
可以看到监控服务的运行状态:
3、启动/停止Monit
CentOS:
chkconfig monit on //加入开机启动
/etc/init.d/monit {start|stop|restart|force-reload|syntax}
Debian:
编辑:/etc/default/monit 文件,查找 startup=0 ,将0改为1,保存。
update-rc.d -f monit defaults
/etc/init.d/monit {start|stop|restart|force-reload|syntax}
转载于:https://blog.51cto.com/ifenx/1826337