Nimbus和Supervisor都是快速失败,无状态的进程,Nimbus的单点问题一直没有很好的解决办法,所以我们可以对相关进程进行监控,在其挂掉时尝试重启。
在之前的项目里,比较常用的方式是通过monit对相关进程进行监控,通过monit监控需要对每台机器进行配置,可以通过Fabric(http://www.fabfile.org)进行统一配置,这里不详细介绍monit监控的方式。
通过Shell脚本可以实现在Nimbus节点上,监控整个集群,前提是需要Nimbus节点与Supervisor建立SSH无密码访问。具体内容如下
main.sh
#!bin/bash
dir=`dirname $0`
while [ 1 ]
do
echo "========== "`date`"