Monit检查多个pidfiles的进程

时间:2015-07-03 05:46:34

标签: node.js monit pm2

我有一个带有多个节点进程的Nodejs Web应用程序,我多次开始使用pm2 start app.js

为了监控这些进程,我使用pm2的pm2 startup ubuntu命令创建了一个init脚本。然后,在我的应用程序的monit配置文件中,我使用此init脚本作为启动和停止monit的程序命令。然后我对monit配置文件中的两个进程使用check process pm2_1 with pidfile /path/to/node-pidfile之类的东西。

我希望monit检查这两个进程的pidfiles,当其中一个或两个进程都关闭时,重启这两个进程。所以,这就是my-webapp.monitrc的样子:

    check process pm2_1
        with pidfile /root/.pm2/pids/proc1-0.pid
        start program = "/etc/init.d/pm2-init.sh start"
        stop program = "/etc/init.d/pm2-init.sh stop"

    check process pm2_2 
       with pidfile /root/.pm2/pids/proc2-1.pid
       start program = "/etc/init.d/pm2-init.sh start"
       stop program = "/etc/init.d/pm2-init.sh stop"

问题是,如果其中一个进程关闭,它就可以运行。但如果两个进程都关闭,monit会执行两次启动命令。

有没有办法让检查过程有一个“OR”条件来监控多个不同的pidfiles并只执行一次相同的启动和停止命令?

0 个答案:

没有答案