检查清漆 4 中超过 2 个 Web 服务器的后端健康状况
checking backend health for more than 2 web servers in varnish 4
有一个带有 3 个后端的清漆服务器。所有后端都是apache。一切正常,清漆服务器缓存了我需要的一切,连接正常。我想监控网络服务器的健康状况。如果发生故障,varnish 不会向发生故障的 Web 服务器发送请求。问题是,当我为所有 backedns 启用探测时,我收到 503 错误!如果我在一个或两个后端启用它,一切正常,但是当我为 3 个后端启用它时,我得到 503 错误。这是后端和健康检查的清漆配置:
vcl 4.0;
import directors;
probe backend_healthcheck {
.url = "/";
.timeout = 34 ms;
.window = 5;
.threshold = 3;
.interval = 1s;
}
backend web1 {
.host = "192.168.1.16";
.port = "8080";
.probe = backend_healthcheck;
}
backend web2 {
.host = "192.168.1.18";
.port = "8080";
.probe = backend_healthcheck;
}
backend web3 {
.host = "192.168.1.20";
.port = "8080";
.probe = backend_healthcheck;
}
sub vcl_init {
new apache = directors.round_robin();
apache.add_backend(web1);
apache.add_backend(web2);
apache.add_backend(web3);
}
您的健康检查很可能需要超过 34 毫秒才能完成,因此请尝试将其调整为 3 秒或更高:
probe backend_healthcheck {
.url = "/";
.timeout = 3s;
.window = 5;
.threshold = 3;
.interval = 1s;
}
如果上述方法没有帮助,请使用 varnishlog -g raw -i Backend_health
和 post 输出监视您的探测器状态。
有一个带有 3 个后端的清漆服务器。所有后端都是apache。一切正常,清漆服务器缓存了我需要的一切,连接正常。我想监控网络服务器的健康状况。如果发生故障,varnish 不会向发生故障的 Web 服务器发送请求。问题是,当我为所有 backedns 启用探测时,我收到 503 错误!如果我在一个或两个后端启用它,一切正常,但是当我为 3 个后端启用它时,我得到 503 错误。这是后端和健康检查的清漆配置:
vcl 4.0;
import directors;
probe backend_healthcheck {
.url = "/";
.timeout = 34 ms;
.window = 5;
.threshold = 3;
.interval = 1s;
}
backend web1 {
.host = "192.168.1.16";
.port = "8080";
.probe = backend_healthcheck;
}
backend web2 {
.host = "192.168.1.18";
.port = "8080";
.probe = backend_healthcheck;
}
backend web3 {
.host = "192.168.1.20";
.port = "8080";
.probe = backend_healthcheck;
}
sub vcl_init {
new apache = directors.round_robin();
apache.add_backend(web1);
apache.add_backend(web2);
apache.add_backend(web3);
}
您的健康检查很可能需要超过 34 毫秒才能完成,因此请尝试将其调整为 3 秒或更高:
probe backend_healthcheck {
.url = "/";
.timeout = 3s;
.window = 5;
.threshold = 3;
.interval = 1s;
}
如果上述方法没有帮助,请使用 varnishlog -g raw -i Backend_health
和 post 输出监视您的探测器状态。