ログストリーミング: LogDNA

Fastly のリアルタイムログストリーミング機能を、LogDNA が読める形式でログを送信するように設定することができます。LogDNA はシステムやアプリケーションのログを1か所に集約するクラウドベースのログ管理システムです。

注意

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

前提条件

Fastly サービスのログエンドポイントとして LogDNA を追加する前に、以下の手順を実行する必要があります。

  • LogDNA のアカウントをお持ちでない場合は、アカウントを作成してください。無料 (ただし制限付きのプラン) のアカウントを作成するか、またはより多くの機能を利用できるよう LogDNA のプランをアップグレードすることができます。
  • LogDNA のWebアプリケーションで、アカウントに合わせたログソースの設定手順に従い、新規の LogDNA syslog ソースを設定します。設定完了時に syslog URL の末尾に表示されるポート番号を必ずメモしてください。Fastly のログエンドポイントとして LogDNA を設定する際に、このポート番号を入力する必要があります。

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

  1. Deliver サービス
  2. Compute サービス
  1. リモートログストリーミングの設定に関するガイドをご確認ください。
  2. LogDNA (via Syslog) エリアで、Create endpoint をクリックします。
  3. 以下の要領で Create a Syslog endpoint ページの各フィールドに入力します。
    • Name フィールドに分かりやすいエンドポイントの名前を入力します。
    • Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Defaultwaf_debug (waf_debug_log)None です。詳細については、ログ配置の変更に関するガイドをご覧ください。
    • Log format フィールドには、ログ形式に使用する Apache 形式の文字列や VCL 変数を任意で入力します。詳細については、形式例のセクションをご覧ください。
    • Syslog address フィールドに syslog-a.logdna.com と入力します。コロンの後のポートフィールドには、LogDNA のアカウント設定時にメモした LogDNA のポート番号を入力します。
    • TLS メニューから Yes を選択して syslog エンドポイントの暗号化を有効にします。TLS Hostname と TLS CA Certificate のフィールドが表示されます。
    • TLS Hostname フィールドには syslog-a.logdna.com と入力します。これは Fastly が syslog サーバーの証明書を検証するために使用するホスト名です。
  4. Create a Syslog endpoint ページの Advanced options をクリックし、必要に応じてオプションフィールドを変更します。
  5. Create a Syslog endpoint ページの Advanced options に以下のように入力します。
    • Select a log line format のセクションで、ログメッセージのログライン形式を選択します。詳細については、ログライン形式の変更に関するガイドをご覧ください。
  6. Create をクリックして新規のログエンドポイントを作成します。
  7. Activate をクリックして設定への変更をデプロイします。

エンドポイントを作成してサービスをデプロイすると、数秒後に LogDNA アカウントにログが表示され始めます。

フォーマットの例

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

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 のプライバシーポリシー利用規約が適用されます。