4

I"m using montit for other processes I need to run, but I have a process which doesn't run as a daemon, and I can't figure out how to monitor it with monit

alexandrul
  • 1,435
  • 2
  • 19
  • 25
aussiegeek
  • 234
  • 3
  • 11

3 Answers3

2

Current versions of monit allow you to match process strings using the matching "string" directive instead of the PID...

check process n2n-edge
        matching "/usr/sbin/edge"
        start program = "/root/tools/edge.87.server"
        stop program = "/usr/bin/killall edge"
        if 10 restarts within 11 cycles then timeout
        if cpu usage > 95% for 11 cycles then restart
ewwhite
  • 194,921
  • 91
  • 434
  • 799
1

You can check the byproducts of the process.

You could, for example, monitor the existence of a lock file, the modification time of a directory, or something that is modified or created by your process.

edmz
  • 205
  • 2
  • 6
0

You can use start-stop-daemon and use the --make-pidfile option to create a pidfile. If this is not possible you may directly check the service, for example:

check host localhost with address 127.0.0.1
start program = "/etc/init.d/postfix start" 
stop program = "/etc/init.d/postfix stop" 
if failed port 25 protocol smtp then restart
Ulrich Dangel
  • 296
  • 2
  • 5