ログストリーミング: Storj DCS

Fastly のリアルタイムログストリーミング機能は、S3互換かつ、デフォルトでエンドツーエンドで暗号化された分散型オブジェクトストレージサービスの Storj DCS にログファイルを送信することができます。

前提条件

Fastly サービスのログエンドポイントとして Storj DCS を追加する前に、Storj DCS アカウントプロジェクト、アクセス認証情報、およびログ出力を保存するバケットを作成する必要があります。

Storj DCS をログエンドポイントとして追加

次の指示に従って、ログエンドポイントとして GCS を追加してください。

  1. リモートログストリーミングの設定に関するガイドの情報をご参照ください。
  2. Amazon Web Services S3 のロゴをクリックします。Create an Amazon S3 endpoint ページが表示されます。
  3. 以下の要領で Create an Amazon S3 endpoint ページの各フィールドに入力します。
    • Name フィールドに分かりやすいエンドポイントの名前を入力します。
    • Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Defaultwaf_debug (waf_debug_log)None です。詳細については、ログ配置の変更に関するガイドをご参照ください。
    • Log format 欄には、ログフォーマットに使用するための Apache 形式の文字列や VCL 変数を任意で入力します。詳細は形式の例のセクションを参照してください。
    • Timestamp format フィールドに、ログファイルのタイムスタンプ形式を任意で入力します。デフォルトは strftime 互換形式の文字列です。詳細については、ログファイルの書き込み先の変更に関するガイドを参照してください。
    • Bucket name フィールドに、ログを保存する Storj DCS バケットの名前を入力します。
    • Access method のセクションで User Credentials を選択します。
    • Access key フィールドに、Storj DCS バケットに関連付けられたアクセスキーを入力します。
    • Secret key フィールドに、Storj DCS バケットに関連付けられたシークレットキーを入力します。
    • Period フィールドに、ログファイルのローテーションの頻度をコントロールするための間隔 (秒単位) を任意で入力します。3600この値は、秒です。
  4. Create a new S3 endpoint ページの Advanced options をクリックします。
  5. Create an Amazon S3 endpoint ページの Advanced options の残りの部分を以下のように入力します。
    • Path フィールドには、ファイルを保存するバケット内のパスを任意で入力します。パスの末尾にはスラッシュが付きます。このフィールドを空にすると、ファイルはバケットのルートパスに保存されます。詳細については、ログファイルの書き込み先の変更に関するガイドを参照してください。
    • ドメインフィールドに、Storj DCS ゲートウェイの完全な認証ホスト名を入力します。
    • PGP public key フィールドに、Fastly がディスクに書き込む前にログファイルを暗号化するために使用する PGP 公開鍵を任意で入力します。秘密鍵で復号化することによってのみ、コンテンツを読むことができます。PGP キーは PEM (プライバシー強化メール) 形式でなければなりません。詳細については、ログの暗号化に関するガイドをご覧ください。
    • Select a log line format のセクションで、ログメッセージのログライン形式を選択します。詳細については、ログライン形式の変更に関するガイドをご覧ください。
    • Compression フィールドに、ログファイルに適用する圧縮形式を任意で選択します。ログ圧縮オプションの変更に関するガイドをご参照ください。
    • Redundancy level メニューから、設定を選択します。デフォルトでは Standard に設定されています。
    • Server-side encryption では、Fastly が Storj DCS バケットに書き込むファイルを保護するための暗号方法を選択します。有効な値は None または AES-256 です。
  6. Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
  7. Activate ボタンをクリックして設定変更をデプロイします。

の形式例

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "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
}
Back to Top