Hi Aleks,
On Tue, Dec 24, 2019 at 10:29:44AM +0100, Aleksandar Lazic wrote:
> I have created a feautre request for the check rewrite as we have more and
> more requests for checks which are quite difficult to setup.
>
> https://github.com/haproxy/haproxy/issues/426
Thanks for this. We definitely need to rework them for 2.2. At minima,
what I'd like to see, in order of realization:
- rewrite *all* health checks to internally use tcp-check sequences only
so that we don't have to maintain this horribly broken mess anymore and
can more easily implement new ones ;
- implement a new htx check mechanism that uses the muxes and that will be
able to seamlessly deal with H1/H2/FCGI, and likely plug onto idle
connections; these ones will need to support adding headers and probably
do more;
- implement centralized check definitions that can be reused in multiple
backends. E.g. tcp-checks sequences or htx check sequences should only
be defined once. This implies that some of the headers will likely need
to support variables so that a backend may defined a host header for
example and the checks use it.
If we can do all this it will be great.
Note that in your example above you're using %[host] for example, though
the log-format syntax is only valid for traffic being processed, but I do
get the idea anyway. For me it's the same principle as having variables or
check parameters defined in the backend (or maybe even per server).
Cheers,
Willy