リモートログストリーミングの設定

Fastly のリアルタイムログストリーミングでは、サードパーティーのストレージや分析サービス向けにログの自動保存ができます。ログは接続の問題についてのトラブルシューティングや、パフォーマンスチューニングのために設定すべき項目の特定、サービス障害の原因特定の際の重要な情報源となります。Fastly サービスの利用を開始する際、リモートログストリーミングを設定することを推奨しています。

注意

Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly のご利用規約をご覧ください。

設定前の注意点

リモートログストリーミングを設定する前に、以下の点に注意してください:

  • ログプロバイダ配信形式と、その配信内容を再確認してください。プロバイダーには、許可する形式に必要な厳格なフォーマット要件 (JSON など) があります。
  • サービスで複数のログエンドポイントを設定する場合、すべてのログエンドポイントにログが送信されます。
重要

ストリームログに含める予定のデータに対する設定とエンドポイントの決定を行う際には、セキュリティ、プライバシー、およびコンプライアンスのそれぞれの要件を必ず考慮するようにしてください。

ログエンドポイントの設定

Fastly サービスに対して1つもしくは複数のログエンドポイントを設定することができます。ログエンドポイントの設定にアクセスするには、次の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Edit configuration をクリックし、アクティブなバージョンをクローンするオプションを選択します。
  4. Logging をクリックします。ログエンドポイントの設定画面が表示されます。すでにログエンドポイントを追加している場合は、Create Endpoint をクリックします。

    ログエンドポイントのページ

  5. 該当するエンドポイントのログ取得ガイドの手順に従ってセットアッププロセスを完了し、変更内容をデプロイします。

Activate をクリックして変更をデプロイすると、ログはすぐに記録開始されます。ログがログサーバーで表示されるまで若干時間を要することがあります。

ログの出力

Fastly では、ログ出力を制御した2つのバージョンのカスタマイズされたログ形式を用意しています。それぞれ Apache スタイルのログディレクティブを使っています。これらカスタマイズ版のログ形式で用いられる文字列は Common Log Format (CLF) をベースにしています。

ログは、UDP ではなく TCP でストリーミングされます。オプションとして、サポートされているエンドポイントでのセキュリティに TLS を使用できる場合があります。また、カスタム VCL を使用している場合には、vcl_log ハンドラに #FASTLY log マクロが含まれていることを確認してください。

デフォルトでは、ログは YYYY-mm-ddThh:mm:ss-<uid> という形式で、ルートディレクトリに1時間ごとに出力されます。これらのファイルの出力頻度とパスは設定により変更することができます。詳細については、ログファイルの書き込み先の変更に関するガイドを参照してください。

サービスに対してログエンドポイントを複数設定した場合、ログはそれらの全ログエンドポイントに送信されます。

Fastly では、複数のログ収集サーバーを使用し、それぞれがログファイルを送信しますが、重複したエントリは含まれません。これらのログファイルは、ストリーミングが開始されるとすぐに作成され、指定した期間 (指定がない場合にはデフォルトの期間) ログが書き込まれます。その期間が経過すると、それらのファイルへの書き込みが終了し、ログプロセスによって新たにファイルが作成されます。

ログサーバーの集計ポイントの数は、容量要件に従って時間とともに変化する場合があります。ログをストレージエンドポイントに送信する場合に、ディスクで作成されるログファイルの数について懸念がある場合は、リアルタイム使用をサポートするログエンドポイントを選択することでログファイルの事前処理が不要になることを検討してください。

ログのエスケープ文字

ログは他のオブジェクトと同様に VCL に応じて処理されます。例えば、次のコードでは、User-Agent のログから引用符をエスケープすることができます。

log {"syslog serviceid endpointname :: "} {"""} cstr_escape(req.http.user-agent);

カスタム VCL を使用する際の重複したログエントリーの防止

カスタム VCL を使用してログを出力すると、重複したログエントリーが記録されることがあります。これは、Fastly コントロールパネルの設定とカスタム VCL の両方でログが生成されているために発生します。以下の手順に従って、重複したエントリーを排除することができます:

  1. Logging endpoints ページで、編集したいログエンドポイントの名前をクリックします。

  2. Placement メニューから、None を選択します。

    ログの圧縮オプション

  3. Update をクリックします。

  4. Activate をクリックして設定への変更をデプロイします。

Fastly コントロールパネルによるログの出力が停止され、カスタム VCL により設定したログのみが出力されます。

一般的なログエラーのトラブルシューティング

Fastly コントロールパネルにログ設定でエラーが表示されます。logging_status API エンドポイントを使用して、サービスのログ設定の問題をトラブルシューティングすることもできます。

$ curl -sg -H "Fastly-Key:$token" \
"https://api.fastly.com/service/:SERVICE_ID/logging_status"

出力によって、Fastly がエラーを検出したかどうかを示します。BrokenNowfalse に設定されている場合は、Fastly はログ設定の問題を検出していません。

{"1234567890ABCDEF/my-service":{"LastErrorTime":null,"LastError":null,"BrokenNow":false}}

Fastly コントロールパネルに表示されるエラーが現在アクティブになっているサービスバージョンのログ設定が壊れていることを示唆するものの、依然として部分的にログを受信している場合、エンドポイントのサーバーに接続できない Fastly のログ収集サーバーが存在している可能性があります。この場合、同時接続の最大数に達した可能性があります。ログエンドポイントサーバーの設定で、インバウンド接続の最大数を増やし、数時間後にエラーが解消されたかどうかを確認してください。


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。