monit 配置与使用

08月31日2018 工作杂谈 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

主要是配置以下点:

  • 监视检查周期 根据需要设置为你想要的时间,这里的单位是秒
  1. set daemon 120 # 2分钟检查一次
  • 邮件通知服务器 需要配置邮件SMTP服务器地址、端口、用户名、密码,如果使用了SSL,还要加上using tlsv1(TLSV1)
  1. set mailserver smtp.address port 994
  2. username "username" password "password"
  3. using tlsv1
  4. with timeout 30 seconds
  • 邮件通知格式 可以要设置我们想要配置的项,更多的可以看参考手册。
  1. set mail-format { from: 来源邮件地址 }
  • 设置邮件接收人
  1. 所有服务发生变更,都发送给配置的接收人:
  2. set alert 邮箱地址
  3. 对事件进行筛选通知:
  4. set alert your-name@your.domain not on { instance, action }
  • 监听服务 可以参考配置文件

三、监听案例

这里是一个根据进程名监听示范,监听进程名为 "myprocessname"

  1. check process myprocessname
  2. matching "myprocessname"
  3. start program = "/etc/init.d/myproccessname start"
  4. stop program = "/usr/bin/killall myprocessname"
  5. if cpu usage > 95% for 10 cycles then restart

参考

1.monit manual     

2.用monit监控系统关键进程