我习惯了
varnishadm -T localhost:6082 debug.health
检查后端运行状况,但如何检查探测失败的原因(例如超时,错误的http状态代码)?
答案 0 :(得分:5)
在Varnish 4.0中,您可以使用
查看所有后端的状态及其最近的探测成功率varnishadm backend.list
答案 1 :(得分:3)
找到[1]有点棘手但是:
每个轮询都记录在共享内存日志中,如下所示:
注意:在2.0发布之前进行抛光!
0 Backend_health - b0 Still healthy 4--X-S-RH 9 8 10 0.029291 0.030875 HTTP/1.1 200 Ok
...
请注意,第二个单词表示当前状态,第一个单词表示当前状态 word ==“Still”表示状态不变。
- 4 - X-S-RH - 表明最新民意调查的标志
- 4 - 建立IPv4连接
- 6 - 建立IPv6连接
- x - 请求传输失败
- X - 请求传输成功
- s - TCP套接字关闭失败
- S - TCP套接字关闭成功
- r - 读取响应失败
- R - 读取响应成功
- H - 对结果感到满意
- 9 - 上次.window民意调查中的良好民意调查数量
- 8 - .threshold(见上文)
- 10 - .window(见上文)
- 0.029291 - 此轮询的响应时间,如果失败则为零
- 0.030875 - 良好民意调查的响应时间的指数平均值(r = 4)。
- HTTP / 1.1 200 Ok - 来自后端的HTTP响应。
因此,您应该使用varnishlog来获取失败的详细信息。
[1] https://www.varnish-cache.org/trac/wiki/BackendPolling#SHMlog
答案 2 :(得分:3)
至少对于清漆4,您也可以使用此命令调试运行状况探测器:
varnishadm debug.health