Compute@Edge ログストリーミング: Datadog

Fastly の Compute@Edge サービスのリアルタイムログストリーミング機能では、Datadog で読み取り可能な形式でログを送信するよう設定することができます。Datadog はクラウドベースの監視・分析ソリューションで、スタック内のアプリケーション内部を確認し、結果を集計できます。

前提条件

Fastly Compute@Edge サービスのログエンドポイントとして Datadog を追加する前に、以下を行う必要があります。

  • Datadog アカウントの登録。 Datadog サイトでアカウントを作成できます。制限付きの無料プラン、またはアップグレードしてより多くの機能を利用することができます。Datadog の設定を登録する場所が米国 (US) または欧州連合 (EU) である場合、Fastly でログエンドポイントを設定する際に使用するコマンドが異なります。
  • Datadog API キーを Datadog の設定ページから取得。 Datadog のインターフェースで、Integrations -> APIs にアクセスし、API キーを作成または取得することができます。

    トークンページ

    この例では decafbaddeadbeef キーが表示されています。お客様の API キーは、これとは異なります。このキーを忘れないようにメモしてください。

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

Datadog アカウントを作成し、Datadog API キーを書き留めたら、以下の手順で Fastly Compute@Edge サービスのログエンドポイントとして Datadog を追加します。

  1. リモートログストリーミングの設定に関するガイドの情報をご参照ください。

  2. Datadog Create endpoint ボタンをクリックしてください。Create a Datadog endpoint ページが表示されます。
  3. Create a Datadog endpoint に以下のように記入します。
    • Name フィールドに、Compute@Edge コードに指定した名前を入力します。例えば、Rust コードの例では、名前は my_endpoint_name です。
    • Region メニューから、ログの送信先の地域を選択します。
    • API key フィールドに、Datadog アカウントの API キーを入力します。
  4. Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
  5. Activate ボタンをクリックして設定変更をデプロイします。

推奨されるログ形式

Datadog に送信するデータは、Datadog の期待に応じてシリアル化する必要があります。

ログが正しくフォーマットされていない場合、Datadog エンドポイントによるログ処理の試行は失敗する場合があります。Datadog にデータを送信するための文字列の形式例はこちらです。

1
2
3
4
5
6
7
{
  "ddsource": "fastly",
  "ddtags": "env:production,version:1.0",
  "hostname": "hostname",
  "message": "2019-11-19T14:37:58,995 INFO Hello World",
  "service": "service_id"
}

Compute@Edge サービスの選択言語に関係なく、上記の一般的な JSON 構造を使用して、 などの指定フィールド内に具体的な詳細情報を含めることができますmessageddsource フィールドは必須です。ネストされた JSON オブジェクトはサポートされています。Datadog ログメッセージの他のオプションについては、Datadog ドキュメントをご参照ください。送信したログは有効な JSON としてフォーマットする必要があります。

エンドポイントの作成とサービスへの変更が完了すると、数秒後にログが Datadog アカウントに表示されるようになります。これらのログは Datadog アカウント内の Datadog Log Explorer を介してアクセスできます。

Back to Top