I don't know why heartbeat doesnt do anything in case of service failure,
have i
missed something?
The monitored processes don't go via the heartbeat handler.
You should add wrapper shell scripts for control of the processes
in the /etc/ha.d/resource.d directory that will call the start scipts
in /etc/init.d
The /etc/ha.d/resource.d directory consist the resources (processes) that
are monitored by heartbeat (consult the heartbeat user guide for more ;)
check process mysql_DBserver with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/init.d/mysql start"
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if 2 restarts within 2 cycles then timeout
#if 2 restarts within 2 cycles then exec "/usr/sbin/monit heartbeat
stop"
group Inet-Primaire
mode manual
Replace this with:
check process mysql_DBserver with pidfile /var/run/mysqld/mysqld.pid
start program = "/etc/ha.d/resoruce.d/mysql start"
stop program = "/etc/ha.d/resoruce.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if 2 restarts within 2 cycles then timeout
#if 2 restarts within 2 cycles then exec "/usr/sbin/monit heartbeat stop"
group Inet-Primaire
mode manual
And add stanard startup script that will call the scripts in /etc/init.d
HTH, Jovan