On 24 Oct 2014 03:18, "Jason J. W. Williams" <jasonjwwilli...@gmail.com> wrote: > > How are folks deal with direct healthchecks (e.g. from Nagios) of > backend servers that have PROXY protocol enabled?
To clarify, you're healthchecking the backends from Haproxy, which copes with the backends' expectation of a PROXY header just fine, but then want to healthcheck the same services from $monitoring on the same ports? My choice of how to deal with this would be not to double-tap the backends. Use the voluminous info exposed by the Haproxy stats interface to feed $monitoring (including Haproxy's high-level idea of each backend being available or not), and you might find that your backend availability goes up due to lower load ;-) Personally, I like to feed the full complement of stats exposed into graphite for troubleshooting, and then use that data store as $monitoring's single point of truth. But I'm not sure how you'd achieve that flexibility in Nagios land :-) Alternatively, you might use your backends ability to listen on a parallel port which doesn't expect the PROXY preamble. I know nginx can be configured in this way. Of course, you could "just" patch curl or wget to speak PROXY. Or cook up a CLI-compatible, drop in curl-replacement python/ruby script in which you deal with the connection below the level of the normal http libraries and teach them the protocol. I've not seen either of those before - I'm sure the list would be very happy to see your results! HTH, Jonathan