Cloud Platform

Varnish request logs

The Varnish® request log displays in JSON format the requests processed by Varnish, regardless of their caching status. Most subscribers use shared load balancers. Varnish logs are available only to subscriptions with dedicated balancers using the Streaming log entries in real time feature. You cannot download Varnish request logs from either the Cloud Platform interface or your infrastructure.

For a list of the log files handled by Cloud Platform, including accessing these log files, log file retention, and their locations, see About Cloud Platform logging.

Note

  • Acquia’s log forwarding feature adds information to the beginning of each line that is forwarded to an external service. For more information, see File formats in forwarded log files.

  • The forwarded Varnish logs in the JSON format do not contain the query field.

Parsing the log file

The following line is a representative example of the data written into your website’s Varnish request log, with line breaks included for ease of reading:

{
   "time":"[12/Dec/2018:23:59:59 +0000]",
   "status":"304",
   "bytes":"0",
   "method":"GET",
   "host":"website.example.com",
   "url":"/path/to/page",
   "referrer":"-",
   "user_agent":"Browser Name Here",
   "client_ip":"10.0.1.3",
   "time_firstbyte":"0.000241",
   "hitmiss":"hit",
   "handling":"hit",
   "forwarded_for":"10.0.1.3, 127.255.255.255",
   "request_id":"v-00000000-ffff-1111-aaaa-111111111111",
   "ah_log":"",
   "ah_application_id":"bbbbbbbb-3333-4444-9999-bbbbbbbbbbbb",
   "ah_environment":"prod",
   "ah_trace_id":"ZZZZZZZZZZZZZZ"
 }

Each of the items in the Varnish request log is noted in the following table, along with its description:

Key

Value

time

The date and time of the request in HTTP date/time format (%d/%b/%Y:%T %z).

status

The HTTP status sent to the client. Production environments don’t display full information for HTTP 5xx status codes.

bytes

The size of the response in bytes, excluding HTTP headers.

method

The method of the request (usually GET or POST).

host

The host name of the request.

url

The full path of the requested file.

referrer

The referrer for this request, if any.

user_agent

The full user-agent for this request.

client_ip

The originating IP address of the request.

time_firstbyte

Time from when the request processing starts until the first byte is sent to the client, in seconds.

hitmiss

Whether the request was a cache HIT or MISS. PIPE and PASS are considered misses.

handling

How the request was handled: cache HIT, MISS, PIPE, PASS or ERROR.

forwarded_for

The full set of IP addresses tracked as “requester IP,” which will contain the IP addresses of the following if they are in use by the subscription:

  • Load balancer

  • ELB (Elastic Load Balancer)

  • Content Delivery Networks or Web Application Firewalls (WAFs) such as Edge)

request_id

A unique ID attached to this request by the load balancer, which appears in several Cloud Platform log files. For more information, see Using HTTP request IDs.

ah_log

Log name identifier. Not required, and not always set.

ah_application_id

The UUID (Universal Unique Identifier) of the application serving this request.

ah_environment

The name of the Cloud Platform environment serving this request.

ah_trace_id

This value is for Acquia internal use only.

More information