Linux服务监听自动启动服务monit

前段时间开发的一个服务在内存只有512M内存的机器上跑,隔几天掉一次。办法有很多,常见的可以crontab + shell脚本很容易解决,但是服务故障修复或者更新程序的时候还得把cron该条禁用,比较麻烦。还有大一点的可以有Nagios或者zabbix但是在这么小的内存上就排除了。

这时候有个叫monit的能用的上了。
安装

sudo apt-get install monit

安装完在配置文件里加一个

check process xxxx with pidfile /home/xxx/xxx/app_root/server.pid
  start program = "/bin/su - app_user -c 'xxxx command'" with timeout 50 seconds
  stop program = "xxxx command"
  if cpu > 60% for 2 cycles then alert
  if cpu > 80% for 5 cycles then restart
  if 3 restarts within 5 cycles then timeout

配置完毕。

优点,可以设置cpu使用率来停止或者重启服务,或者设置内存占用率来启停重启服务。
还可以监听http、https、tcp、udp。服务异常还可以发送邮件通知。最后还可以在网页上显示。
真是一个不错的小工具啊。

你可能感兴趣的:(Linux服务监听自动启动服务monit)