ログストリーミング : DigitalOcean Spaces

Fastly の リアルタイムログストリーミング 機能は、DigitalOcean Spaces にログファイルを送信することができます。DigitalOcean Spaces は、デベロッパーや IT チームが利用する Amazon S3 互換の静的ファイルストレージサービスです。

注意

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

前提条件

Fastly サービスのログエンドポイントとして DigitalOcean Spaces を追加する前に、まだお持ちでない場合は DigitalOcean アカウントを作成 する必要があります。次に、DigitalOcean のWeb サイトでプライベートアクセス権限のあるスペースを作成し、シークレットキーとアクセスキー を生成し、エンドポイントをメモする必要があります。

ログエンドポイントとしての DigitalOcean Spaces の追加

DigitalOcean Space を作成した後、以下の手順で DigitalOcean Spaces をログエンドポイントとして追加します。

  1. サービス配信
  2. Compute サービス
  1. リモートログストリーミングの設定に関するガイドをご確認ください。
  2. Spaces by DigitalOcean エリアで、Create endpoint をクリックします。
  3. Create a DigitalOcean endpoint フィールドを以下のように記入します。
    • Name フィールドに分かりやすいエンドポイントの名前を入力します。
    • Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Defaultwaf_debug (waf_debug_log)None です。詳細については、ログ配置の変更に関するガイドをご覧ください。
    • Log format フィールドには、ログ形式に使用する Apache 形式の文字列や VCL 変数を任意で入力します。詳細については、形式例のセクションをご覧ください。
    • (オプション) Timestamp format フィールドに、ログファイルのタイムスタンプ形式を入力します。デフォルトでは strftime 互換文字列です。詳細については、ログファイルの書き込み先の変更に関するガイドを参照してください。
    • Space name フィールドに、ログを保存する DigitalOcean Space の名前を入力します。
    • Access key フィールドには、DigitalOcean Space に関連するアクセスキーを入力します。詳細については DigitalOcean Spaces の認証ガイドを参照してください。
    • Secret key フィールドには、DigitalOcean Space に関連する秘密鍵を入力します。
    • (オプション) Period フィールドに、ログファイルのローテーションの頻度をコントロールするための間隔 (秒単位) を入力します。ローテーションにより、1つのファイルオブジェクトが完了すると、新たなファイルオブジェクトが作成されます。以前に作成されたファイルオブジェクトが削除されることはありません。デフォルトでは3600秒に設定されています。
  4. Advanced options をクリックして、以下のように、フィールドにすべて入力します。
    • (オプション) Path フィールドには、ファイルを保存するバケット内のパスを入力します。パスの末尾にスラッシュを付けます。このフィールドを空にすると、ファイルはバケットのルートパスに保存されます。詳細については、ログファイルの書き込み先の変更に関するガイドを参照してください。
    • Domain フィールドに、ドメインの地域固有のエンドポイントを入力します。ほとんどの場合、これは nyc3.digitaloceanspaces.com でなければなりません。DigitalOcean Space が nyc3 地域に作成されていない場合は、DigitalOcean のドキュメントを参照して、正しいドメインを見つけてください。
    • (オプション) PGP public key フィールドに、Fastly がログファイルをディスクに書き込む前に、ログファイルを暗号化するために使用する PGP 公開鍵を入力します。秘密鍵で復号化することによってのみ、コンテンツを読み取ることができます。PGP 公開鍵は PEM (Privacy-Enhanced Mail) 形式でなければなりません。詳細については、ログの暗号化に関するガイドをご覧ください。
    • Select a log line format のセクションで、ログメッセージのログライン形式を選択します。詳細については、ログライン形式の変更に関するガイドをご覧ください。
    • (オプション) Compression フィールドで、ログファイルに適用する圧縮形式を選択します。詳細については、ログ圧縮オプションの変更に関するガイドをご覧ください。
  5. Create をクリックして新規のログエンドポイントを作成します。
  6. Activate をクリックして設定への変更をデプロイします。

形式例

以下に示すのは、DigitalOcean にデータを送信する書式の例です。形式の詳細については、こちらをご覧ください。

1{
2 "timestamp": "%{strftime(\{"%Y-%m-%dT%H:%M:%S%z"\}, time.start)}V",
3 "client_ip": "%{req.http.Fastly-Client-IP}V",
4 "geo_country": "%{client.geo.country_name}V",
5 "geo_city": "%{client.geo.city}V",
6 "host": "%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V",
7 "url": "%{json.escape(req.url)}V",
8 "request_method": "%{json.escape(req.method)}V",
9 "request_protocol": "%{json.escape(req.proto)}V",
10 "request_referer": "%{json.escape(req.http.referer)}V",
11 "request_user_agent": "%{json.escape(req.http.User-Agent)}V",
12 "response_state": "%{json.escape(fastly_info.state)}V",
13 "response_status": %{resp.status}V,
14 "response_reason": %{if(resp.response, "%22"+json.escape(resp.response)+"%22", "null")}V,
15 "response_body_size": %{resp.body_bytes_written}V,
16 "fastly_server": "%{json.escape(server.identity)}V",
17 "fastly_is_edge": %{if(fastly.ff.visits_this_service == 0, "true", "false")}V
18}

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

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