VARNISHSTAT(1)

NAME
varnishstat - Varnish Cache statistics

SYNOPSIS

varnishstat [-1] [-f <glob>] [-h] [-I <glob>] [-j] [-l] [-n <dir>] [-r] [-t <seconds|off>] [-V] [-X <glob>] [-x]

DESCRIPTION

The varnishstat utility displays statistics from a running varnishd(1) instance.

The following options are available:

-1  Instead of presenting a continuously updated display, print the statistics to stdout.

-f <glob>
    Legacy field filtering glob. Use backslash to escape characters. If the argument starts with '^' it is used as an exclusive glob. Multiple -f arguments may be given. Legacy filtering globs are run along with inclusion globs (-I arguments) and exclusion globs (-X arguments) in order on a first-match basis.

-h  Print program usage and exit

-I <glob>
    Field inclusion glob. Use backslash to escape characters. Multiple -I arguments may be given. Exclusion globs are run in order along with exclusion globs (-X arguments) and legacy filtering globs (-f arguments) on a first-match basis.

-j  Print statistics to stdout as JSON.

-l  Lists the available fields to use with the -f option.

-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.

-r  Toggle raw or adjusted gauges, adjusted is the default.

-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.

-V  Print version information and exit.

-X <glob>
    Field exclusion glob. Use backslash to escape characters. Multiple -X arguments may be given. Exclusion globs are run in order along with inclusion globs (-I arguments) and legacy filtering globs (-f arguments) on a first-match basis.

-x  Print statistics to stdout as XML.

--optstring
    Print the optstring parameter to getopt(3) to help writing wrapper scripts.

CURSES MODE

When neither -1, -j nor -x options are given, the application starts up in curses mode. This shows a continuously updated view of the counter values, along with their description.

The top area shows process uptime information.

The center area shows a list of counter values.

The bottom area shows the description of the currently selected counter.

On startup, only counters at INFO level are shown.

  Columns

The following columns are displayed, from left to right:

Name
    The name of the counter

Current
    The current value of the counter.

Change
    The average per second change over the last update interval.

Average
    The average value of this counter over the runtime of the Varnish daemon, or a period if the counter can't be averaged.

Avg_10
    The moving average over the last 10 update intervals.

Avg_100
    The moving average over the last 100 update intervals.

Avg_1000
    The moving average over the last 1000 update intervals.

  Key bindings

<h> Toggle the help screen.

<UP> or <k>
    Navigate the counter list one line up.

<DOWN> or <j>
    Navigate the counter list one line down.

<PAGEUP> or <b> or <CTRL-B>
    Navigate the counter list one page up.

<PAGEDOWN> or <SPACE> or <CTRL-F>
    Navigate the counter list one page down.

<HOME> or <g>
    Navigate the counter list to the top.

<END> or <G>
    Navigate the counter list to the bottom.

<d> Toggle between showing and hiding unseen counters. Unseen counters are those that has been zero for the entire runtime of varnishstat. Defaults to hide unseen counters.

<r> Toggle between showing raw and adjusted gauges. When a gauge is decremented faster than it is incremented, it may appear as a large integer with its most significant bit set. By default such values are adjusted to zero.

<e> Toggle scaling of values.

<v> Increase verbosity. Defaults to only showing informational counters.

<V> Decrease verbosity. Defaults to only showing informational counters.

<q> Quit.

<CTRL+T>
    Sample now.

<+> Increase refresh interval.

<-> Decrease refresh interval.

OUTPUTS

The XML output format is:

<varnishstat timestamp="YYYY-MM-DDTHH:mm:SS">
  <stat>
    <name>FIELD NAME</name>
    <value>FIELD VALUE</value>
    <flag>FIELD SEMANTICS</flag>
    <format>FIELD DISPLAY FORMAT</format>
    <description>FIELD DESCRIPTION</description>
  </stat>
  [..]
</varnishstat>

The JSON output format is:

{
  "timestamp": "YYYY-MM-DDTHH:mm:SS",
  "FIELD NAME": {
    "description": "FIELD DESCRIPTION",
    "flag": "FIELD SEMANTICS", "format": "FIELD DISPLAY FORMAT",
    "value": FIELD VALUE
  },
  "FIELD NAME": {
    "description": "FIELD DESCRIPTION",
    "flag": "FIELD SEMANTICS", "format": "FIELD DISPLAY FORMAT",
    "value": FIELD VALUE
  },
  [..]
}

Timestamp is the time when the report was generated by varnishstat.

SEE ALSO

•   varnishd(1)

•   varnishhist(1)

•   varnishlog(1)

•   varnishncsa(1)

•   varnishtop(1)

•   curses(3)

•   varnish-counters(7)

AUTHORS

This manual page was written by Dag-Erling Smørgrav, Per Buer, Lasse Karstensen and Martin Blix Grydeland.