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

문자열 빌더 프로세서 (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.

더 알아보기 (Learn more)