Hello David,
I use m4 to generate my Monit config files based on some more or less
complex macro files, like this one.

dnl
dnl Monit configuration file.
dnl Check the Glassfish program status.
dnl
ifdef(`CF_HOMEDIR',`',`define(`CF_HOMEDIR',`syscmd(`printf "%s"
"$HOME"')')')dnl
dnl
ifdef(`CF_HOST',`',`define(`CF_HOST',`syscmd(`printf "%s"
"$(hostname)"')')')dnl
ifdef(`CF_PORT',`',`define(`CF_PORT',`8080')')dnl
ifdef(`CF_APPL',`',`define(`CF_APPL',`domain1')')dnl
ifdef(`CF_SOFTDIR',`',`define(`CF_SOFTDIR',`/usr/local')')dnl
dnl
#
## Check the Glassfish program status.
#
check process Domain1 with matching "CF_SOFTDIR()/.*/bin/java
.*glassfish.jar .*CF_APPL()*"
  start program "CF_HOMEDIR()/monit/scripts/glassfish start" with
timeout 300 seconds
  stop program "CF_HOMEDIR()/monit/scripts/glassfish stop" with timeout
300 seconds
  if failed host CF_HOST() port CF_PORT() then restart
  if 3 restarts within 50 cycles then unmonitor
  group AppDynamics
#

And I create the Monit config file by calling m4 with some additional
names and values.

m4 -DCF_SOFTDIR=/usr/local -DCF_HOMEDIR=/home/glassfish glassfish.m4

#
## Check the Glassfish program status.
#
check process Domain1 with matching "/usr/local/.*/bin/java
.*glassfish.jar .*domain1.*"
  start program "/home/glassfish/monit/scripts/glassfish start" with
timeout 300 seconds
  stop program "/home/glassfish/monit/scripts/glassfish stop" with
timeout 300 seconds
  if failed host macmini.local port 8080 then restart
  if 3 restarts within 50 cycles then unmonitor
  group Glassfish
#

This is my way to configure Monit.
I use some automatic Monit configurations updates based on detecting
application folder updates only.

A suggestion only,
m4 is old, but nice,
Lutz

-- 
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to