본문 바로가기
WIKI 기술 지식 베이스

속성 리매퍼 (Attribute Remapper)

원문 보기 위키 갱신

리매퍼 프로세서는 모든 소스 속성 또는 태그를 다른 대상 속성이나 태그로 리매핑해요. 예를 들어 user를 firstname으로 리매핑해 Log Explorer에서 로그를 대상으로 지정할 수 있어요.

출처: 문서

본문

태그/속성 이름에 대한 제약은 attributes and tags 문서에 설명되어 있어요. 대상 태그/속성 이름에는 : 또는 ,로 적용되는 일부 추가 제약이 허용되지 않아요.

리매퍼의 대상이 속성인 경우 리매퍼는 값을 새 타입(String, Integer, Double)으로 캐스팅할 수도 있어요. 캐스팅이 실패하면 원래 값과 타입이 보존돼요.

참고: Double의 소수 구분자는 .이어야 해요.

예약 속성 (Reserved attributes)

리매퍼 프로세서로는 Datadog 예약 속성을 리매핑할 수 없어요.

  • host 속성은 리매핑할 수 없어요.
  • 다음 속성은 전용 리매퍼 프로세서가 필요하며 일반 리매퍼로는 리매핑할 수 없어요. 이 속성들을 리매핑하려면 해당 전문화된 리매퍼 또는 프로세서를 사용하세요.
    • message: 로그 메시지 리매퍼
    • service: 서비스 리매퍼
    • status: 로그 상태 리매퍼
    • date: 로그 날짜 리매퍼
    • trace_id: 트레이스 리매퍼
    • span_id: 스팬 리매퍼

사용 사례 (Use cases)

리매퍼는 일반적으로 로그의 속성을 표준 속성(Standard Attribute)으로 리매핑하는 데 사용돼요. 주로 로그 형식 정규화에 사용돼요.

로그의 전후 상태 (Before and after state of logs)

예시: 사용자 정의 애플리케이션 로그에서 속성 리매핑

전 (Before):

{
  "network": {
    "client": {
      "ip": "192.168.1.1"
    },
    "bytes_written": 1234
  },
  "user": {
    "firstname": "John",
    "lastname": "Doe"
  },
  "http": {
    "method": "GET",
    "url": "/api/users",
    "version": "1.1",
    "status_code": 200
  },
  "timestamp": 1696945536000
}

리매퍼 (Remapper)

user.firstname 속성을 새 user_name 속성으로 리매핑하고 소스 속성을 유지하도록 선택해 리매퍼를 만들어요.

처리 후 (After processing):

{
  "network": {
    "client": {
      "ip": "192.168.1.1"
    },
    "bytes_written": 1234
  },
  "user": {
    "firstname": "John",
    "lastname": "Doe"
  },
  "user_name": "John",
  "http": {
    "method": "GET",
    "url": "/api/users",
    "version": "1.1",
    "status_code": 200
  },
  "timestamp": 1696945536000
}

리매퍼는 원래 user.firstname 속성을 유지하면서 새 user_name 속성을 추가해요.

API

다음 리매퍼 JSON 페이로드와 함께 Datadog Log Pipeline API 엔드포인트를 사용하세요:

{
  "type": "attribute-remapper",
  "name": "Remap <SOURCE_ATTRIBUTE> to <TARGET_ATTRIBUTE>",
  "is_enabled": true,
  "source_type": "attribute",
  "sources": ["<SOURCE_ATTRIBUTE>"],
  "target": "<TARGET_ATTRIBUTE>",
  "target_type": "tag",
  "target_format": "integer",
  "preserve_source": false,
  "override_on_conflict": false
}
매개변수 타입 필수 설명
type String 예 프로세서의 타입.
name String 아니오 프로세서의 이름.
is_enabled Boolean 아니오 프로세서가 활성화되었는지 여부. 기본값: false.
source_type String 아니오 소스가 로그 attribute인지 tag인지 정의. 기본값: attribute.
sources Array of strings 예 소스 속성 또는 태그 배열.
target String 예 소스를 리매핑할 최종 속성 또는 태그 이름.
target_type String 아니오 대상이 로그 attribute인지 tag인지 정의. 기본값: attribute.
target_format String 아니오 속성 값을 다른 타입으로 캐스팅할지 정의. 가능한 값: auto, string, integer. 기본값: auto. auto로 설정하면 캐스팅이 적용되지 않아요.
preserve_source Boolean 아니오 리매핑된 소스 요소를 제거할지 보존할지. 기본값: false.
override_on_conflict Boolean 아니오 대상 요소가 이미 설정된 경우 덮어쓸지 여부. 기본값: false.

더 알아보기 (Learn more)