1

I want to use monit for ability to reload pm2 node.js site if response is longer than 2 seconds.

This is my monit config /etc/monit/monitrc:

check process pm2 with pidfile "/root/.pm2/pids/siteName9000.pid" 
        start program = "/usr/local/bin/pm2 start ~/pathToNodeApp/9000/app.js --name siteName9000" 
        stop program  = "/usr/local/bin/pm2 stop siteName9000" 
        if failed port 9000 protocol HTTP 
            request / 
            with timeout 2 seconds 
            then restart

Then in console I run:

# monit restart pm2

Then in console I run:

# monit -d 10 -c /etc/monit/monitrc

to make this checking every 10 seconds.

Then in monit log /var/log/monit.log I see:

[MSK May 18 06:57:05] info     : 'pm2' restart on user request
[MSK May 18 06:57:05] info     : monit daemon with PID 22480 awakened
[MSK May 18 06:57:05] info     : Awakened by User defined signal 1
[MSK May 18 06:57:05] info     : 'pm2' trying to restart
[MSK May 18 06:57:05] info     : 'pm2' start: /usr/local/bin/pm2
[MSK May 18 06:57:36] error    : 'pm2' failed to start
[MSK May 18 06:57:36] info     : 'pm2' restart action done
[MSK May 18 06:58:27] info     : Awakened by User defined signal 1
[MSK May 18 06:58:27] error    : 'pm2' process is not running
[MSK May 18 06:58:27] info     : 'pm2' trying to restart
[MSK May 18 06:58:27] info     : 'pm2' start: /usr/local/bin/pm2
[MSK May 18 06:58:27] info     : monit daemon with PID 22480 awakened
[MSK May 18 06:58:58] error    : 'pm2' failed to start
[MSK May 18 07:00:58] error    : 'pm2' process is not running
[MSK May 18 07:00:58] info     : 'pm2' trying to restart
[MSK May 18 07:00:58] info     : 'pm2' start: /usr/local/bin/pm2

So my monit config not working.

Maxim Yefremov
  • 241
  • 1
  • 3
  • 17

0 Answers0