OTFP メトリクスの収集

Fastly では、カスタム VCL アップデートと特定のログストリーミング設定の組み合わせを使用して、データ分析のために オンザフライパッケージング (OTFP) サービスのメトリクスを収集および処理することができます。リモートログストリーミングによる OTFP メトリクスの収集を設定した後は、数多くのサードパーティおよびオープンソースソフトウェアのいずれかを使用して、データの可視化やさらなる分析のためにロギングデータを集約することができます。

カスタム VCL のアップロード

  1. カスタム VCL をアップロードする前に Fastly VCL とカスタム VCL を組み合わせて使用する際の注意点を確認してください。
  2. 以下のカスタム VCL を Fastly VCL に追加します。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    sub vcl_deliver {
      # Identify Request type
      if (req.url.ext ~ "m3u8|ts|aac|webvtt") {
        set resp.http.Otfp-Format = "HLS";
      } else if (req.url.ext ~ "mpd|m4s") {
        set resp.http.Otfp-Format = "DASH";
      } else {
        set resp.http.Otfp-Format = "OTHER";
      }
    
      # Extract name-value pairs Otfp Info herder
      if (resp.http.X-Fastly-Otfp-Info) {
        set resp.http.Otfp-SS = regsub(resp.http.X-Fastly-Otfp-Info, ".*ss=(\S+).*", "\1");
        set resp.http.Otfp-SL = regsub(resp.http.X-Fastly-Otfp-Info, ".*sl=(\S+).*", "\1");
        set resp.http.Otfp-VL = regsub(resp.http.X-Fastly-Otfp-Info, ".*vl=(\S+).*", "\1");
    
        # Resolution (rs name-value) not available for audio-only segments
        if (resp.http.X-Fastly-Otfp-Info ~ ".*rs=(\S+).*") {
          set resp.http.Otfp-RS = re.group.1;
        } else {
          set resp.http.Otfp-RS = "-";
        }
      }
    #FASTLY deliver
    
      return(deliver);
    }
    

ロギングエンドポイントの作成

指示に従ってアカウントのリモートログストリーミングを設定し、特定のログエンドポイントを作成する際に Format String フィールドを以下のように設定します。

1
%h now.sec %r %>s %b resp.http.Otfp-Format resp.http.Otfp-SS resp.http.Otfp-SL resp.http.Otfp-VL resp.http.Otfp-RS

ログエンドポイントの条件でログファイルのタイミングを制御する

過剰なログファイルを避けるためには、ビデオセグメントが要求されたときにのみログが送信されるようにログエンドポイントに条件を付けることをおすすめします。そうすることで、ログが Fastly のオリジンシールドから送信されたファイルがログから除外することが可能です。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Logging リンクをクリックします。Logging ページが表示されます。
  5. ログエンドポイントのリストで、リモートログストリーミングを設定する際に有効にしたエンドポイントを探し、Attach a condition をクリックします。Create a new condition ウィンドウが表示されます。
  6. Create a new condition ウィンドウに以下のように記入します。
    • Name フィールドに、人間可読な条件名を入力します。
    • Apply if フィールドに resp.http.X-Fastly-Otfp-Info && !req.http.Fastly-FF と入力します。
  7. Save and apply to をクリックします。

ログデータの解析

任意の Varnish 変数および Fastly のさまざまな VCL 拡張機能に加え、ログファイルには以下のビデオ固有のフィールドが含まれます。

  • ss - 秒単位の動画セグメントプレゼンテーション開始時間
  • sl - 秒単位の動画セグメント期間
  • vl - 秒単位の動画再生時間
  • rs - ピクセル単位の動画トラックの表示解像度

これらのフィールドを使用して分析用のクエリを実行し、結果を動画配信設定の改良に役立てることができます。

Back to Top