VARNISHNCSA(1)

NAME
varnishncsa - Display Varnish logs in Apache / NCSA combined log format

SYNOPSIS

varnishncsa [-a] [-C] [-d] [-D] [-F format] [-f formatfile] [-g <request|vxid>] [-h] [-n name] [-N filename] [-P file] [-q query] [-r filename] [-t <seconds|off>] [-V] [-w filename]

DESCRIPTION

The varnishncsa utility reads varnishd(1) shared memory logs and presents them in the Apache / NCSA "combined" log format.

Each log line produced is based on a single Request type transaction gathered from the shared memory log. The Request transaction is then scanned for the relevant parts in order to output one log line. To filter the log lines produced, use the query language to select the applicable transactions. Non-request transactions are ignored.

The following options are available:

-a  When writing output to a file, append to it rather than overwrite it.

-C  Do all regular expression and string matching caseless.

-d  Start processing log records at the head of the log instead of the tail.

-D  Daemonize.

-F format
    Set the output log format string.

-f formatfile
    Read output format from a file. Will read a single line from the specified file, and use that line as the format.

-g <request|vxid>
    The grouping of the log records. The default is to group by vxid.

-h  Print program usage and exit

-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 file
    Write the process' PID to the specified file.

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

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

-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. This option is required when running in daemon mode.

FORMAT

Specify the log format used. If no format is specified the default log format is used.

The default log format is:

%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i"

Escape sequences \n and \t are supported.

Supported formatters are:

%b  Size of response in bytes, excluding HTTP headers. In CLF format, i.e. a '-' rather than a 0 when no bytes are sent.

%D  Time taken to serve the request, in microseconds.

%H  The request protocol. Defaults to HTTP/1.0 if not known.

%h  Remote host. Defaults to '-' if not known.

%I  Total bytes received from client.

%{X}i
    The contents of request header X.

%l  Remote logname (always '-')

%m  Request method. Defaults to '-' if not known.

%{X}o
    The contents of response header X.

%O  Total bytes sent to client.

%q  The query string, if no query string exists, an empty string.

%r  The first line of the request. Synthesized from other fields, so it may not be the request verbatim.

%s  Status sent to the client

%t  Time when the request was received, in HTTP date/time format.

%{X}t
    Time when the request was received, in the format specified by X. The time specification format is the same as for strftime(3).

%T  Time taken to serve the request, in seconds.

%U  The request URL without any query string. Defaults to '-' if not known.

%u  Remote user from auth

%{X}x
    Extended variables. Supported variables are:

Varnish:time_firstbyte
    Time from when the request processing starts until the first byte is sent to the client.

Varnish:hitmiss
    Whether the request was a cache hit or miss. Pipe and pass are considered misses.

Varnish:handling
    How the request was handled, whether it was a cache hit, miss, pass, pipe or synth.

VCL_Log:key
    Output value set by std.log("key:value") in VCL.

SIGNALS

SIGHUP
    Rotate the log file (see -w option)

SIGUSR1
    Flush any outstanding transactions

SEE ALSO

varnishd(1) varnishlog(1) varnishstat(1)

HISTORY

The varnishncsa utility was developed by Poul-Henning Kamp in cooperation with Verdens Gang AS and Varnish Software AS. This manual page was initially written by Dag-Erling Smørgrav <des@des.no>, and later updated by 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