share facebook facebook twitter menu hatena pocket slack

2011.08.30 TUE

Varnishのログを確認

鈴木 宏康

WRITTEN BY 鈴木 宏康

Varnishのログはファイルではなく共有メモリに出力されるので、ログを確認するにはvarnishlogという専用のコマンドを利用します。

実際、ログは下記のように出力されます。

# varnishlog
   13 SessionOpen  c xxx.xxx.xxx.xxx 14608 :80
   13 ReqStart     c xxx.xxx.xxx.xxx 14608 472752705
   13 RxRequest    c GET
   13 RxURL        c /form.html
   13 RxProtocol   c HTTP/1.1
   13 RxHeader     c Host: ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
   13 RxHeader     c Connection: keep-alive
   13 RxHeader     c Cache-Control: max-age=0
   13 RxHeader     c User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30
   13 RxHeader     c Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
   13 RxHeader     c Accept-Encoding: gzip,deflate,sdch
   13 RxHeader     c Accept-Language: ja,en-US;q=0.8,en;q=0.6
   13 RxHeader     c Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.3
   13 RxHeader     c Cookie: BX=bccskvt72b1sa&b=3&s=vb
   13 RxHeader     c If-None-Match: "062704cdcec5d810241a3aab8bfaba45"
   13 RxHeader     c If-Modified-Since: Mon, 29 Aug 2011 09:24:05 GMT
   13 VCL_call     c recv
   13 VCL_return   c pass
   13 VCL_call     c hash
   13 VCL_return   c hash
   13 VCL_call     c pass
   13 VCL_return   c pass
   13 Backend      c 14 default default

また、CentOS6にてyumでのインストールの場合、/etc/init.d/varnishlogという、サービススクリプトもあります。

中身をみると、結局varnishlogコマンドが実行されているのですが、下記のオプションがついています。

DAEMON_OPTS=”-a -w $logfile -D -P $pidfile”

オプションの詳細は下記となりますが、このサービスを実行することでVarnishのログがファイルに出力されるようになります。

-a'      When writing to a file, append to it rather thanoverwrite it.
         (追記モードでファイルに出力)
-w file' Write log entries to file instead of displaying them. The file will be overwritten unless the -a option was specified.
         (出力ファイルを指定)
-D'      Daemonize.
         (デーモンモードで実行)
-P file' Write the process's PID to the specified file
         (PID保存ファイルを指定)

ログは/var/log/varnish/varnish.logに出力されますが、バイナリ形式で保存されているので、確認するにはやはり下記のように、varnishlogコマンドを利用する必要があります。

# varnishlog -r /var/log/varnish/varnish.log

Facebook用Varnishも、もうすぐできるかもしれません。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。