monit 配置与使用
monit 是一款小巧而功能强大的服务器监听软件,支持监听文件、进程等。 本文主要是使用monit兼容后台服务状态,服务挂掉了之后,马上通知相关人员进行处理,更多请参考 monit
一、安装
monit 支持从软件仓库与源代码进行安装。 Debian与Ubuntu: apt-get install monit Centos: yum install monit 源代码安装,请参考monit wiki
二、配置
建议关闭 monit 内置的 httpd 管理服务 在Ubuntu中配置文件一般在 /etc/monit/monitrc中。Centos一般在/etc/monitrc 最好需要配置monit 服务开机自启动 systemctl enable monit,以及开启服务: systemctl start monit
主要是配置以下点:
- 监视检查周期 根据需要设置为你想要的时间,这里的单位是秒
set daemon 120 # 2分钟检查一次
- 邮件通知服务器 需要配置邮件SMTP服务器地址、端口、用户名、密码,如果使用了SSL,还要加上using tlsv1(TLSV1)
set mailserver smtp.address port 994
username "username" password "password"
using tlsv1
with timeout 30 seconds
- 邮件通知格式 可以要设置我们想要配置的项,更多的可以看参考手册。
set mail-format { from: 来源邮件地址 }
- 设置邮件接收人
所有服务发生变更,都发送给配置的接收人:
set alert 邮箱地址
对事件进行筛选通知:
set alert your-name@your.domain not on { instance, action }
- 监听服务 可以参考配置文件
三、监听案例
这里是一个根据进程名监听示范,监听进程名为 "myprocessname"
check process myprocessname
matching "myprocessname"
start program = "/etc/init.d/myproccessname start"
stop program = "/usr/bin/killall myprocessname"
if cpu usage > 95% for 10 cycles then restart