如何记录响应请求的后端名称

如何记录响应请求的后端名称

我在用着清漆使用以下命令记录在后端服务器上需要很长时间才能答复的请求:

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

我试图添加有关后端名称的信息,但该信息未显示在清漆输出:

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

我做错了什么?

答案1

它不适用于您,因为varnishncsa默认使用“客户端”模式。使用-b开关启用它。

随后,这将起作用:

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

您可能需要检查完整解释其中包括对查询缓慢的后端请求的额外优化。

相关内容