Compute@Edge ログストリーミング: Honeycomb
最終更新日 2022-05-31
Fastly の Compute@Edge サービスのリアルタイムログストリーミング機能では、ログを JSON 形式で Honeycomb に送信することができます。Honeycomb は、デベロッパーが複雑なシステムやマイクロサービス、データベースの操作を調査するためのツールです。
注意
Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly サービスの利用規約をご参照ください。
前提条件
Fastly Compute@Edge サービスのログエンドポイントとして Honeycomb を追加する前に、以下の手順を行う必要があります。
- Honeycomb アカウントを持っていない場合はアカウントを作成してください。
- Honeycomb Account page で、チームの Write Key を取得します。
- Dataset 名を選択します。複数の環境 (本番環境、開発環境、ステージング環境など) からデータを収集する予定の場合、Honeycomb では環境ごとに Dataset を作成し、それに応じて Datasets に名前を付けることをおすすめします (例 :
prod.queries
、dev.queries
、staging.queries
)。Dataset が存在しない場合、Honeycomb は自動的に作成します。
ログエンドポイントとしての Honeycomb の追加
- Rust、AssemblyScript、および JavaScript で書かれた Compute@Edge コードでログ記録を実行する方法に関する詳細については Fastly の開発者向けドキュメントをご覧ください。
- Honeycomb Create endpoint ボタンをクリックします。Create a Honeycomb endpoint ページが表示されます。
- Create a Honeycomb endpoint フィールドを以下のように記入します。
- Name フィールドに、Compute@Edge コードに指定した名前を入力します。例えば、Rust コードの例では、名前は
my_endpoint_name
です。 - Write Key フィールドに、Honeycomb チームの Write キーを入力します。これは Honeycomb Account page で確認できます。
- Dataset フィールドに、Honeycomb Dataset の名前を入力します (例 :
myDataset
)。
- Name フィールドに、Compute@Edge コードに指定した名前を入力します。例えば、Rust コードの例では、名前は
- Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
- Activate ボタンをクリックして設定変更をデプロイします。
推奨されるログ形式
Honeycomb に送信されるデータは、Honeycomb の期待に沿った方法でシリアル化する必要があります。ログが正しくフォーマットされていない場合、Honeycomb エンドポイントによるログ処理の試行が失敗する可能性があります。以下は Honeycomb にデータを送信するための文字列の形式例です。
1{2 "time": "2022-05-11T23:35:30.384Z",3 "data": {4 "message": "Something happened",5 "severity": "INFO"6 }7}
Compute@Edge サービスで使用する言語に関係なく、上記の一般的な JSON 構造を使用し、ネストされたdata
構造内に具体的な詳細情報を含めることができます。Honeycomb ログメッセージの他のオプションについては、Honeycomb ドキュメントをご参照ください。送信されたログは、有効な JSON としてフォーマットされる必要があります。