ログストリーミング: Scalyr

Fastly のリアルタイムログストリーミング機能では、Scalyr (現 DataSet) にログファイルを送信することができます。 Scalyr はすべてのサーバーログとメトリクスを一元化された検索可能なシステムにリアルタイムで取り込みます。

注意

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

前提条件

Scalyr のアカウントをお持ちでない場合は、登録してアカウントを作成する必要があります。Scalyr Webサイトの登録手順に従ってアカウントを作成してください。

アカウントを作成したら、Scalyr ダッシュボードの Settings にある API Keys のセクションにアクセスして、Scalyr Write Token をメモしてください。Scalyr は、お客様が送信したデータをお客様のアカウントと関連付けるためにこのトークンを使用します。そのため、Fastly でエンドポイントとしてセットアップする際にこのトークンが必要になります。

コントロールパネルではなく、コマンドラインで Scalyr エンドポイントを追加する場合は、Fastly API トークンと Scalyr へのログストリーミングを有効にする Fastly サービスのサービス ID とバージョン番号も必要です。

Scalyr をログエンドポイントとして追加する

以下の手順で Scalyr をログエンドポイントとして追加します。

  1. Deliver サービス
  2. Compute サービス
  1. リモートログストリーミングの設定に関するガイドをご確認ください。
  2. Scalyr エリアで、Create endpoint をクリックします。
  3. 以下の要領で Create a Scalyr endpoint の各フィールドに入力します。
    • Name フィールドに分かりやすいエンドポイントの名前を入力します。
    • Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Defaultwaf_debug (waf_debug_log)None です。詳細については、ログ配置の変更に関するガイドをご覧ください。
    • Log format フィールドには、ログ形式に使用する Apache 形式の文字列や VCL 変数を任意で入力します。詳細については、形式例のセクションをご覧ください。
    • (オプション) Logfile フィールドには、Scalyr の Overview ページに表示されるログのファイル名を指定します。デフォルトでは logplex に設定されています。
    • Token フィールドには、Scalyr ダッシュボードで提供された Scalyr Write Token を入力します。
    • Region メニューから、ログの送信先の地域を選択します。
  4. Create をクリックして新規のログエンドポイントを作成します。
  5. Activate をクリックして設定への変更をデプロイします。

フォーマットの例

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

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
}

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

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