Varnish

如何記錄響應請求的後端名稱

  • March 21, 2017

我正在使用varnishncsa使用以下命令記錄在我的後端伺服器上需要很長時間才能得到答复的請求:

varnishncsa -F '%t "%r" %s %T' | awk '$7 > 10 {print}'

我試圖添加有關後端名稱的資訊,但這並未顯示在varnishncsa輸出中:

sub vcl_backend_response {
   std.log("backend_name:" + beresp.backend.name);
}

我做錯了什麼?

它對您不起作用,因為varnishncsa預設情況下使用“客戶端”模式。-b使用開關啟用它。

隨後,這將起作用:

varnishncsa -b -F '%t "%r" %s %T %{VCL_Log:backend_name}x' | awk '$7 > 10 {print}'

您可能想查看完整的解釋,其中包括對查詢慢速後端請求的額外優化。

引用自:https://serverfault.com/questions/838728