如何设置清漆记录?

Mun*_*sir 14 logging varnish

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

然后我发现Varnish默认不写入日志.但是,我无法找到日志记录的配置选项.

Ket*_*ola 24

如果要以NCSA通用日志格式记录HTTP请求,则需要使用varnishncsa.在CentOS/RedHat上,Varnish RPM软件包包含一个varnishncsa init脚本,可用于开始记录.默认情况下,它会记录到logfile="/var/log/varnish/varnishncsa.log".

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

DAEMON_OPTS="$DAEMON_OPTS -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"'"
Run Code Online (Sandbox Code Playgroud)

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

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

  • 要实际启用Ubuntu上的日志记录:编辑`/ etc/default/varnishncsa`取消注释`#VARNISHNCSA_ENABLED = 1`运行`sudo service varnishncsa restart` (20认同)

小智 6

清漆中的指标是人们挣扎的共同领域.

获得一些关闭请求指标相对容易,但随着时间的推移总体跟踪通常涉及使用varnishncsa.以下是Varnish安装指南,其中包括指标设置