Simple IP failover based on ping
I have 2 zones.
Zone 1 is my local infrastructure.
Zone 2 is my virtual infrastructure which is hosted off site in a data center.
In zone 1 I have files dropped off via fax/modem onto a server which then forwards them across a MAN (metropolitan area network) connection to it's respective server in my data center.
I have an internet connection in zone 1 and a multi-homed internet connection in my data center (zone 2).
This past weekend my MAN connection to my data center went down when they installed a new firmware on one of their routers.
My MAN connection is the primary way that I want my data to flow, however if the MAN connection goes down I want to re-route the files to pass over the internet and then to my servers.
Each server has a private ip and a public ip which is mapped through my firewall.
Is there a way that I can set up a failover based on ping-ability to the server across the MAN connection? I would prefer a load-balancing solution because I will have to replicate this for a few servers. Bandwidth is not an issue because the files are only 1 - 2 MB max.
I also need some kind of failure notification if possible. I usually use email and text messaging via Click-a-tell or a zabbix server. (I can code that part, I just need a return value)
I have checked into LVS/Piranha/keepalived but I do not see anything that will fail over if a ping is not received and I can not use an agent because there is only 1 destination server.