首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置Varnish日志?

如何设置Varnish日志?
EN

Stack Overflow用户
提问于 2012-10-03 17:10:32
回答 5查看 39.9K关注 0票数 14

我想让Varnish记录请求。我找到了命令varnishlog -a -w /var/log/varnish.log,但它没有记录任何内容。

然后我发现Varnish在默认情况下不会写入日志。但是,我无法找到用于日志记录的配置选项。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-03 18:48:37

如果你想在NCSA Common Log Format中记录超文本传输协议请求,你需要使用varnishncsa。在CentOS/RedHat上,Varnish RPM包包含一个varnishncsa init脚本,您可以使用该脚本开始日志记录。默认情况下,它会记录到logfile="/var/log/varnish/varnishncsa.log"

此外,如果您希望通过一次Varnish安装为多个不同的主机提供服务,则还需要在日志中包含主机名。这可以通过/etc/sysconfig/varnishncsa中的以下设置来完成

代码语言:javascript
复制
DAEMON_OPTS="$DAEMON_OPTS -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"'"

请注意,Anshu的链接中描述的方法只记录Varnish传递到后端服务器的请求。缓存命中请求将永远不会被记录(在Varnish 5.0之前-见下文)。因此,通过这种方式收集的HTTPD日志不能用于统计分析。

更新:正如@VikrantPogula提到的,从Varnish5.0开始,所有客户端请求都被记录下来-包括缓存命中。这是默认行为,可以使用-c开关显式打开。

票数 24
EN

Stack Overflow用户

发布于 2015-05-04 12:27:27

Varnish中的指标是人们努力解决的一个共同领域。

获得一些一次性的请求指标相对容易,但随着时间的推移,总体跟踪通常涉及到使用varnishncsa。下面是一个包含指标设置的guide on Varnish installation

票数 6
EN

Stack Overflow用户

发布于 2014-10-10 16:03:57

作为对Ketola的回答的响应,您可以通过传递-c标志来让varnishncsa记录甚至缓存命中请求。这将允许您使用HTTPD日志来分析统计数据。

示例:varnishncsa -c -a -w ~/varnish.log将以默认NCSA格式将缓存命中请求写入文件

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12705252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档