We use this on the BigIP's as a lightweight healthcheck:
Send String:  GET /__HC__ \r\n\r\n
Receive String: abcdefghijklmnopqrstuvwxyz

Which uses this in the remap.config, complete with extra paranoia:
map http://myservername01.domain.com/__HC__ 
http://myservername01.domain.com:8083/synthetic.txt
map http://myservername01/__HC__ 
http://myservername01.domain.com:8083/synthetic.txt
map /__HC__ http://myservername01.domain.com:8083/synthetic.txt


We have a few layers of health checks that check end-to-end operation of the 
ATS boxes:
- Check a piece of non-cachable media from external site
- Check a piece of cachable media from external site
- TCP Port monitors from internal
- /__HC__ healthchecks from all places that need connectivity
- different pieces of media that are obtained through different remap rules
- composite monitors that fire when 3 out of 5 pieces of media are not status 
200's

I'll have to look at the plugin and see if it adds anything that we don't 
already have. The synthetic is nice in that it is very quick to respond to a 
failure, but we once it is up, we try to test on what it is really supposed to 
be doing (i.e. delivering media!). And, BTW, the ATS boxes have been extremely 
reliable (knocks on wood) and extremely fast.

Brad



-----Original Message-----
From: Leif Hedstrom [mailto:[email protected]] 
Sent: Thursday, September 05, 2013 7:23 PM
To: [email protected]; Scott Harris
Subject: Re: Health Check Url from Loadbalancer

On Sep 5, 2013, at 5:15 PM, Scott Harris <[email protected]> wrote:

> I have a multi node cluster with a F5 Loadbalancer providing a vip and 
> balancing requests across the cluster, as part of the F5 config a healthcheck 
> is required to validate each node is alive and ready to take requests.
> 
> Is there any light weight healthcheck urls ats provides for this?
> 
> I found an internal url test url using a remap mappping to http://{test} but 
> the response is about 63KB.

There's a plugin in experimental, that's intended for this purpose. It'll watch 
a file (or files) on your file system, and return the content of that upon 
request. The idea is that if you remove that file, the plugin will return e.g. 
a 404 (configurable), telling the load balancer to take the box out of rotation.

This allows you to check both the health of the server, and manage its 
participation in the rotation.

-- Leif

E.g.

loki (15:53) 580/1 $ cat plugins/experimental/healthchecks/README
This is a simple plugin, to provide basic (but configurable) health checks.
This is a server intercept plugin, and it takes one single  configuration 
option in plugin.config, the configuration file name. 

This configuration contains one, or several, lines of the format

   <URI-path> <file-path> <mime> <file-exists-code> <file-missing-code>


For example,

   /__hc  /var/run/ts-alive  text/plain 200  403


The content of the file, if any, is sent as the body of the response.

Reply via email to