3月 122012
 

この前作ったvarnishlogを見やすくするツールですが
機能強化しました。

追加機能は

  • vcl_traceの値をVCLソースで表示(@perbuさんからのリクエスト)
  • バックエンドの状態を表示(@dai_yamashitaさんからのリクエスト)
  • です

    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


     Leave a Reply

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    (required)

    (required)

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください