varnish backend health check

GETをHEADにする。Hostを入れる場合は request を使う

backend server1 { # Define one backend
  .host = "127.0.0.1";    # IP or Hostname of backend
  .port = "80";           # Port Apache or whatever is listening
  .max_connections = 300; # That's it

  .probe = {
    #.url = "/"; # short easy way (GET /)
    # We prefer to only do a HEAD /
    .request =
      "HEAD / HTTP/1.1"
      "Host: localhost"
      "Connection: close"
      "User-Agent: Varnish Health Probe";

    .interval  = 5s; # check the health of each backend every 5 seconds
    .timeout   = 1s; # timing out after 1 second.
    .window    = 5;  # If 3 out of the last 5 polls succeeded the backend is considered healthy, otherwise it will be marked as sick
    .threshold = 3;
  }

  .first_byte_timeout     = 300s;   # How long to wait before we receive a first byte from our backend?
  .connect_timeout        = 5s;     # How long to wait for a backend connection?
  .between_bytes_timeout  = 2s;     # How long to wait between bytes received from our backend?
}

https://github.com/mattiasgeniar/varnish-4.0-configuration-templates/blob/master/default.vcl

4.0.3
sudo varnishadm debug.health

4.1.3
sudo varnishadm backend.list -p

4.0.3
vclからbackendを削除してreloadしてもhealth checkは止まらない。restartすると止まる

Using load/use does not trigger 'discard'. The old configuration is
present.

This is not a bug - it's working as intended.

Part of this logic has been drastically improved to avoid polling the same
backend multiple times - but part of it has not. To stop the requests, you
will have to use vcl.discard once the refcounter is down.

Feel free to use the mail list for further discussion - there's certainly
room for it, but as this isn't a bug, I'm closing it.

[Varnish] #834: Varnish sends health checks to backends after backend was removed with a config reload 2010