如何logging回应请求的后端的名称

我正在使用varnishncsalogging需要很长时间才能在我的后端服务器上使用以下命令应答的请求:

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}' 

您可能想要查看完整的解释 ,其中包括额外的优化来查询慢后端请求。