06-16-2009 05:18 AM
I am working on a SI implementation that is a competitive takeover of a 5 year old F5 environment. The existing F5 implementation has a perl script that is doing something with some healthchecks that I have not been able to duplicate so far. In this scenario I need to configure the ServerIron to do normal HTTP healthchecks on the web servers and then do all the normal load balancing stuff – no problem (6 different web sites). The problem I am having is a special server called "APS" (Application STatus) - it is some kind of managment server.
What they do with this server is when the web site is in normal production, there is a directory with a file called up.txt but when the web sites are in a maintenance window the file up.txt gets deleted and a file called down.txt is created and placed in the same directory. When the down.txt file appears I need to stop sending users to the web servers and redirect them to the webbappsdn server. On the webappsdn server is a simple web page that states the service is down.
When the web server maintenance is being performed the web servers are still up and healthchecks are good. I have not been able to find a good combination of content match, Boolean and standard healthchecks that lets me be able to replace this functionality of the F5s. If anybody has any ideas or has done something similar please let me know. Any help is greatly appreciated.
06-16-2009 09:26 AM
I would suggest to have a look at nested health checks. You might want to do the following:
1. Webserver1 is UP in case Webserver1 is UP AND up.txt is available at the app-status server
2. Webserver2 is UP in case Webserver2 is UP AND up.txt is available at the app-status server
3. APS is UP in case APS is UP AND down.txt is available at the app-status server
You would have to bind ALL the three servers (webserver1, webserver2 and webappsdn) to the virtual server. This should work. The situation will be the following:
case 1: up.txt is there: there is no way that APS is up because this requires down.txt - but the webservers might be up
case 2: down.txt is there: there is no way that the webservers are up because this requires up.txt - but the APS server might be up