This product is not supported for your selected Datadog site. ().

概要

Observability Pipelines のプロセッサを使用すると、ログフィールドの追加、編集、削除を行うことができます。属性の再マッピングや値の書き換えを行うことで、ログが適切に処理され、標準化されます。ほとんどの処理ユースケースでは、Edit Fields プロセッサを使用してログのフィールドの追加、再マッピング、削除を行います。高度なユースケースでは、Custom Processor を使用して、条件付きでフィールドを変更したり、フィールドの値を書き換えたりします。

Datadog では、予約済み属性は、プラットフォーム内での特定の処理のために確保されているログフィールドです。予約済み属性には、 hostsourcestatusservicetrace_id、および message が含まれます。予約済み属性は、ログを Observability Pipelines の次の送信先にルーティングする際に適用されます。

  • Datadog Logs
  • Amazon S3 (ログアーカイブ用)
  • Azure Blob Storage (ログアーカイブ用)
  • Google Cloud Storage (ログアーカイブ用)

Observability Pipelines には、予約済み属性の変更方法に関する制限があります。たとえば、予約済み属性は Rename Field プロセッサを使用して名前を変更することはできません。代わりに再マッピングする必要があります。このガイドでは、予約済み属性の値を再マッピングする手順を説明します。

特定のセットアップで Splunk HEC ソースと Datadog 送信先を使用している場合は、Splunk HEC ソースと Datadog 送信先を使用する場合のソース属性とサービス属性の再マッピングを参照してください。

予約済み属性の値を再マッピングする

既存の予約済み属性フィールドの値を変更または上書きするために、Datadog は Observability Pipelines を使用した 2 つのアプローチを推奨しています。1 つ目は Edit Fields プロセッサを使用する方法、2 つ目は Custom Processor を使用する方法です。

基本的なフィールド割り当てには Edit Fields プロセッサを使用する

  1. ログから予約済み属性を削除するには、Remove field プロセッサを使用します。
  2. 正しいフィールド名と値の割り当てで予約済み属性をログに戻すには、Add field プロセッサを使用します。

: プロセッサの順序に関しては、正しいフィールドの再マッピングを確実にするために、Add Field プロセッサは Remove Field プロセッサの直後に配置する必要があります。

次の Remove field プロセッサの画像では、名前が適切でない service フィールドをログから削除しています。

Remove field プロセッサで service タグを削除し、Add field プロセッサで値 payment-app を持つ service フィールドを追加

次の Add field プロセッサの画像では、正しい値を持つ service フィールドを追加し直しています。

Remove field プロセッサで service タグを削除し、Add field プロセッサで値 payment-app を持つ service フィールドを追加

動的または手動の割り当てには Custom Processor を使用する

予約済み属性の値を書き換えるには、Custom Processor を使用します。

テンプレート構文を使用して別のフィールドの値を参照し、値を動的に割り当てる

次の Custom Processor スクリプトは、service フィールドを書き換え、app_id の値を service フィールドの値に動的に割り当てます。

.service = {{.app_id}}

次の例の画像では、入力に値 wrongstatus を持つ service が表示されています。スクリプトでログを処理した後、出力には値 streaming-service を持つ service が表示されます。これは app_id の値です。

不適切なステータス値を示す入力と正しいステータスを示す出力が表示された Custom Processor

静的な名前を持つ属性の値を手動で書き換える

次の Custom Processor スクリプトは、status フィールドを静的な値 info に設定します。

.status = "info"

次の例の画像では、入力に値 wrongstatus を持つ status が表示されています。スクリプトでログを処理した後、出力には割り当てられた info を持つ status が表示されます。

不適切なステータス値を示す入力と正しいステータスを示す出力が表示された Custom Processor

Splunk HEC ソースと Datadog 送信先を使用する場合のソース属性とサービス属性の再マッピング

Splunk HEC ソースと Datadog 送信先を使用している場合は、このセクションの手順に従って sourceservice の値を再マッピングします。これらの属性を再マッピングする場合にこの手順に従う必要があるのは、次の理由によるものです。

  • Splunk の service は、Datadog では source 属性と呼ばれます。
  • Splunk の sourcetype は、Datadog では ddsource 属性と呼ばれます。

: envhostname など、他の予約済み属性を再マッピングする場合は、予約済み属性の値を再マッピングするの手順に従ってください。

この手順は、Custom Processor または Edit Fields を使用して実行できます。

  1. 入力ログの service フィールドを source フィールド名に再マッピングします。
  2. 入力ログの source フィールドを ddsource フィールド名に再マッピングします。

Custom Processor を使用してサービス属性とソース属性を再マッピングする

これは Splunk HEC ソースからの入力ログの例です。

{
  "service": "wrongService"
  "source": "wrongSource"
}

これらが Datadog に送信するログに対して正しい値であると仮定します。

{
  "ddsource": "akamai",
  "source": "cdn-logs"
}

Use this Custom Processor script to remap the `service` and `source` to the correct values:

```json
  .source = "cdn-logs"
  .ddsource = "akamai"
  del(.service)

スクリプトでログを処理した後、出力は次のようになります。

{
  "ddsource": "akamai",
  "source": "cdn-logs"
}

次の例の画像では、入力に値 wrongstatus を持つ sourceservice が表示されています。スクリプトでログを処理した後、正しい値が表示されます。

不適切なステータス値を示す入力と正しいステータスを示す出力が表示された Custom Processor

Edit Fields を使用してサービス属性とソース属性を再マッピングする

これは Splunk HEC ソースからの入力ログの例です。

{
  "service": "wrongService"
  "source": "wrongSource"
}

これらが Datadog に送信するログに対して正しい値であると仮定します。

{
  "ddsource": "akamai",
  "source": "cdn-logs"
}

source 属性と service 属性を正しい値に再マッピングするには、次の手順に従います。

  1. Remove field プロセッサを使用して、source フィールドを削除します。
    • source フィールドに Field to drop と入力します。
      Remove field プロセッサで source フィールドを削除
  2. Add field プロセッサを使用して、値 akamai を持つ ddsource フィールドを追加します。
    • ddsource フィールドに Field to add と入力します。
    • akamai フィールドに Value to add と入力します。
      Add field プロセッサで ddsource フィールドを追加
  3. Remove field プロセッサを使用して、service フィールドを削除します。
    • service フィールドに Field to drop と入力します。
      Remove field プロセッサで service フィールドを削除
  4. Add field プロセッサを使用して、値 cdn-logs を持つ source フィールドを追加します。
    • source フィールドに Field to add と入力します。
    • cdn-logs フィールドに Value to add と入力します。
      Add field プロセッサで ddsource フィールドを追加

参考資料