用于反思清漆的工具

有没有人开发或者有人知道任何第三方工具(或者股票工具的非显而易见的用途)来帮助穷人系统pipe理员确定正在通过光油的请求发生了什么? 虽然varnishstatvarnishtopvarnishhist给了我非常高层次(或低层次)的概述,但我正在寻找的东西告诉我这样的事情:

  • 目前有哪些请求正在进行(他们已经多久了,他们被派往哪里等等)
  • 平均服务时间为后端请求,虚拟主机,这样的事情
  • 其他的东西,这将帮助我识别行为不端的后端,虚拟主机等

varnishncsa以Apache / NCSA组合日志格式(从手册页)显示日志。 您可以使用这些与任何正常的日志分析器来查找您拥有哪些用户代理,他们加载哪些页面等

varnishlog/usr/bin/varnishlog )显示所有请求的详细输出,包含哪些VCL命令正在被使用(查找,散列,命中,发送等)以及HTTP事务中的所有标题( varnishlog -o会根据请求对它们进行分组)。 如果你有一个繁忙的网站,这将快速滚动,但你可以写入磁盘使用-w ,或使用logging器设备( /etc/init.d/varnishlog )。 请注意,这会很快填满磁盘,因为它非常详细(每个请求10-30行,取决于请求发送的位置,当然还有所有HTTP头)。

varnishreplay可以重放来自这样的日志文件的HTTPstream量。

大多数工具可以用于正则expression式search。

目前正在制作一个网站gui,该公司正在制作Varnish公司的Redpill Linpro 。 我不确定它会拥有哪些function(我不认为他们也知道),但我相信它会有很多监控图。

  • 尝试varnishncsa获取每个请求日志logging
  • 清漆顶部平均服务和命中时间
  • 恕我直言,如果你怀疑你的后端问题,你应该直接监测,而不会通过清漆。

varnishncsa:

一个诀窍是使用varnishncsa自定义日志格式来包含更多有用的信息,如:

  • 响应时间(到第一个字节)
  • 点击或错过请求的状态
  • 原始的客户端IP(如果Varnish在负载平衡器的后面)

我在/etc/varnish/varnishncsa使用以下/etc/varnish/varnishncsa来添加此信息( varnishncsa文档 ):

 #! /bin/sh DAEMON_OPTS="$DAEMON_OPTS -F \"%h \\\"%{X-Forwarded-For}i\\\" %t \\\"%r\\\" %s %b \\\"%{Referer}i\\\" \\\"%{User-agent}i\\\" %{Varnish:time_firstbyte}x %{Varnish:hitmiss}x\"" 

这种configuration允许我通过访问日志grep,并添加历史命中率,以及find缓慢响应的页面。

varnishlog:

正如在这个问题/答案中所讨论的那样,如果您正在使用清漆对您的后端执行健康检查,则可以使用varnishloglogging后端健康状况的变化。 运行varnishlog -O -I "healthy|sick"会根据健康状况检查为您提供后端运行状况的更新。