varnishtop - Varnish log entry ranking
varnishtop [-1] [-b] [-c] [-C] [-d] [-E] [-f] [-g
<session|request|vxid|raw>] [-h] [-i <taglist>] [-I
<[taglist:]regex>] [-L <limit>] [-n <dir>] [-p
<period>] [-Q <file>] [-q <query>] [-r <filename>] [-t
<seconds|off>] [-T <seconds>] [-x <taglist>] [-X
<[taglist:]regex>] [-V]
The varnishtop utility reads varnishd(1) shared memory logs and presents
a continuously updated list of the most commonly occurring log entries. With
suitable filtering using the -I, -i, -X and -x
options, it can be used to display a ranking of requested documents, clients,
user agents, or any other information which is recorded in the log.
The following options are available:
- -1
- Instead of a continuously updated display, print the statistics once and
exit. Implies -d.
- -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.
- -E
- Display ESI transactions and other client transactions.
- -f
- Sort and group only on the first field of each log entry. For log entries
in the form prefix: value it is the prefix without the colon that
is sorted and grouped. This is useful when displaying e.g. ReqStart
entries, where the first field is the client IP address.
- -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.
- -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 <dir>
- Specify the varnishd working directory (also known as instance name) to
get logs from. If -n is not specified, the host name is used.
- -p <period>
- Specified the number of seconds to measure over, the default is 60
seconds. The first number in the list is the average number of requests
seen over this time period. This option has no effect if -1 option is also
used.
- -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.
- -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 indefinetely 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.
- -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.
- -V
- Print version information and exit.
- --optstring
- Print the optstring parameter to getopt(3) to help writing wrapper
scripts.
The following example displays a continuously updated list of the most
frequently requested URLs:
The following example displays a continuously updated list of the
most commonly used user agents:
varnishtop -C -I ReqHeader:User-Agent
- varnishd(1)
- varnishhist(1)
- varnishlog(1)
- varnishncsa(1)
- varnishstat(1)
The varnishtop utility was originally developed by Poul-Henning Kamp in
cooperation with Verdens Gang AS and Varnish Software AS, and later
substantially rewritten by Dag-Erling Smørgrav. This manual page was
written by Dag-Erling Smørgrav, and later updated by Martin Blix
Grydeland.
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