Mailing List Archive

Health Check on different port
Dear Varnish-Team,


First of all I would like to congratulate you for such an awesome product.


We wanted to send traffic directly to go-routers, which require us to send traffic to service port 80, but, do the health-check on port 8080. As doing the health check on port 80 is deprecated on go-routers.


We came across one such vmod oob_probe, which let us to do exactly the same what we are looking for. But this vmod is only compatible with varnish 4.1 and we are currently using the varnish version 5.2.


The another method we tried, we defined 2 backends in VCL one for port 80 and another for port 8080 for each go-router.


Then we applied round-robin director on backends wit?h port 8080. In assumption that director_round_robin.backend() will give us the name of the selected backend, where the incoming request will be forwarded to. Thereafter, we can modify the backend for example in vcl_backend_fetch() and set the correct definition of the backend, if the backend selected is go-router1:8080 by the round_robin director, we would set the backend go-router1:80.

But, this was also problematic as director_round_robin.backend() just return the name of director object, but, not the name of the chosen backend . Is there a way to fetch the name of backend chosen by the director before the request is sent to the backend? I am familiar it is possible to do so in vcl_backend_response. However, this is not very useful for us, in this scenario.


Best regards,

Naveen Goswami
Re: Health Check on different port [ In reply to ]
On Tue, Feb 20, 2018 at 3:07 PM, Goswami, Naveen, Springer SBM DE
<Naveen.Goswami@springer.com> wrote:
> Dear Varnish-Team,
>
> First of all I would like to congratulate you for such an awesome product.
>
> We wanted to send traffic directly to go-routers, which require us to send
> traffic to service port 80, but, do the health-check on port 8080. As doing
> the health check on port 80 is deprecated on go-routers.

You should reach out to Geoff (CC'd) as he's actually part to see
whether he or UPLEX could make oob_probe compatible with 5.2.

According to https://varnish-cache.org/vmods/ they can provide
commercial support for this module.

Otherwise one option is to have your own "probes" (or monitoring)
running outside of Varnish and use the CLI to set the backend heath,
for example via varnishadm.

Dridi
_______________________________________________
varnish-misc mailing list
varnish-misc@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
Re: Health Check on different port [ In reply to ]
Thanks Dridi for quick and helpful advice. Much appreciate it.

@Geoff, would that be possible to make oob_probe compatible with 5.2 ?

Naveen
________________________________________
From: Dridi Boukelmoune <dridi@varni.sh>
Sent: Tuesday, February 20, 2018 3:25 PM
To: Goswami, Naveen, Springer SBM DE
Cc: varnish-misc@varnish-cache.org; Engineering Enablement; Geoff Simmons
Subject: Re: Health Check on different port

On Tue, Feb 20, 2018 at 3:07 PM, Goswami, Naveen, Springer SBM DE
<Naveen.Goswami@springer.com> wrote:
> Dear Varnish-Team,
>
> First of all I would like to congratulate you for such an awesome product.
>
> We wanted to send traffic directly to go-routers, which require us to send
> traffic to service port 80, but, do the health-check on port 8080. As doing
> the health check on port 80 is deprecated on go-routers.

You should reach out to Geoff (CC'd) as he's actually part to see
whether he or UPLEX could make oob_probe compatible with 5.2.

According to https://varnish-cache.org/vmods/ they can provide
commercial support for this module.

Otherwise one option is to have your own "probes" (or monitoring)
running outside of Varnish and use the CLI to set the backend heath,
for example via varnishadm.

Dridi
_______________________________________________
varnish-misc mailing list
varnish-misc@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc