OTFP メトリクスの収集
最終更新日 2018-09-04
Fastly では、カスタム VCL の更新と特定のログストリーミング設定を使用することで、オンザフライパッケージング (OTFP) サービスのメトリクスを収集し、処理して分析することができます。リモートログストリーミングを使用して OTFP メトリクスコレクションを設定すると、いくつかのサードパーティーとオープンソースソフトウェアオプションにより、ログデータを集約して可視化と分析することができます。
重要
OTFP の設定方法がわからない場合は、変更を加える前に support@fastly.com までお問い合わせください。
カスタム VCL のアップロード
カスタム VCL をアップロードする前に Fastly VCL とカスタム VCL を組み合わせて使用する際の注意点を確認してください。
以下のカスタム VCL を Fastly VCL に追加します。
1sub vcl_deliver {2 # Identify Request type3 if (req.url.ext ~ "m3u8|ts|aac|webvtt") {4 set resp.http.Otfp-Format = "HLS";5 } else if (req.url.ext ~ "mpd|m4s") {6 set resp.http.Otfp-Format = "DASH";7 } else {8 set resp.http.Otfp-Format = "OTHER";9 }1011 # Extract name-value pairs Otfp Info herder12 if (resp.http.X-Fastly-Otfp-Info) {13 set resp.http.Otfp-SS = regsub(resp.http.X-Fastly-Otfp-Info, ".*ss=(\S+).*", "\1");14 set resp.http.Otfp-SL = regsub(resp.http.X-Fastly-Otfp-Info, ".*sl=(\S+).*", "\1");15 set resp.http.Otfp-VL = regsub(resp.http.X-Fastly-Otfp-Info, ".*vl=(\S+).*", "\1");1617 # Resolution (rs name-value) not available for audio-only segments18 if (resp.http.X-Fastly-Otfp-Info ~ ".*rs=(\S+).*") {19 set resp.http.Otfp-RS = re.group.1;20 } else {21 set resp.http.Otfp-RS = "-";22 }23 }24#FASTLY deliver2526 return(deliver);27}
ロギングエンドポイントの作成
指示に従ってアカウントのリモートログストリーミングを設定し、特定のログエンドポイントを作成する際に Format String フィールドを以下のように設定します。
%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 のオリジンシールドから送信されたファイルがログから除外することが可能です。
- Fastly コントロールパネルにログインします。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインでの検索が行えます。
- Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
- Logging リンクをクリックします。Logging ページが表示されます。
- ログエンドポイントのリストで、リモートログストリーミングを設定する際に有効にしたエンドポイントを探し、Attach a condition をクリックします。 Create a new condition ウィンドウが表示されます。
- Create a new condition ウィンドウに以下のように記入します。
- Nameフィールドに、分かりやすい条件の名前を入力します。
- Apply ifフィールドに、
resp.http.X-Fastly-Otfp-Info && !req.http.Fastly-FF
と入力します。
- Save and apply to をクリックします。
ログデータの解析
任意の Varnish 変数および Fastly のさまざまな VCL 拡張機能に加え、ログファイルには以下のビデオ固有のフィールドが含まれます。
ss
- 秒単位の動画セグメントプレゼンテーション開始時間sl
- 秒単位の動画セグメント期間vl
- 秒単位の動画再生時間rs
- ピクセル単位の動画トラックの表示解像度
これらのフィールドを使用して分析用のクエリを実行し、結果を動画配信設定の改良に役立てることができます。