我怎样才能读取旧的清漆日志?

我怎样才能读取旧的清漆日志?

/var/log/varnish/有一些旧的 varnish 日志,由 生成varnishlog,由于logrotated,现在是 gz 格式:

-rw-r--r--  1 varnishlog varnish 143068514 Aug 10 23:59 varnish.log.2017-08-10.gz
-rw-r--r--  1 varnishlog varnish 156373518 Aug 11 23:59 varnish.log.2017-08-11.gz
-rw-r--r--  1 varnishlog varnish 134255825 Aug 12 23:59 varnish.log.2017-08-12.gz
-rw-r--r--  1 varnishlog varnish 156992529 Aug 13 23:59 varnish.log.2017-08-13.gz
-rw-r--r--  1 varnishlog varnish 176751837 Aug 14 23:59 varnish.log.2017-08-14.gz
-rw-r--r--  1 varnishlog varnish 155948012 Aug 16 00:01 varnish.log.2017-08-15.gz
-rw-r--r--  1 varnishlog varnish 169977134 Aug 17 00:01 varnish.log.2017-08-16.gz

head我已经将它们提取到另一个位置并尝试通过/查看它们,more但它们看起来是二进制的。

因此我尝试varnishlog使用以下任一参数打开它们:

[-N filename]             VSM filename
[-r filename]             Binary file input

但这并没有起到作用,给我:

Can't open log - retrying for 5 seconds

和:

Can't open log file (Not a VSL file:

关于如何从清漆中检查那些历史记录,您有什么想法吗?

我用的是varnish-4.1.1

答案1

您看到的错误是由于缺乏权限造成的。请尝试:

sudo varnishlog -N <file.vsm> -d

答案2

正确的方法确实是使用-r,但由于自定义的旋转方式不正确,我的文件被损坏了/etc/logrotate.d/varnish。恢复为默认旋转方法有效。

答案3

您可以使用以下命令解压来阅读日志

gunzip -c <filename.log.gz>

然后你可以用

varnishlog -r  <filename.log>

相关内容