속성 리매퍼 (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. |