Este producto no es compatible con el sitio Datadog seleccionado. ().
Disponible para:

Registros

Descripción general

Este procesador analiza Extensible Markup Language (XML) para que los datos puedan ser procesados y enviados a diferentes destinos. XML es un formato de registro utilizado para almacenar y transportar datos estructurados. Está organizado en una estructura similar a un árbol para representar información anidada y utiliza etiquetas y atributos para definir los datos. Por ejemplo, estos son datos XML que usan solo etiquetas (<recipe>, <type> y <name>) y ningún atributo:

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

Este es un ejemplo de XML donde la etiqueta recipe tiene el atributo type:

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

La siguiente imagen muestra un registro de evento 4625 de Windows en XML, junto al mismo registro parseado y generado en JSON. Al realizar el parseo del registro XML, el tamaño del evento de registro se redujo aproximadamente un 30%.

El registro XML y el registro parseado resultante en JSON

Configuración

Para configurar este procesador:

  1. Defina un filter query. Consulte Sintaxis de búsqueda de registros para obtener más información.
    • Solo se procesan los registros que coinciden con el filtro.
    • Todos los registros, independientemente de si coinciden con la consulta de filtro, se envían al siguiente paso de la canalización.
  2. Ingrese la ruta al campo de registro en el que desea realizar el parseo de XML. Use la notación de ruta <OUTER_FIELD>.<INNER_FIELD> para hacer coincidir subcampos. Consulte el ejemplo de notación de ruta a continuación.
  3. Opcionalmente, en el campo Enter text key, ingrese el nombre de clave que se usará para el nodo de texto cuando se agreguen atributos XML. Consulte el ejemplo de clave de texto. Si el campo se deja vacío, se usa value como nombre de clave.
  4. Opcionalmente, seleccione Always use text key si desea almacenar texto dentro de un objeto usando la clave de texto incluso cuando no existan atributos.
  5. Opcionalmente, active Include XML attributes si desea incluir atributos XML. Luego puede elegir agregar el prefijo de atributo que desea usar. Consulte el ejemplo de prefijo de atributo. Si el campo se deja vacío, se utiliza la clave de atributo original.
  6. Opcionalmente, seleccione si desea convertir los tipos de datos en números, booleanos o nulos.
    • Si se selecciona Numbers, los números se parsean como enteros y flotantes.
    • Si se selecciona Booleans, true y false se parsean como booleanos.
    • Si se selecciona Nulls, la cadena null se parsea como nula.

Ejemplo de notación de ruta

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"}.

Siempre use el ejemplo de clave de texto

Si se selecciona Always use text key, la clave de texto es la predeterminada (value) y tiene el siguiente XML:

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

El XML se convierte en:

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

Ejemplo de clave de texto

Si la clave es text y tiene el siguiente XML:

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

El XML se convierte en:

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

Ejemplo de prefijo de atributo

Si habilita Include XML attributes, el atributo se agrega como prefijo a cada atributo XML. Por ejemplo, si el prefijo de atributo es @ y tiene el siguiente XML:

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

Entonces se convierte al JSON:

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

Métricas de estado

Para métricas de componentes y métricas de búfer de procesador emitidas por todos los procesadores, consulte la documentación de Pipelines Usage Metrics. Para filtrar o agrupar por métricas del procesador de parseo, utilice la etiqueta component_type:parse.

Lecturas adicionales