ログに有用な変数変数
最終更新日 2021-05-11
標準のカスタムログに加えて、リモートログストリーミングを設定する際に、以下のリクエストとレスポンスの変数をログに含めることができます。また、あらゆる Varnish 変数 もログに含めることが可能です。VCL の機能拡張 のご利用もご検討ください。
重要
ストリームログに含める予定のデータに対する設定とエンドポイントの決定を行う際には、セキュリティ、プライバシー、およびコンプライアンスのそれぞれの要件を必ず考慮するようにしてください。
時間に関連するログ変数
ログに含めることが可能な時間に関連する変数です。
ログに有用な変数変数 | 説明 |
---|---|
%{begin:%Y-%m-%dT%H:%M:%S%z}t |
リクエストを開始した時間 (ISO 8601フォーマット)。 |
%{end:%Y-%m-%dT%H:%M:%S%z}t |
リクエストが終了した時間 (ISO 8601フォーマット)。 |
%{time.elapsed.usec}V |
リクエストを処理するのに要した時間 (マイクロ秒)。 |
%{time.start.sec}V |
リクエストを開始した時間 (エポック秒)。 |
接続に関連するログ変数
ログに含めることが可能な接続に関連する変数です。
変数 | 説明 |
---|---|
%{if(req.is_ipv6, "true", "false")}V |
接続が IPv6 で行われたどうか。 |
%{if(req.is_ssl, "true", "false")}V |
接続が HTTPS で行われたかどうか。 |
%{cstr_escape(tls.client.protocol)}V |
クライアントとの接続に利用された TLS のバージョン。 |
%{cstr_escape(tls.client.servername)}V |
クライアントが送信した SNI サーバー名。 |
%{cstr_escape(tls.client.cipher)}V |
接続に利用された TLS 暗号スイート。 |
%{cstr_escape(tls.client.ciphers_sha)}V |
接続に利用された TLS 暗号スイート。 |
%{cstr_escape(tls.client.tlsexts_sha)}V |
クライアントが TLS ハンドシェイクの一部として送信した TLS 拡張識別の SHA (Base64)。 |
%{if(fastly_info.is_h2, "true", "false")}V |
接続が HTTP/2 で行われたかどうか。 |
%{if(fastly_info.h2.is_push, "true", "false")}V |
HTTP/2 プッシュレスポンスかどうか。 |
%{fastly_info.h2.stream_id}V |
HTTP/2 ストリーム ID 。 |
リクエストとレスポンスに関連するログ変数
ログに含めることが可能なリクエストとレスポンスに関連する変数です。
変数 | 説明 |
---|---|
%{Fastly-Orig-Host}i |
Host ヘッダーのオーバーライドが存在する場合、リクエストに設定されていた元の Host ヘッダー。 |
%{Host}i |
変数取得時点での Host リクエストヘッダー (オリジンに送信する前に変更されている可能性があります)。 |
%{Referer}i |
Referer リクエストヘッダー。リンク元の URL。 |
%{User-Agent}i |
User-Agent リクエストヘッダー。ページをリクエストしたブラウザ。 |
%{Accept}i |
Accept リクエストヘッダー。クライアントが対応可能なコンテンツタイプ。 |
%{Accept-Language}i |
Accept-Language リクエストヘッダー。クライアントが応答可能な言語。 |
%{Accept-Encoding}i |
Accept-Encoding リクエストヘッダー。クライアントが理解可能なコンテンツのエンコーディング形式。 |
%{Accept-Charset}i |
Accept-Charset リクエストヘッダー。クライアントが対応可能な文字エンコーディング。 |
%{Connection}i |
Connection リクエストヘッダークライアントの keep-alive 利用の可否。 |
%{DNT}i |
DNT リクエストヘッダー。クライアントが「Do Not Track」ヘッダーを送ったかどうか。 |
%{Forwarded}i |
Forwarded リクエストヘッダー。リクエストがプロキシを経由した場合、リクエストの送信元であるクライアントの IP アドレス。 |
%{Via}i |
Via リクエストヘッダー。プロキシされたリクエストにおけるユーザーエージェントとサーバー間の中間プロトコルとプロキシサーバー。 |
%{X-Requested-With}i |
X-Requested-With リクエストヘッダー。通常、XMLHttpRequest でリクエストされる Ajax リクエストを判別する目的で利用されます。 |
%{X-Requested-For}i |
X-Requested-For リクエストヘッダー。リクエストがプロキシを経由した場合、リクエストの送信元であるクライアントの IP アドレス。 |
%{X-ATT-DeviceId}i |
X-ATT-DeviceId リクエストヘッダー。AT&T デバイスのメーカー、モード、ファームウェア。 |
%{Content-Type}o |
Content-Type レスポンスヘッダー。コンテンツの MIME タイプ。 |
%{TSV}o |
TSV レスポンスヘッダー。DNT リクエストに対するレスポンスに含まれるトラッキングステータスを示す値。 |
キャッシュステータスに関連するログ変数
ログに含めることが可能なキャッシュステータスに関連する変数です。
変数 | 説明 |
---|---|
%{If-Modified-Since}i |
If-Modified-Since リクエストヘッダー。サーバはリクエストの IMS ヘッダーに指定された日時よりも新しいコンテンツを持つ場合にのみ200ステータスでレスポンスを返します。 |
%{If-None-Match}i |
If-None-Match リクエストヘッダー。サーバーは該当するリソースが If-None-Match に指定された Etag に一致しない場合に、200ステータスでレスポンスを返します。 |
%{Cache-Control}o |
Cache-Control レスポンスヘッダー。サーバーからクライアントまでのすべてのキャッシュメカニズムで、オブジェクトを数秒でキャッシュできるかどうか。 |
%{Age}o |
Age レスポンスヘッダー。オブジェクトがプロキシキャッシュに保持されていた秒数。 |
%{Expires}o |
Expires レスポンスヘッダー。レスポンスが失効したと判断される日時が、RFC7231 で定義されている「HTTP-date」形式で示されます。 |
%{Last-Modified}o |
Last-Modified レスポンスヘッダー。リクエストされたオブジェクトが最後に更新された日時が、RFC7231 で定義されている「HTTP-date」形式で示されます。If-Modified-Since リクエストヘッダーと併せて使用されます。 |
%{ETag}o |
ETag レスポンスヘッダー。リソースの特定のバージョンを示す識別子。If-None-Match Request ヘッダーと併せて使用されます。 |
%{obj.hits}V |
キャッシュされたオブジェクトがヒットした回数。 |
%{obj.lastuse}V |
キャッシュされたオブジェクトが最後に利用された時。 |
Fastly 独自の変数
変数 | 説明 |
---|---|
%{if(fastly_info.state ~"^(HIT|MISS)(?:-|$)", "true", "false")}V |
オブジェクトがキャッシュ可能かどうか。 |
%{regsub(fastly_info.state, "^(HIT-(SYNTH)|(HITPASS|HIT|MISS|PASS|ERROR|PIPE)).*", "\2\3") }V |
レスポンスが HIT、MISS、PASS、ERROR、PIPE、HITPASS、SYNTH (ETIC) のいずれであったか。 |
地理情報に関連するログ変数
ログに含めることが可能な地理情報に関連する変数です。
変数 | 説明 |
---|---|
%{server.datacenter}V |
リクエストの処理に使用された Fastly のデータセンター。 |
%{client.geo.city}V |
リクエスト発生元の都市。 |
%{client.geo.city.ascii}V |
「client.geo.city」の別名。 |
%{client.geo.city.utf8}V |
UTF-8 文字エンコーディングを使用してエンコードされた、IP アドレスに関連付けられた都市または町の名前。 |
%{client.geo.country_code}V |
リクエスト発生元の国コード。 |
%{client.geo.continent_code}V |
リクエスト発生元の大陸コード。 |
%{client.geo.region}V |
リクエスト発生元のリージョンコード。 |
サイズに関連するログ変数
ログに含めることが可能なサイズ情報に関連する変数です。
変数 | 説明 |
---|---|
%{req.header_bytes_read}V |
リクエストヘッダーのサイズ。 |
%{req.body_bytes_read}V |
リクエストボディのサイズ。 |
%{resp.header_bytes_written}V |
レスポンスヘッダーのサイズ。 |
%{resp.body_bytes_written}V |
レスポンスボディのサイズ。 |
Socket 関連のログ変数
ログに含めることが可能な Socket 情報に関連する変数です。
変数 | 説明 |
---|---|
%{client.socket.cwnd}V |
クライアントソケットの輻輳ウィンドウサイズ。 |
%{client.socket.nexthop}V |
次のゲートウェイの IP アドレス。 |
%{client.socket.tcpi_rcv_mss}V |
クライアントソケットの受信セグメントサイズの最大値。 |
%{client.socket.tcpi_snd_mss}V |
クライアントソケットの送信セグメントサイズの最大値。 |
%{client.socket.tcpi_rtt}V |
クライアントソケットの平準化したラウンドトリップ時間 (マイクロ秒)。 |
%{client.socket.tcpi_rttvar}V |
クライアントソケットのラウンドトリップ時間偏差 (マイクロ秒) 。 |
%{client.socket.tcpi_rcv_rtt}V |
クライアントソケットの受信側におけるラウンドトリップ時間の推測値 (マイクロ秒)。 |
%{client.socket.tcpi_rcv_space}V |
受信したデータに対して現在利用可能なバッファースペース。 |
%{client.socket.tcpi_last_data_sent}V |
クライアントソケットに最後にデータが送られてからの時間 (マイクロ秒)。 |
%{client.socket.tcpi_total_retrans}V |
クライアントソケットでのパケット再送回数の合計。 |
%{client.socket.tcpi_delta_retrans}V |
クライアントソケットでのパケット再送回数の差異。 |
%{client.socket.ploss}V |
クライアントソケットのパケットロス。 |
その他のログ変数
その他に以下のような内容をログに含めることが可能です。
変数 | 説明 |
---|---|
%{LF}V |
改行 (例:"\n" ) |