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