3月 122012
この前作ったvarnishlogを見やすくするツールですが
機能強化しました。
追加機能は
です
vcl_traceの値をVCLソースで表示
今までvcl_traceの結果は味気ない表示で出していましたが。-fオプションでVCLファイルを指定することで実際のソースコードを表示するようにしました。
| trace | vrt_count:1 vcl_line:55 vcl_pos:1
↓
| trace | set req.http.X-TEST1=campur_xcir.gethash(); | | ^ (vrt_count:1 vcl_line:55 vcl_pos:1 src_name:input)
バックエンドの状態を表示
バックエンドのヘルスチェックの状態を表示するようになりました。
過去の履歴はとりあえずwindowの4倍です
backend status ------------------------------------------------------------ name | status | past status default | healthy | YY
起動オプション
またこれらの機能を実現するために起動オプションが追加されました。
-f [vcl file]
VCLを指定します。これによりvcl_traceを解決できます。
-e [varnishd]
varnishdを指定します。vcl_traceの解決に必要です。
-cc_command [cc_command]
varnishのcc_commandで共有ライブラリを使っている場合は指定してください。
vcl_traceの解決がいらない場合は不要です。
–(backend|action|variable) [on|off]
それぞれの情報の表示のon/offができます。
デフォルトは全てonです
また機能的に安定しなくてONにはしてないのですが
define('experimental' , false);
を
define('experimental' , true);
にして
起動時に–src=onと-f=[vclfile]と-e=[varnishd]を指定するとVCLファイルで実際に通った場所が表示されます([exec])
############################################################ vcl trace [exec] /* "input"*/ [exec] /* ~中略~ [exec] sub vcl_recv { [exec] if (req.restarts == 0) { [exec] if (req.http.x-forwarded-for) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip; [exec] } else { [exec] set req.http.X-Forwarded-For = client.ip; [exec] } [exec] } [exec] if (req.request != "GET" && [exec] req.request != "HEAD" && [exec] req.request != "PUT" && [exec] req.request != "POST" && ~後略~
良かったら使ってみてください
varnishlogTrans