Mon is a tool for monitoring the services of a Linux system and that sends an alert via mail if a service doesn't work anymore.
Here is a possible configuration (/etc/mon/mon.cf) :
# We give the IP and the domain name (if existing, or the dns reverse) of the system to monitor :
hostgroup myWebSite.tld 11.22.33.44
## FTP :
watch myWebSite.tld
service ftp
interval 35m # monitoring of the service every 35minutes
monitor ftp.monitor -p 21 -t 5 myWebSite.tld # which kind of service to monitor and the used port for the FTP
period wd {Mon-Sun} # from monday to sunday, modify if you need
alert mail.alert -S "The FTP server of "myWebSite.tld" is down !" EMAIL1@myWebSite.tld EMAIL2@myWebSite1.tld # alert's title + email getting the alert
alert hb_takeover
upalert mail.alert -S "The FTP server of "myWebSite.tld" is now up" EMAIL1@myWebSite.tld# content of the mail when the service is up
alertafter 5s # alert after 5sec
alertevery 10m # alert every 10minutes until the end of the alert
## ping :
service ping
interval 30m
monitor ping.monitor
period wd {Mon-Sun}
alert mail.alert -S "The server monSiteWeb.tld" is down !" EMAIL1@myWebSite.tld
upalert mail.alert -S "The server "monSiteWeb.tld" is now up !" EMAIL1@myWebSite.tld
alert hb_standby
alertafter 5s
alertevery 10m
## Service postfix
service postfix
interval 35m
monitor smtp.monitor -t 5 myWebSite.tld
period wd {Mon-Sun}
alert mail.alert -S "The mail (smtp) server of "myWebSite.tld" is down !" EMAIL1@myWebSite.tld
alert hb_takeover
upalert mail.alert -S "The mail server (smtp) of "myWebSite.tld" is now up" EMAIL1@myWebSite.tld
alertafter 10s
alertevery 10m
## Service http
service HTTP
interval 35m
monitor http.monitor
period wd {Mon-Sun}
alert mail.alert -S "The HTTP server of "myWebSite.tld" is down !" EMAIL1@myWebSite.tld
alert hb_takeover
upalert mail.alert -S "The HTTP server of myWebSite.tld" is now up" EMAIL1@myWebSite.tld
alertafter 10s
alertevery 10m
Enjoy !