Thomas, Simon Horms is working on some patches for us that will allow HAProxy to poll an agent on each real server. We also have a Windows Service that works with it: http://www.loadbalancer.org/download/agent/Windows/LBCPUMonInstallation.msi I'm sure he will post it to the list when he is done in the next few weeks:
HA-Proxy Dynamic Health Check Implementation 1. Goal Design and implement dynamic health checks for HA-Proxy. The health check should be performed by opening a TCP socket to a pre-defined port and reading an ascii string. The string should have one of the following forms: i. An ascii representation of positive integer with a maximum value of 256. e.g: “42”. ◦ This represents an absolute weight. A weight of 0 will be translated to 1. ◦ Values in this format other than 0 are ignored when slowstart is in effect, in keeping with the behaviour of the set weight command. ii. An ascii representation of an positive integer percentage. e.g. “75%” ◦ Values in this format will set the weight proportional to the initial weight of a server as configured when haproxy starts. iii. The string “drain”. ◦ This will cause the weight of a server to be set to 0, and thus it will not accept any new connections other than those that are accepted via persistence. iv. The string “disable”. ◦ Put the server into maintenance mode. The server must be re-enabled before any further health checks will be performed. 2. Deliverables i. Patches posted to the appropriate haproxy mailing list. ii. A list of patches and implementation overview via email to LoadBalancer.Org > So well, how about controlling weight via service checks? > > cheers > thomas -- Regards, Malcolm Turnbull. Loadbalancer.org Ltd. Phone: +44 (0)870 443 8779 http://www.loadbalancer.org/