On Thu, Nov 7, 2019 at 6:34 AM Maninder Singh <[email protected]> wrote:
>
> Hi,
>
> We have logging turned on using varnishncsa.
>
> /usr/bin/varnishncsa -a -w /var/log/varnish/varnishncsa.log -D -f 
> /etc/sysconfig/varnishncsa
>
> Here is what's defined in varnishncsa
>
> %{X-Forwarded-For}i %l %u %t %D \"%r\" %s %b \"%{Referer}i\" 
> \"%{User-agent}i\" \"%{Host}i\" %{Varnish:hitmiss}x
>
> However, this would log EVERY request that goes through varnish.
>
> We have a monitoring server that hits it aggressively ( and also static files 
> ).
>
> x.x.x.x - - [07/Nov/2019:00:22:53 -0600] 2080 "GET http://localhost/index.php 
> HTTP/1.0" 200 8 "-" "HTTP-Monitor/1.1" "-" miss
> x.x.x.x - - [07/Nov/2019:00:22:58 -0600] 2472 "GET http://localhost/index.php 
> HTTP/1.0" 200 8 "-" "HTTP-Monitor/1.1" "-" miss
> x.x.x.x - - [07/Nov/2019:00:22:59 -0600] 1919 "GET http://localhost/index.php 
> HTTP/1.0" 200 8 "-" "HTTP-Monitor/1.1" "-" miss
>
> Is there a way in which I can exclude these from varnish logs ?
>
> In apache I would just do
>
>  SetEnvIf Request_URI 
> "\.(jpeg|jpg|xml|png|gif|ico|js|css|swf|woff|ttf|eot\?|js?.|css?.)$" DontLog
>  SetEnvIfNoCase User-Agent "(HTTP-Monitor)" DontLog
>  CustomLog /var/www/logs/access_80_log combined env=!DontLog
>
> This would otherwise just keep filling up the logs.

Do something like this with your command line:

> varnishncsa [...] -q 'not (ReqHeader:User-Agent ~ "HTTP-Monitor" or ReqURL ~ 
> "\.(jpeg|jpg|xml|png|gif|ico|js|css|swf|woff|ttf|eot\?|js?.|css?.)$")'

See man varnishncsa, man vsl and man vsl-query.

Dridi
_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to