Forum Discussion

James_78615's avatar
James_78615
Icon for Nimbostratus rankNimbostratus
Jan 23, 2009

Virtual Hosting 500 sites with per-site health monitoring

Hi,

 

 

I have a web pool where the servers will be virtual hosting up to 500 sites. I want to implement per-site health monitoring as per the following link:

 

 

http://devcentral.f5.com/Default.aspx?tabid=63&articleType=ArticleView&articleId=131

 

 

However, for 500 websites with multiple URLs each, the configuration based on the above URL will literally be 1000's of lines of code.

 

 

Is there any more efficient way to achieve per site health monitoring?

 

 

Also, in the case that I was to configure the above, what kind of performance impact would so many individual health monitors have on a BIGIP 6400?

 

 

Thanks

 

James
  • The obvious trick here is to do the bare minimum possible to keep it light and lean. Without knowing a bit more about your requirements it's somewhat tough to say what the best approach is. Here are a few follow-on questions:

     

     

    1) For each virtual host, is there a different definition of "up"? For example, is one a static brochure site and the other a php-enabled one? It sounds like this is the case, but it's worth confirming.

     

     

    2) If you want site-specific monitors, I don't see a particularly easy way around passing a HOST: header for each site you care about - after all, that's the only way to hook the virtual host container for each one. That means you're looking at adding lots of monitors to your config.

     

     

    3) What is your fallback action? For example, if siteA is up and SiteB is down, what would you like to do with SiteB's traffic in response to that vhost being down?

     

     

    Another possible approach could be to setup a basic monitor that gives you a 'good enough' idea of the overall health of the web server instance in question, then use an iRule with HTTP::retry, HTTP::respond, or HTTP::redirect to handle error conditions that you care to act on. This will likely accomplish what you want from a service perspective.

     

     

    Check out this link for an idea of what is possible: http://devcentral.f5.com/Default.aspx?tabid=53&view=topic&postid=5201

     

     

    Hope this helps.

     

     

    -Matt