作用
1.monit 可以用来监控进程,尤其对监控守护进程很有用,比如:在系统启动时间启动的/etc/init.d
2.monit 可以用来监控files,directories 文件系统这些项目的改变,比如:时间戳,校验和改变,文件大小改变
3.monit 可以用来测试程序的返回值,并以此为依据,进行一些必要的操作,比如执行一个动作或者发送一个警报
安装
sudo apt-get install monit
配置
vim /etc/monit/monitrc
把需要监控的进程等信息添加到Monit的配置文件中,Monit配置可以参考下面的示例文件monitrc。
## Monit control file
# 检查周期,默认为2分钟,可以根据需要自行调节,这里把它改成30秒。
set daemon 30
# 日志文件
set logfile /var/log/monit.log
# 邮件通知服务器
#set mailserver mail.example.com
set mailserver localhost
# 通知邮件的格式设置,下面是默认格式供参考
set mail-format { from:webmaster@example.com }
# 设置邮件通知接收者。建议发到gmail,方便邮件过滤。
set alert userxxx@gmail.com
set httpd port 2812 and # 设置http监控页面的端
use address www.example.com #http监控页面的IP或域名
allow localhost # 允许本地访问
allow 58.68.78.0/24 # 允许此IP段访问
##allow 0.0.0.0/0.0.0.0 # 允许任何IP段,不建议这样干
allow userxxx:passwordxxx # 访问用户名密码
include /etc/monit/conf.d/*
设置监控
vim /etc/monit/conf.d/xl2tpd
check process xl2tpd with pidfile /var/run/ppp0.pid
start program = "/home/ops/vpn.sh"
stop program = "/home/ops/vpn.sh"
启动monit
/etc/init.d/monit start
模拟xl2tpd 端口连接的情况
echo 'd vpn ' > /vart/run/xl2tpd/l2tp-control
观察日志输出
tail -f /var/log/monit.log
查看monit 所有监控项的状态
monit status