varnishadm backend.list missing IPs

Dridi Boukelmoune dridi at varni.sh
Tue Feb 9 23:09:32 CET 2016


On Tue, Feb 9, 2016 at 10:10 PM, Jason Price <japrice at gmail.com> wrote:
>> > Or is there a better way to monitor the backends in nagios?
>
>> I don't know, you can know the state of your backends as seen by
>> Varnish but you should probably also monitor your backends directly
>> with nagios.
>
> This answer is not really a good one.  I've watched varnish stop being able

Sorry, I will try to write a better one and CC the -misc list back.

> to talk to single backends on rare occasion.  The backends were fine.  (this
> was in varnish-3 to be fair, but still).

Agreed, it doesn't hurt to monitor both. Please note that you don't
actually need probes to decided whether a backend is healthy or sick.
You can do it with the varnish-cli(7) using `backend.set_health`.

You could monitor backends with nagios and update their health with
varnishadm for instance. Only a probe will give you the health from
varnish's PoV but otherwise they are rather limited IMHO.

> Ultimately, being able to monitor the health of each backend and varnish's
> understanding of each backend is hugely valuable from a triage perspective.

Again, agreed. One should monitor whatever is valuable to get a better
diagnostic. However with Varnish 4.1 the rules changed wrt to how
backends are perceived. Unfortunately in this case we win some and
we lose some.

> (does "varnishadm debug.health" still work?  Nagios could theoretically
> parse that, though it'd be harder)

I'm afraid it wouldn't help, but it's no longer there. It's in backend.list now.

Below is an example of a varnishd instance running in debug mode on my machine:

===
$ varnishd -n $(mktemp -d) -a :0 -d
Debug: Platform:
Linux,4.2.6-201.fc22.x86_64,x86_64,-jnone,-smalloc,-smalloc,-hcritbit

200 293
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,4.2.6-201.fc22.x86_64,x86_64,-jnone,-smalloc,-smalloc,-hcritbit
varnish-4.1.1-beta2 revision 66bb824

Type 'help' for command list.
Type 'quit' to close CLI session.
Type 'start' to launch worker process.

vcl.inline boot "vcl 4.0; backend be { .host = \"0\"; .probe = {} }"
200 14
VCL compiled.

start
Debug: Child (24874) Started
200 0

Info: Child (24874) said Child starts
backend.list
200 98
Backend name                   Admin      Probe
boot.be                        probe      Sick 2/8
backend.list -p
200 340
Backend name                   Admin      Probe
boot.be                        probe      Sick 2/8
  Current states  good:  2 threshold:  3 window:  8
  Average response time of good probes: 0.000000
  Oldest ================================================== Newest
  ----------------------------------------------------------HH---- Happy
===

Currently you can only find this information in the VCL AFAICT, and I
don't think it'd be a good idea to parse vcl.show :)

It might be interesting to print the endpoint in backend.list,
possible with another flag.



More information about the varnish-misc mailing list