- English
- 日本語
ログストリーミング: Honeycomb
最終更新日 2023-09-13
Fastly のリアルタイムログストリーミング機能は、JSON フォーマットのログを Honeycomb に送信することができます。Honeycomb は、デベロッパーが複雑なシステムやマイクロサービス、データベースの操作を調査するためのツールです。
注意
Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly のご利用規約をご覧ください。
前提条件
Honeycomb を Fastly サービスのログエンドポイントとして追加する前に、以下の手順を実行する必要があります。
- Honeycomb アカウントを持っていない場合はアカウントを作成してください。
- Honeycomb の Account page で、チームの Write Key を取得します。
- Dataset 名を選択します。複数の環境 (本番環境、開発環境、ステージング環境など) からデータを収集する予定の場合、Honeycomb では環境ごとに Dataset を作成し、それに応じて Datasets に名前を付けることをおすすめします (例:
prod.queries
、dev.queries
、staging.queries
)。Dataset が存在しない場合、Honeycomb は自動的に作成します。
ログエンドポイントとしての Honeycomb の追加
- Deliver サービス
- Compute サービス
- リモートログストリーミングの設定に関するガイドをご確認ください。
- Honeycomb エリアで、Create endpoint をクリックします。
- Create a Honeycomb endpoint フィールドを以下のように記入します。
- Name フィールドに分かりやすいエンドポイントの名前を入力します。
- Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Default、waf_debug (waf_debug_log)、None です。詳細については、ログ配置の変更に関するガイドをご覧ください。
- Log format フィールドには、Honeycomb に送信するデータを入力します。詳細はフォーマットの例のセクションを参照してください。
- Write Key フィールドに、Honeycomb チームの Write キーを入力します。これは Honeycomb Account page で確認できます。
- Dataset フィールドに、Honeycomb Dataset の名前を入力します (例:
myDataset
)。
- Create をクリックして新規のログエンドポイントを作成します。
- Activate をクリックして設定への変更をデプロイします。
フォーマットの例
Honeycomb に送られるデータは JSON オブジェクトとしてシリアル化されている必要があります。以下は Honeycomb にデータを送信する書式指定文字列の例です。
1{2 "time":"%{begin:%Y-%m-%dT%H:%M:%SZ}t",3 "data": {4 "service_id":"%{req.service_id}V",5 "time_elapsed":%D,6 "request":"%m",7 "host":"%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V",8 "url":"%{cstr_escape(req.url)}V",9 "protocol":"%H",10 "is_ipv6":%{if(req.is_ipv6, "true", "false")}V,11 "is_tls":%{if(req.is_ssl, "true", "false")}V,12 "is_h2":%{if(fastly_info.is_h2, "true", "false")}V,13 "client_ip":"%h",14 "geo_city":"%{client.geo.city.utf8}V",15 "geo_country_code":"%{client.geo.country_code}V",16 "server_datacenter":"%{server.datacenter}V",17 "request_referer":"%{Referer}i",18 "request_user_agent":"%{User-Agent}i",19 "request_accept_content":"%{Accept}i",20 "request_accept_language":"%{Accept-Language}i",21 "request_accept_charset":"%{Accept-Charset}i",22 "cache_status":"%{regsub(fastly_info.state, "^(HIT-(SYNTH)|(HITPASS|HIT|MISS|PASS|ERROR|PIPE)).*", "\\2\\3") }V",23 "status":"%s",24 "content_type":"%{Content-Type}o",25 "req_header_size":%{req.header_bytes_read}V,26 "req_body_size":%{req.body_bytes_read}V,27 "resp_header_size":%{resp.header_bytes_written}V,28 "resp_body_size":%{resp.body_bytes_written}V29 }30}
翻訳についての注意事項
このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシーと利用規約が適用されます。