monit 监控 使用教程 - xd21303/Notebook GitHub Wiki

安装

yum install monit

启动

monit

后台守护进程方式启动

monit -d 30

退出

monit quit

配置文件位置 /etc/monitrc

# 后台进程30秒检查一次状态
set daemon 30

# 可在/etc/monit.d/* 添加多个服务
include /etc/monit.d/*

在/etc/monit.d/目录下添加监控的服务,例如python的进程,qa

check process qa with pidfile /var/run/qa.pid
  start = "qa.sh start"
  stop = "qa.sh stop"
  if not exist then restart

这里需要python在/var/run/qa.pid创建一个pid文件。通过监控这个文件的方式来监控python进程。

编写qa.sh的启动脚本。

#!/bin/bash

PIDFILE=/var/run/qa.pid

case $1 in
   start)
       cd PATH
       source bin/activate
       python qa.py 2>/dev/null &
       # Get its PID and store it
       echo $! > ${PIDFILE} 
   ;;
   stop)
      kill `cat ${PIDFILE}`
      # Now that it's killed, don't forget to remove the PID file
      rm ${PIDFILE}
   ;;
   *)
      echo "usage: qa {start|stop}" ;;
esac
exit 0

最后注意 qa.sh 一定要添加运行权限。

chmod u+x qa.sh