문자열 빌더 프로세서 (String Builder Processor)
문자열 빌더 프로세서를 사용해 제공된 템플릿의 결과로 (공백이나 특수 문자 없이) 새 속성을 로그에 추가하세요. 이를 통해 서로 다른 속성이나 원시 문자열을 단일 속성으로 집계할 수 있어요.
출처: 문서
본문
템플릿은 원시 텍스트와 %{attribute_path} 구문의 블록으로 정의돼요.
참고:
- 이 프로세서는 블록에서 값 또는 값 배열이 있는 속성만 허용해요(아래 UI 섹션의 예시 참조).
- 속성을 사용할 수 없는 경우(객체 또는 객체 배열) 선택에 따라 빈 문자열로 대체되거나 전체 작업이 건너뛰어져요.
- 대상 속성이 이미 존재하면 템플릿의 결과로 덮어써져요.
- 템플릿의 결과는 256자를 초과할 수 없어요.
사용 사례 (Use cases)
- 사용자와 작업을 포함하는 메시지 표시하기. 예를 들어 GSuite 로그에서 문자열 빌더가
Actor %{usr.email} performed an event %{evt.name}를 포함하는 속성을 구성하는 경우가 있어요. - URL 재구성하여 외부 애플리케이션으로 이동하기 쉽게 만들기.
설정 (Setup)
Pipelines 페이지에서 문자열 빌더 프로세서를 정의하세요:
다음 로그와 함께 템플릿 Request %{http.method} %{http.url} was answered with response %{http.status_code}를 사용해 결과를 반환하세요. 예를 들어:
{
"http": {
"method": "GET",
"status_code": 200,
"url": "https://app.datadoghq.com/users"
},
"array_ids": [123, 456, 789],
"array_users": [
{"first_name": "John", "last_name": "Doe"},
{"first_name": "Jack", "last_name": "London"}
]
}
다음을 반환해요:
Request GET https://app.datadoghq.com/users was answered with response 200
참고: http는 객체이므로 블록에서 사용할 수 없고(%{http}는 실패), %{http.method}, %{http.status_code}, %{http.url}은 해당 값을 반환해요. 블록은 값 배열 또는 배열 내의 특정 속성에 사용할 수 있어요.
-
예를 들어
%{array_ids}블록을 추가하면 다음을 반환해요:123,456,789 -
%{array_users}는 객체 목록이므로 아무것도 반환하지 않아요. 그러나%{array_users.first_name}은 배열에 포함된first_name목록을 반환해요:John,Jack
로그의 전후 상태 (Before and after state of logs)
예시: 문자열 빌더 프로세서로 읽을 수 있는 메시지 구성
전 (Before):
{
"usr": {
"email": "[email protected]"
},
"evt": {
"name": "file_deleted"
},
"file": {
"id": "abc123"
}
}
문자열 빌더 프로세서 (String Builder Processor)
더 읽기 쉬운 요약 메시지를 생성하는 문자열 빌더 프로세서를 만들어요.
처리 후 (After processing):
{
"usr": {
"email": "[email protected]"
},
"evt": {
"name": "file_deleted"
},
"file": {
"id": "abc123"
},
"summary": "Actor [email protected] performed event file_deleted on file abc123"
}
이렇게 하면 대시보드나 워크플로에서 사용자 대상 감사 메시지를 필터링·검색·표시하기가 훨씬 쉬워져요.
API
다음 문자열 빌더 프로세서 JSON 페이로드와 함께 Datadog Log Pipeline API 엔드포인트를 사용하세요:
{
"type": "string-builder-processor",
"name": "<PROCESSOR_NAME>",
"is_enabled": true,
"template": "<STRING_BUILDER_TEMPLATE>",
"target": "<TARGET_ATTRIBUTE>",
"is_replace_missing": true
}
| 매개변수 | 타입 | 필수 | 설명 |
|---|---|---|---|
type |
String | 예 | 프로세서의 타입. |
name |
String | 아니오 | 프로세서의 이름. |
is_enabled |
Boolean | 아니오 | 프로세서가 활성화되었는지 여부. 기본값: false. |
template |
String | 예 | 하나 이상의 속성과 원시 텍스트가 있는 공식. |
target |
String | 예 | 템플릿의 결과를 포함하는 속성의 이름. |
is_replace_missing |
Boolean | 아니오 | true면 template의 모든 누락 속성을 빈 문자열로 대체. false면 누락 속성에 대해 작업을 건너뜀. 기본값: false. |