Hello Raghu, On Thu, Nov 10, 2016 at 01:30:05PM +0530, Raghu Udiyar wrote: > Hello > > We have developed a generic service (using python gevent) to serve as an > agent check service for Haproxy. Its extensible via plugins for application > feedback, and supports result cacheing, json expressions, arithmetic, regex > match, and fallback in case of failure. > > The source is here : https://github.com/helpshift/herald > > Blog post here : > https://engineering.helpshift.com/2016/herald-haproxy-loadfeedback-agent/ > > Hope this is useful for the haproxy community.
This is excellent, thank you for contributing this! We used to work on something more or less similar a few years ago but missed the time needed to complete it. We wanted to combine multiple checks and report aggregated statuses. The haproxy check code was not ready by then so we had to postpone. It's true that the agent is much more versatile for such use cases now. I'm having a few questions : did you miss anything from haproxy when doing this ? For example, did you have to workaround the impossibility to do something via the agent just because of the agent protocol or because of some validity checks performed by haproxy ? I'm asking because if we have to perform very minor tweaks, better do them before the release. Do you think you could benefit from "agent-send" so that the same agent is used for multiple servers, when haproxy would then indicate with the connection for what server it is connecting ? If so, would an automatic string such as "agent-send-name" sending the backend and the server name be an useful improvement for this ? Do you want me to add a link to the main haproxy page, and if so to what location ? Thanks, Willy