I implemented high availability in mysql using heartbeat and mon.
I installed mon using apt-get install mon command.
cat /etc/mon/mon.cf

alertdir		= /usr/lib/mon/alert.d
mondir			= /usr/lib/mon/mon.d
logdir			= /var/log/mon
statedir 		/usr/local/mon/state.d
historicfile	= /var/log/mon/history.log
maxprocs		= 20
histlength		= 100
randstart		= 60s
dtlogging		= yes
dtlogfile		= dtlog

hostgroup mysql_servers

watch mysql_servers
	service mysql
		interval 1m
		monitor mysql.monitor
		period wd {Mon-Sun}
			alert bring-ha-down.alert
			alert mail.alert -S "Host1 MYSQL is down" abc gamil.com
			upalert mail.alert -S "Host1 MySQL Server back up" abc gmail.com
		alertevery 600s
		alertafter 3
/usr/lib/mon/alert.d/bring-ha-down.alert file looks like
/etc/init.d/heartbeat stop
Then I run the command
cd /usr/lib/mon/mon.d/mon.d
mv msql-mysql.monitor mysql.monitor
Now when I am testing the availability of servers by shutting down one mysql server Its not switching to another server but when I stop to heartbeat in one machine it switches to another machine.
I understood that(Please correct if I am wrong) when mon sees that mysql is down it stops the heartbeat and control goes to another system. But here mon is not working properly.
Also i am not getting any mail(Email address is correct)
Please help to sort out this problem.