ログストリーミング: DigitalOcean Spaces
- English
- 日本語
Fastly のリアルタイムログストリーミング機能により、DigitalOcean Spaces にログファイルを送信することができます。DigitalOcean Spaces は、デベロッパーや IT チームが利用する Amazon S3 と互換性を持つ静的ファイルストレージサービスです。
Fastly ではサードパーティのサービスに関する設定等のサポートは行っておりません。詳細は Fastly's Terms of Service をご参照ください。
前提条件
Fastly サービスのログエンドポイントとして DigitalOcean Spaces を追加する前に、まだ DigitalOcean のアカウントをお持ちでない場合は DigitalOcean アカウントを作成 する必要があります。次に、DigitalOcean のWeb サイトでプライベートアクセス権限のあるスペースを作成し、シークレットキーとアクセスキー を生成し、エンドポイントをメモする必要があります。
ログエンドポイントとして DigitalOcean Spaces を追加する
DigitalOcean Space を作成した後、以下の手順で DigitalOcean Spaces をログエンドポイントとして追加します。
- Deliver サービス
- Compute サービス
リモートログストリーミングの設定に関するガイドの情報をご確認ください。
- Spaces by DigitalOcean エリアで、Create endpoint をクリックします。
- Create a DigitalOcean endpoint フィールドを以下のように記入します。
Name フィールドに、エンドポイントの分かりやすい名前を入力します。
Placement エリアで、生成された VCL のどこにログコールを配置するかを選択します。有効な値は、形式のバージョンのデフォルトとなしです。詳細については、ログの配置の変更に関するガイドをご覧ください。
Log format フィールドに、オプションでログフォーマットに使用するための Apache 形式の文字列や VCL 変数を入力します。詳細はフォーマットの例のセクションを参照してください。
(オプション) タイムスタンプ形式フィールドに、ログファイル用のタイムスタンプ形式を入力します。デフォルトは
strftimeと互換性のある文字列です。詳細については、ログファイルの書き込み先の変更に関するガイドを参照してください。- Space name フィールドに、ログを保存する DigitalOcean Space の名前を入力します。
- Access key フィールドには、DigitalOcean Space に関連付けられたアクセスキーを入力します。詳細については DigitalOcean Spaces の認証ガイドを参照してください。
- Secret key フィールドには、DigitalOcean Space に関連付けられた秘密鍵を入力します。
(オプション) Period フィールドに、ログファイルのローテーションの頻度をコントロールするための間隔 (秒単位) を入力します。ローテーションでは、1つのファイルオブジェクトが終了し、新しいファイルオブジェクトが開始されますが、以前に作成されたファイルオブジェクトは削除されません。この値は、デフォルトでは
3600秒です。
- Advanced options をクリックし、以下のようにフィールドに入力します。
(オプション) Path フィールドに、ファイルを保存するバケット内のパスを入力します。パスの末尾はスラッシュとなります。このフィールドを空白のままにすると、ファイルはバケットのルートパスに保存されます。詳細については、ログファイルの書き込み先の変更に関するガイドを参照してください。
- Domain フィールドに、ドメインの地域固有のエンドポイントを入力します。ほとんどの場合、これは
nyc3.digitaloceanspaces.comでなければなりません。DigitalOcean Space がnyc3地域に作成されていない場合は、DigitalOcean のドキュメントを参照して正しいドメインを見つけてください。 (オプション) PGP 公開鍵フィールドに、Fastly がディスクに書き込む前にログファイルを暗号化するために使用する PGP 公開鍵を入力してください。コンテンツを読むには、秘密鍵で復号化する必要があります。PGP キーは PEM (プライバシー強化メール) 形式である必要があります。詳細については、ログの暗号化に関するガイドをご覧ください。
「Select a log line format」エリアで、ログメッセージのログ行形式を選択します。詳細については、ログ行形式の変更に関するガイドをご覧ください。
(オプション) [圧縮]フィールドで、ログファイルに適用する圧縮形式を選択してください。ログ圧縮オプションの変更に関するガイドには、さらに詳しい情報があります。
Create をクリックして、新しいログ記録エンドポイントを作成します。
Activate メニューから、Activate on Production を選択して、設定の変更をデプロイします。
フォーマットの例
以下に示すのは、DigitalOcean にデータを送信する書式指定文字列の例です。書式指定文字列の詳細については、こちらをご覧ください。
{ "timestamp": "%{strftime(\{"%Y-%m-%dT%H:%M:%S%z"\}, time.start)}V", "client_ip": "%{req.http.Fastly-Client-IP}V", "geo_country": "%{client.geo.country_name}V", "geo_city": "%{client.geo.city}V", "host": "%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V", "url": "%{json.escape(req.url)}V", "request_method": "%{json.escape(req.method)}V", "request_protocol": "%{json.escape(req.proto)}V", "request_referer": "%{json.escape(req.http.referer)}V", "request_user_agent": "%{json.escape(req.http.User-Agent)}V", "response_state": "%{json.escape(fastly_info.state)}V", "response_status": %{resp.status}V, "response_reason": %{if(resp.response, "%22"+json.escape(resp.response)+"%22", "null")}V, "response_body_size": %{resp.body_bytes_written}V, "fastly_server": "%{json.escape(server.identity)}V", "fastly_is_edge": %{if(fastly.ff.visits_this_service == 0, "true", "false")}V}