2011年8月30日火曜日

Varnishのログを確認

スズキです。

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、もうすぐできるかも...
--------
http://www.suz-lab.com

0 コメント: