Parse XML 프로세서

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

로그

개요

이 프로세서는 Extensible Markup Language(XML)를 구문 분석하여 해당 데이터를 처리하고 서로 다른 대상으로 전송할 수 있도록 합니다. XML은 구조화된 데이터를 저장하고 전송하는 데 사용되는 로그 형식입니다. 이는 트리 구조로 구성되어 중첩된 정보를 나타내며 태그와 특성을 사용하여 데이터를 정의합니다. 예를 들어, 다음은 태그(<recipe>, <type>, <name>)만 사용하고 특성은 사용하지 않는 XML 데이터입니다.

<recipe>
    <type>pasta</type>
    <name>Carbonara</name>
</recipe>

다음은 태그 recipe가 특성 type을 가지는 XML 예시입니다.

<recipe>
    <recipe type="pasta">
    <name>Carbonara</name>
</recipe>

다음 이미지에서는 XML 형식의 Windows 이벤트 4625 로그와 구문 분석되어 JSON으로 출력된 동일한 로그를 나란히 보여줍니다. XML 로그를 구문 분석함으로써 로그 이벤트 크기가 약 30% 감소했습니다.

XML 로그 및 결과로 생성된 JSON 형식의 구문 분석된 로그

설정

이 프로세서를 설정하려면 다음 단계를 따르세요.

  1. filter query를 정의합니다. 자세한 내용은 로그 검색 구문을 참조하세요.
    • 필터와 일치하는 로그만 처리됩니다.
    • 모든 로그는 필터 쿼리와 일치하는지 여부에 관계없이 파이프라인의 다음 단계로 전송됩니다.
  2. XML을 구문 분석하려는 로그 필드의 경로를 입력합니다. 하위 필드를 일치시키려면 <OUTER_FIELD>.<INNER_FIELD> 경로 표기법을 사용하세요. 아래의 경로 표기법 예시를 참조하세요.
  3. 필요시 Enter text key 필드에 XML 특성이 추가될 때 텍스트 노드에 사용할 키 이름을 입력합니다. 텍스트 키 예시를 참조하세요. 필드를 비워 두면 value가 키 이름으로 사용됩니다.
  4. 필요시 특성이 없는 경우에도 텍스트 키를 사용하여 객체 내부에 텍스트를 저장하려면 Always use text key를 선택합니다.
  5. 필요시 XML 특성을 포함하려면 Include XML attributes를 켭니다. 그런 다음 사용하려는 특성 접두사를 추가하도록 선택할 수 있습니다. 특성 접두사 예시를 참조하세요. 필드를 비워 두면 원본 특성 키가 사용됩니다.
  6. 필요시 데이터 유형을 숫자, 불리언 또는 null로 변환할지 선택합니다.
    • Numbers를 선택하면 숫자가 정수 및 부동 소수점으로 구문 분석됩니다.
    • Booleans를 선택하면 true 및 false가 불리언으로 구문 분석됩니다.
    • Nulls를 선택하면 문자열 null이 null로 구문 분석됩니다.

경로 표기법 예시

For this log structure example:

{
    "outer_key": {
        "inner_key": "inner_value",
        "a": {
            "double_inner_key": "double_inner_value",
            "b": "b value"
        },
        "c": "c value"
    },
    "d": "d value"
}

Follow these reference rules:

  • Use outer_key.inner_key to reference the key with the value inner_value.
  • Use outer_key.a.double_inner_key to reference the key with the value double_inner_value.

To specify a nested field with a literal . in the attribute key, wrap the key in escaped quotes in the search query. For example, the search query "service.status":disabled matches the event {"service.status": "disabled"}.

Always use text key 예시

Always use text key를 선택하면 텍스트 키가 기본값(value)이 되며, 다음 XML이 생성됩니다.

<recipe>
    <recipe type="pasta">
    <name>Carbonara</name>
</recipe>

XML은 다음과 같이 변환됩니다.

{
    "recipe": {
        "type": "pasta",
        "value": "Carbonara"
        }
}

텍스트 키 예시

키가 text이고 다음과 같은 XML이 있는 경우

<recipe>
    <recipe type="pasta">
    <name>Carbonara</name>
</recipe>

XML은 다음과 같이 변환됩니다.

{
    "recipe": {
        "type": "pasta",
        "text": "Carbonara"
        }
}

특성 접두사 예시

Include XML attributes를 활성화하면 특성이 각 XML 특성의 접두사로 추가됩니다. 예를 들어, 특성 접두사가 @이고 다음과 같은 XML이 있는 경우

<recipe type="pasta">Carbonara</recipe>

XML은 JSON으로 변환됩니다.

{
    "recipe": {
        "@type": "pasta",
        "<text key>": "Carbonara"
        }
}

상태 메트릭

모든 프로세서에서 내보내는 구성 요소 메트릭 및 프로세서 버퍼 메트릭에 대한 자세한 내용은 파이프라인 사용량 메트릭 설명서를 참조하세요. Parse 프로세서 메트릭별로 필터링하거나 그룹화하려면 component_type:parse 태그를 사용하세요.

추가 자료