varnishlog - Man Page
Display Varnish logs
Examples (TL;DR)
- Display logs in real time:
varnishlog
- Only display requests to a specific domain:
varnishlog -q 'ReqHeader eq "Host: example.com"'
- Only display POST requests:
varnishlog -q 'ReqMethod eq "POST"'
- Only display requests to a specific path:
varnishlog -q 'ReqURL eq "/path"'
- Only display requests to paths matching a regular expression:
varnishlog -q 'ReqURL ~ "regex"'
Synopsis
varnishlog [-a] [-A] [-b] [-c] [-C] [-d] [-D] [-E] [-g <session|request|vxid|raw>] [-h] [-i <taglist>] [-I <[taglist:]regex>] [-k <num>] [-L <limit>] [-n <workdir>] [-P <file>] [-Q <file>] [-q <query>] [-r <filename>] [-R <limit[/duration]>] [-t <seconds|off>] [-T <seconds>] [-u] [-v] [-V] [-w <filename>] [-x <taglist>] [-X <[taglist:]regex>]
Options
The following options are available:
- -a
When writing output to a file with the -w option, append to it rather than overwrite it. This option has no effect without the -w option.
- -A
When writing output to a file with the -w option, output data in ascii format. This option has no effect without the -w option.
- -b
Only display transactions and log records coming from backend communication.
- -c
Only display transactions and log records coming from client communication.
- -C
Do all regular expression and string matching caseless.
- -d
Process log records at the head of the log and exit.
- -D
Daemonize.
- -E
Display ESI transactions and other types of sub-requests. This implies the -c option and includes other client transactions.
- -g <session|request|vxid|raw>
The grouping of the log records. The default is to group by vxid.
- -h
Print program usage and exit
- -i <taglist>
Include log records of these tags in output. Taglist is a comma-separated list of tag globs. Multiple -i options may be given.
If a tag include option is the first of any tag selection options, all tags are first marked excluded.
- -I <[taglist:]regex>
Include by regex matching. Output only records matching taglist and regular expression. Applies to any tag if taglist is absent. Multiple -I options may be given.
If a tag include option is the first of any tag selection options, all tags are first marked excluded.
- -k <num>
Process this number of matching log transactions before exiting.
- -L <limit>
Sets the upper limit of incomplete transactions kept before the oldest transaction is force completed. A warning record is synthesized when this happens. This setting keeps an upper bound on the memory usage of running queries. Defaults to 1000 transactions.
- -n <workdir>
Specify the varnish working directory of the instance to attach to. See varnishd(1) -n option documentation for additional information and defaults.
- -P <file>
Write the process' PID to the specified file.
- -Q <file>
Specifies the file containing the VSL query to use. When multiple -Q or -q options are specified, all queries are considered as if the 'or' operator was used to combine them.
- -q <query>
Specifies the VSL query to use. When multiple -q or -Q options are specified, all queries are considered as if the 'or' operator was used to combine them.
- -r <filename>
Read log in binary file format from this file. The file can be created with varnishlog -w filename. If the filename is -, logs are read from the standard input. and cannot work as a daemon.
- -R <limit[/duration]>
Restrict the output to the specified limit. Transactions exceeding the limit will be suppressed. The limit is specified as the maximum number of transactions (with respect to the chosen grouping method) and an optional time period. If no duration is specified, a default of s is used. The duration field can be formatted as in VCL (e.g. -R 10/2m) or as a simple time period without the prefix (e.g. -R 5/m). When in -g raw grouping mode, this setting can not be used alongside -i, -I, -x or -X, and we advise using -q instead.
- -t <seconds|off>
Timeout before returning error on initial VSM connection. If set the VSM connection is retried every 0.5 seconds for this many seconds. If zero the connection is attempted only once and will fail immediately if unsuccessful. If set to "off", the connection will not fail, allowing the utility to start and wait indefinitely for the Varnish instance to appear. Defaults to 5 seconds.
- -T <seconds>
Sets the transaction timeout in seconds. This defines the maximum number of seconds elapsed between a Begin tag and the End tag. If the timeout expires, a warning record is synthesized and the transaction is force completed. Defaults to 120 seconds.
- -u
When writing output to a file with the -w option, output data is not buffered. This option has no effect without the -w option.
- -v
Use verbose output on record set printing, giving the VXID on every log line. Without this option, the VXID will only be given on the header of that transaction.
- -V
Print version information and exit.
- -w <filename>
Redirect output to file. The file will be overwritten unless the -a option was specified. If the application receives a SIGHUP in daemon mode the file will be reopened allowing the old one to be rotated away. The file can then be read by varnishlog and other tools with the -r option, unless the -A option was specified. This option is required when running in daemon mode. If the filename is -, varnishlog writes to the standard output and cannot work as a daemon.
- -x <taglist>
Exclude log records of these tags in output. Taglist is a comma-separated list of tag globs. Multiple -x options may be given.
- -X <[taglist:]regex>
Exclude by regex matching. Do not output records matching taglist and regular expression. Applies to any tag if taglist is absent. Multiple -X options may be given.
- --optstring
Print the optstring parameter to getopt(3) to help writing wrapper scripts.
Signals
SIGHUP
Rotate the log file (see -w option) in daemon mode, abort the loop and die gracefully when running in the foreground.
SIGUSR1
Flush any outstanding transactions
See Also
History
The varnishlog utility was developed by Poul-Henning Kamp <phk@phk.freebsd.dk> in cooperation with Verdens Gang AS and Varnish Software AS. This manual page was initially written by Dag-Erling Smørgrav, and later updated by Per Buer and Martin Blix Grydeland.
Copyright
This document is licensed under the same licence as Varnish itself. See LICENCE for details.
- Copyright (c) 2006 Verdens Gang AS
- Copyright (c) 2006-2015 Varnish Software AS
Referenced By
varnishd(1), varnishhist(1), varnishncsa(1), varnishstat(1), varnishtest(1), varnishtop(1), vsl(7).