varnishlogで特定のログのみ出力する方法
Varnishのログは、以下のコマンドを実行して確認できます。
※ 導入やデバッグまでの手順については、以下を参考にしてください
Varnishを自社メディアに導入しました - LCL Engineers' Blog LCLで運営している「バスとりっぷ」というメディアに、キャッシュサーバとしてVarnishを導入しました。導入する上でハマった事・得たノウハウなどを... |
---|
$ varnishlog
実行後はリクエストが送られるたびにキャッシュ対象のパス毎のログが出力されます。
それらの中から特定の値を見つければよいのですが、1つのログの出力はとても多いため目視で探すのは非常に困難です。
また、必要のないfaviconや画像などのアセットなどのログも大量に出力されるので1画面に収まることは少ないと思います。
この場合、varnishlogのオプションを利用することで欲しい情報のみを出力するようにできます。
今回は、キャッシュの存在を確認する方法を例にして説明します。
URLのみ出力する
URLはReqURL
のタグで設定されているため、このタグのみ出力するよう指定します。
$ varnishlog -i requrl
* << BeReq >> 36
* << Request >> 35
- ReqURL /hoge/
* << Session >> 34
* << Request >> 32800
- ReqURL /assets/hoge/pc/application-b9fdskjaflsdkjfec0db473f11ef2345a932ec9cc31aa23ualfhahiuhaf.css
* << Session >> 32799
* << BeReq >> 32801
* << BeReq >> 39
* << Request >> 38
- ReqURL /images/hoge/logo.png
* << Session >> 37
* << BeReq >> 131075
* << Session >> 131073
...
RespHeaderタグのX-Cacheのみ出力する
URLに加えて、キャッシュフラグも表示します。
RespHeaderはいくつもの値が設定されているため、正規表現を使える-I
でX-Cache:
を含めます。
$ varnishlog -I "RespHeader:X-Cache:" -i requrl
* << Request >> 196616
- ReqURL /hoge/
- RespHeader X-Cache: HIT desktop
* << Session >> 196615
* << Request >> 47
- ReqURL /assets/hoge/pc/application-b9fdskjaflsdkjfec0db473f11ef2345a932ec9cc31aa23ualfhahiuhaf.css
- RespHeader X-Cache: HIT desktop
* << Session >> 46
* << Request >> 196618
- ReqURL /images/bustrip/logo.png
- RespHeader X-Cache: HIT desktop
* << Session >> 196617
特定のURLのみ出力する
上記で出力したい要件は満たせていますが、他のURLも出力されてしまってノイズが多いです。
そこで/hoge/
のみを指定して出力するようにします。
$ varnishlog -I "RespHeader:X-Cache:" -i requrl -q "ReqUrl eq '/hoge/'"
* << Request >> 196627
- ReqURL /hoge/
- RespHeader X-Cache: HIT desktop
以上で必要なログのみ出力できるようになりました。
補足
/hoge/
/images/hoge/img_sample.png
/hoge/?utm_source=fuga&utm_medium=referral&utm_content=nonews
これらを判別する際は正規表現を使うとよいです。
$ varnishlog -I "RespHeader:X-Cache:" -i requrl -q 'ReqUrl ~ "^\/hoge\/"'
他にも画像、アセットのみ除外はこのように書きます。
$ varnishlog -I "RespHeader:X-Cache:" -i requrl -q 'ReqUrl !~ "(jpg|jpeg|gif|png|bmp|assets)"'
クエリの種類:https://feryn.eu/blog/varnishlog-measure-varnish-cache-performance/#VSL_queries
Author And Source
この問題について(varnishlogで特定のログのみ出力する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/yamshta/items/e77d39b29a3738872084著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .