varnishtop

Varnish log entry ranking

SYNOPSIS

varnishtop [-1] [-b] [-c] [-C] [-d] [-f] [-g <session|request|vxid|raw>] [-h] [-i taglist] [-I <[taglist:]regex>] [-L limit] [-n name] [-N filename] [-p period] [-q query] [-r filename] [-T seconds] [-x taglist] [-X <[taglist:]regex>] [-V]

DESCRIPTION

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 continously 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 Start processing log records at the head of the log instead of the tail.
-f Sort and group only on the first field of each log entry. This is useful when displaying e.g. stataddr 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.

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 name Specify the name of the varnishd instance to get logs from. If -n is not specified, the host name is used.
-N filename Specify the filename of a stale VSM instance. When using this option the abandonment checking is disabled.
-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.
-q query Specifies the VSL query to use.
-r filename Read log in binary file format from this file. The file can be created with varnishlog -B -w filename.
-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.
-V Print version information and exit.

EXAMPLES

The following example displays a continuously updated list of the most frequently requested URLs:

varnishtop -i ReqURL

The following example displays a continuously updated list of the most commonly used user agents:

varnishtop -C -I ReqHeader:User-Agent

SEE ALSO

  • varnishd(1)
  • varnishhist(1)
  • varnishlog(1)
  • varnishncsa(1)
  • varnishstat(1)

HISTORY

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.