이 제품은 선택한 Datadog 사이트에서 지원되지 않습니다. ().

개요

Observability Pipelines 프로세서를 사용하면 로그 필드를 추가, 편집 및 제거할 수 있습니다. 속성을 리매핑하거나 값을 다시 작성하면 로그가 올바르게 처리되고 표준화됩니다. 대부분의 처리 사용 사례에서는 Edit Fields 프로세서를 사용하여 로그에서 필드를 추가, 리매핑 또는 제거하세요. 고급 사용 사례에서는 Custom Processor를 사용하여 필드를 조건부로 수정하거나 필드 값을 다시 작성하세요.

Datadog에서 예약 속성은 플랫폼 내 특정 처리를 위해 따로 지정된 로그 필드입니다. 예약 속성에는 host, source, status, service, trace_idmessage가 포함됩니다. 예약 속성은 로그를 다음 Observability Pipelines 목적지로 라우팅할 때 적용됩니다.

  • Datadog Logs
  • Amazon S3 (Log Archives용)
  • Azure Blob Storage (Log Archives용)
  • Google Cloud Storage (Log Archives용)

Observability Pipelines에는 예약 속성을 수정하는 방법에 제한 사항이 있습니다. 예를 들어, 예약 속성은 Rename Field 프로세서를 사용하여 이름을 변경할 수 없으며 대신 리매핑해야 합니다. 이 가이드에서는 예약 속성의 값을 리매핑하는 단계를 설명합니다.

특정 설정에서 Splunk HEC 소스와 Datadog 목적지를 사용하는 경우, Splunk HEC 소스 및 Datadog 목적지를 사용할 때 소스 및 서비스 속성 리매핑을 참조하세요.

예약 속성 값 리매핑

기존 예약 속성 필드의 값을 변경하거나 재정의하려면 Datadog은 Observability Pipelines를 사용하는 두 가지 접근 방식을 권장합니다. 첫 번째는 Edit Fields 프로세서, 두 번째는 Custom Processor를 사용하는 방법입니다.

기본 필드 할당에 Edit Fields 프로세서 사용

  1. Remove field 프로세서를 사용하여 로그에서 예약 속성을 삭제합니다.
  2. Add field 프로세서를 사용하여 올바른 필드 이름과 값 할당으로 예약 속성을 로그에 다시 추가합니다.

참고: 프로세서 순서상 올바른 필드 리매핑을 보장하기 위해 Add Field 프로세서는 Remove Field 프로세서 바로 다음에 배치해야 합니다.

예시

아래 Remove field 프로세서 이미지는 로그에서 잘못 명명된 service 필드를 제거합니다.

서비스 태그를 삭제하는 필드 제거 프로세서와 payment-app 값으로 서비스 필드를 추가하는 필드 추가 프로세서

아래 Add field 프로세서 이미지는 올바른 값으로 service 필드를 다시 추가합니다.

서비스 태그를 삭제하는 필드 제거 프로세서와 payment-app 값으로 서비스 필드를 추가하는 필드 추가 프로세서

동적 또는 수동 할당에 Custom Processor 사용

Custom Processor를 사용하여 예약된 속성의 값을 다시 작성하세요.

템플릿 구문을 사용해 다른 필드의 값을 참조하여 동적으로 값 할당

다음 Custom Processor 스크립트는 service 필드를 다시 작성하고 app_id의 값을 service 필드의 값으로 동적으로 할당합니다.

.service = {{.app_id}}

아래 예시 이미지의 입력에는 값이 wrongstatusservice이 표시됩니다. 스크립트로 로그를 처리한 후 출력에는 app_id의 값인 streaming-service가 적용된 service이 표시됩니다.

잘못된 상태 값을 가진 입력과 올바른 상태를 보여주는 출력을 나타내는 Custom Processor

정적 이름을 사용하여 속성 값을 수동으로 다시 작성

다음 Custom Processor 스크립트는 status 필드를 정적 값 info로 설정합니다.

.status = "info"

아래 예시 이미지의 입력에는 값이 wrongstatusstatus이 표시됩니다. 스크립트로 로그를 처리한 후 출력에는 info가 할당된 status이 표시됩니다.

잘못된 상태 값을 가진 입력과 올바른 상태를 보여주는 출력을 나타내는 Custom Processor

Splunk HEC 소스와 Datadog 목적지를 사용할 때 소스 및 서비스 속성 리매핑

Splunk HEC 소스와 Datadog 목적지를 사용하는 경우 이 섹션의 지침에 따라 source 및/또는 service 값을 리매핑하세요. 다음과 같은 이유로 해당 속성을 리매핑하려면 이 지침을 따라야 합니다.

  • 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"
}

아래 예시 이미지의 입력에는 값이 wrongstatussourceservice가 표시됩니다. 스크립트로 로그를 처리한 후 올바른 값이 표시됩니다.

잘못된 상태 값을 가진 입력과 올바른 상태를 보여주는 출력을 나타내는 Custom Processor

Edit Fields를 사용하여 서비스 및 소스 속성 리매핑

다음은 Splunk HEC 소스의 입력 로그 예시입니다.

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

Datadog으로 전송되는 로그의 올바른 값이 다음과 같다고 가정합니다.

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

sourceservice 속성을 올바른 값으로 다시 매핑하려면 다음을 수행하세요.

  1. Remove field 프로세서를 사용하여 source 필드를 제거합니다.
    • Field to drop 필드에 source를 입력하세요.
      소스 필드를 제거하는 필드 제거 프로세서
  2. Add field 프로세서를 사용하여 값이 akamaiddsource 필드를 추가합니다.
    • Field to add 필드에 ddsource를 입력하세요.
    • Value to add 필드에 akamai를 입력하세요.
      ddsource 필드를 추가하는 필드 추가 프로세서
  3. Remove field 프로세서를 사용하여 service 필드를 제거합니다.
    • Field to drop 필드에 service를 입력하세요.
      서비스 필드를 제거하는 필드 제거 프로세서
  4. Add field 프로세서를 사용하여 값이 cdn-logssource 필드를 추가합니다.
    • Field to add 필드에 source를 입력하세요.
    • Value to add 필드에 cdn-logs를 입력하세요.
      ddsource 필드를 추가하는 필드 추가 프로세서

추가 자료