如何检查清漆探针失败的原因?

时间:2013-08-05 09:50:47

标签: varnish

我习惯了

varnishadm -T localhost:6082 debug.health

检查后端运行状况,但如何检查探测失败的原因(例如超时,错误的http状态代码)?

3 个答案:

答案 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