ログストリーミング: Honeycomb

Fastly のリアルタイムログストリーミング機能は、JSON フォーマットのログを Honeycomb に送信することができます。Honeycomb は、デベロッパーが複雑なシステムやマイクロサービス、データベースの操作を調査するためのツールです。

注意

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

前提条件

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

  • Honeycomb アカウントを持っていない場合はアカウントを作成してください。
  • Honeycomb の Account page で、チームの Write Key を取得します。
  • Dataset 名を選択します。複数の環境 (本番環境、開発環境、ステージング環境など) からデータを収集する予定の場合、Honeycomb では環境ごとに Dataset を作成し、それに応じて Datasets に名前を付けることをおすすめします (例: prod.queriesdev.queriesstaging.queries)。Dataset が存在しない場合、Honeycomb は自動的に作成します。

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

  1. Deliver サービス
  2. Compute サービス
  1. リモートログストリーミングの設定に関するガイドをご確認ください。
  2. Honeycomb エリアで、Create endpoint をクリックします。
  3. Create a Honeycomb endpoint フィールドを以下のように記入します。
    • Name フィールドに分かりやすいエンドポイントの名前を入力します。
    • Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Defaultwaf_debug (waf_debug_log)None です。詳細については、ログ配置の変更に関するガイドをご覧ください。
    • Log format フィールドには、Honeycomb に送信するデータを入力します。詳細はフォーマットの例のセクションを参照してください。
    • Write Key フィールドに、Honeycomb チームの Write キーを入力します。これは Honeycomb Account page で確認できます。
    • Dataset フィールドに、Honeycomb Dataset の名前を入力します (例: myDataset)。
  4. Create をクリックして新規のログエンドポイントを作成します。
  5. Activate をクリックして設定への変更をデプロイします。

フォーマットの例

Honeycomb に送られるデータは JSON オブジェクトとしてシリアル化されている必要があります。以下は Honeycomb にデータを送信する書式指定文字列の例です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"time":"%{begin:%Y-%m-%dT%H:%M:%SZ}t",
"data": {
"service_id":"%{req.service_id}V",
"time_elapsed":%D,
"request":"%m",
"host":"%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V",
"url":"%{cstr_escape(req.url)}V",
"protocol":"%H",
"is_ipv6":%{if(req.is_ipv6, "true", "false")}V,
"is_tls":%{if(req.is_ssl, "true", "false")}V,
"is_h2":%{if(fastly_info.is_h2, "true", "false")}V,
"client_ip":"%h",
"geo_city":"%{client.geo.city.utf8}V",
"geo_country_code":"%{client.geo.country_code}V",
"server_datacenter":"%{server.datacenter}V",
"request_referer":"%{Referer}i",
"request_user_agent":"%{User-Agent}i",
"request_accept_content":"%{Accept}i",
"request_accept_language":"%{Accept-Language}i",
"request_accept_charset":"%{Accept-Charset}i",
"cache_status":"%{regsub(fastly_info.state, "^(HIT-(SYNTH)|(HITPASS|HIT|MISS|PASS|ERROR|PIPE)).*", "\\2\\3") }V",
"status":"%s",
"content_type":"%{Content-Type}o",
"req_header_size":%{req.header_bytes_read}V,
"req_body_size":%{req.body_bytes_read}V,
"resp_header_size":%{resp.header_bytes_written}V,
"resp_body_size":%{resp.body_bytes_written}V
}
}

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

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