リモートログストリーミングの設定
Last updated February 19, 2020
Fastly のリアルタイムログストリーミングはサードパーティーのストレージやログ分析サービスに自動的にログを保存することを可能にします。ログは接続の問題についてのトラブルシューティングやパフォーマンスのチューニングのために設定すべき項目の特定、サービスの障害における原因特定について重要な情報源となります。Fastly サービスを使用するときは、リモートログストリーミングを設定することを推奨しています。
注意: Fastly ではサードパーティのサービスに関する設定等のサポートは行っておりません。詳細は Fastly's Terms of Service をご参照ください。
重要: ストリームログに含める予定のデータに対する設定とエンドポイントの決定を行う際には、セキュリティ、プライバシー、およびコンプライアンスのそれぞれの要件を必ず考慮するようにしてください。
ログエンドポイントの設定
Fastly サービス用に1つもしくは複数のログエンドポイントを設定できます。ログエンドポイントの設定にアクセスするには、次の手順に従ってください。
- Fastly コントロールパネルにログインし、Configure のリンクをクリックします。
- サービスメニューから設定するサービスを選択します。
- Edit configuration をクリックし、Clone active を選択すると設定画面が開きます。
-
Logging リンクをクリックします。Logging endpoints 設定画面を開きます。
注意: 一部のサードパーティサービスのエンドポイントはデフォルトでは無効になっているため、アカウントで有効にするまで、それらは Fastly コントロールパネルに表示されません。これらを有効にするには、support@fastly.com までご連絡ください。
- サードパーティサービスのガイドの手順に従って、セットアッププロセスを完了し、デプロイします。
Activate をクリックして変更をデプロイすると、ログはすぐに記録開始されます。ログはログサーバーで表示されるまで少し時間を要することがあります。
ログの出力
Fastly では2つのバージョンのログ形式を提供しています。それぞれ Apache スタイルのログディレクティブを使っています。これらのログ形式の文字列は Common Log Format (CLF) に基づいています。
ログは、UDP ではなく TCP でストリーミングされます。オプションとして、サポートされているエンドポイントでのセキュリティに TLS を使用できる場合があります。もし、custom VCL を使用している場合には、vcl_log
ハンドラに #FASTLY log
が含まれていることを確認してください。
デフォルトでは、ログは YYYY-mm-ddThh:mm:ss-<uid>
のフォーマットでルートディレクトリに1時間ごとに出力されます。 これらのファイルの出力頻度とパスは設定により変更することができます。Fastly では複数の異なるログアグリゲーションサーバー使用し、それぞれがログファイルを送信しますが、重複したエントリは含まれません。これらのログファイルは、ストリーミングが開始されるとすぐに作成され、指定した期間(指定がない場合にはデフォルトの期間)ログが書き込まれます。その時間が経過すると、そのファイルへの書き込みは終了し、ログプロセスによってファイルが作成され、書き込みが行われます。
ログのエスケープ文字
ログは他のオブジェクトと同様に VCL に応じて処理されます。たとえば、次のコードでは、User-Agent のログから引用符をエスケープできます。
1
log {"syslog serviceid endpointname :: "} {"""} cstr_escape(req.http.user-agent);
カスタム VCL を使用する際の重複したログエントリーの防止
カスタム VCL を使用してログを出力すると、重複したログエントリーが記録されることがあります。これは、Fastly コントロールパネルの設定とカスタム VCL の両方でログが生成されているために発生します。Fastly コントロールパネルによるログエントリーの生成を防止する条件を追加することにより、重複を排除できます。次の手順に従って条件を追加します。
- Logging endpoints page で、ログの隣にある Attach a condition リンクをクリックします。[Create a new request condition] 設定画面を開きます。
- Create a new response condition をクリックします。 [Create a new response condition] 設定画面を開きます。
- 以下の要領で Create a new response condition ウィンドウの各フィールドに入力します。
- Name フィールドに、 条件を説明する名前を入力します。
- Apply if フィールドに
!req.url
を入力します。この条件は True にはならないため、Fastly コントロールパネルがログエントリを生成するのを妨げます。 - Priority フィールドの値はデフォルトのままにします。
- Save and apply to をクリックして、 新しい条件を作成します。
- Activate をクリックしてサービスをデプロイします。
Fastly コントロールパネルによるログの出力が停止され、カスタム VCL により設定したログのみが出力されます。
Back to Top