Todos los productos
Search
Centro de documentos

DataWorks:Origen de datos de LogHub (SLS)

Última actualización: Sep 15, 2026

El origen de datos de LogHub (SLS) proporciona sincronización bidireccional de datos entre Simple Log Service (SLS) y otros orígenes de datos en DataWorks.

Funciones

Simple Log Service (SLS) es compatible con los siguientes escenarios de sincronización de datos:

  • Sincronización de datos entre LogHub y orígenes como MaxCompute en distintas regiones.

  • Sincronización de datos entre LogHub y orígenes como MaxCompute en distintas cuentas de Alibaba Cloud.

  • Sincronización de datos entre LogHub y orígenes como MaxCompute dentro de la misma cuenta de Alibaba Cloud.

  • Sincronización de datos entre LogHub y orígenes como MaxCompute en cuentas de nube pública y de China Finance Cloud.

Limitación

Cuando Data Integration ejecuta una escritura sin conexión en LogHub (SLS), pueden duplicarse los datos si se vuelve a ejecutar una tarea después de un failover. Esto ocurre porque LogHub (SLS) no es idempotente.

Tipos de campo compatibles

Data Integration admite los siguientes tipos de campo de LogHub (SLS) para lectura y escritura.

Tipo de campo

Lectura sin conexión (LogHub (SLS) Reader)

Escritura sin conexión (LogHub (SLS) Writer)

Lectura en tiempo real

STRING

Compatible

Compatible

Compatible

A continuación se muestran los detalles:

  • Al escribir datos en LogHub (SLS) en modo sin conexión

    Todos los tipos de datos se convierten a STRING antes de escribirse en LogHub (SLS). En la siguiente tabla se muestran las conversiones de tipo de datos que realiza LogHub (SLS) Writer.

    Tipo interno de Data Integration compatible

    Tipo de dato al escribir en LogHub (SLS)

    LONG

    STRING

    DOUBLE

    STRING

    STRING

    STRING

    DATE

    STRING

    BOOLEAN

    STRING

    BYTES

    STRING

  • Al leer datos de LogHub (SLS) en modo de tiempo real

    Se incluyen automáticamente los siguientes campos de metadatos.

    Campo de sincronización en tiempo real de LogHub (SLS)

    Tipo de dato

    Descripción

    __time__

    STRING

    Campo reservado de SLS: __time__ especifica la hora del registro cuando se escriben los datos. El valor es una marca de tiempo UNIX en segundos.

    __source__

    STRING

    Campo reservado de SLS: __source__ especifica el dispositivo de origen del registro.

    __topic__

    STRING

    Campo reservado de SLS: __topic__ especifica el nombre del tema.

    __tag__:__receive_time__

    STRING

    Hora en la que el registro llega al servidor. Después de habilitar la función para registrar direcciones IP públicas, el servidor anexa este campo al registro original al recibirlo. El valor es una marca de tiempo UNIX en segundos.

    __tag__:__client_ip__

    STRING

    Dirección IP pública del dispositivo de origen del registro. Después de habilitar la función para registrar direcciones IP públicas, el servidor anexa este campo al registro original al recibirlo.

    __tag__:__path__

    STRING

    Ruta del archivo de registro que recopila Logtail. Logtail anexa este campo al registro automáticamente.

    __tag__:__hostname__

    STRING

    Nombre de host de la máquina de origen desde la cual Logtail recopila datos. Logtail anexa este campo al registro automáticamente.

Crear un origen de datos

Configurar un origen de datos

Antes de desarrollar una tarea de sincronización de datos, debe crear el origen de datos correspondiente en DataWorks. Para conocer el procedimiento, consulte Create a data source. Para ver la descripción detallada de los parámetros de configuración, consulte la información sobre herramientas que se muestra en la página de configuración.

Crear un origen de datos entre cuentas de Alibaba Cloud

En el siguiente ejemplo se describe cómo usar la cuenta B para configurar una tarea de sincronización en Data Integration que sincronice datos de LogHub de la cuenta A hacia MaxCompute de la cuenta B. Las consideraciones especiales para escenarios entre cuentas son las siguientes:

  1. Cree un origen de datos de LogHub con el AccessKey ID y el AccessKey Secret de la cuenta A.

    De esta manera, la cuenta B puede sincronizar datos de todos los proyectos de SLS de la cuenta A.

  2. Cree un origen de datos de LogHub con el AccessKey ID y el AccessKey Secret del usuario de RAM A1 de la cuenta A.

    • La cuenta A otorga al usuario de RAM A1 los permisos generales de SLS, que corresponden a las políticas AliyunLogFullAccess y AliyunLogReadOnlyAccess. Para obtener más información, consulte Create a RAM user and grant permissions.

      Nota

      Después de adjuntar las políticas del sistema AliyunLogFullAccess y AliyunLogReadOnlyAccess a un usuario de RAM, dicho usuario puede consultar todos los recursos de SLS de la cuenta de Alibaba Cloud.

    • La cuenta A otorga al usuario de RAM A1 un permiso personalizado en SLS.

      Inicie sesión en la página RAM console > Permission Management > Permission Policy con la cuenta A y haga clic en Create Permission Policy.

      Para obtener información sobre la autorización correspondiente, consulte Access control overview y RAM custom authorization examples.

      Después de autorizar al usuario de RAM A1 con la siguiente política, la cuenta B solo podrá sincronizar datos de los proyectos de SLS project_name1 y project_name2 a través de dicho usuario.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "log:Get*",
                      "log:List*",
                      "log:CreateConsumerGroup",
                      "log:UpdateConsumerGroup",
                      "log:DeleteConsumerGroup",
                      "log:ListConsumerGroup",
                      "log:ConsumerGroupUpdateCheckPoint",
                      "log:ConsumerGroupHeartBeat",
                      "log:GetConsumerGroupCheckPoint"
                  ],
                  "Resource": [
                      "acs:log:*:*:project/project_name1",
                      "acs:log:*:*:project/project_name1/*",
                      "acs:log:*:*:project/project_name2",
                      "acs:log:*:*:project/project_name2/*"
                  ],
                  "Effect": "Allow"
              }
          ]
      }

Desarrollo de tareas de sincronización de datos

Para conocer el punto de entrada y el procedimiento para configurar una tarea de sincronización, consulte las siguientes guías de configuración.

Nota

Cuando se utiliza un origen de datos de LogHub como origen, puede filtrar los datos en LogHub mediante la sintaxis de consulta de LogHub o instrucciones SPL (SLS Processing Language, la sintaxis que usa SLS para procesar registros) durante la configuración de la tarea. Para obtener detalles sobre la sintaxis, consulte Appendix: LogHub data filtering.

Guía de configuración de tareas de sincronización sin conexión de una sola tabla

Guía de configuración de tareas de sincronización en tiempo real de una sola tabla

Para conocer el procedimiento, consulte Configure a single-table real-time synchronization task.

Guía de configuración de sincronización en tiempo real de bases de datos completas y otras sincronizaciones a nivel de base de datos

Para conocer el procedimiento, consulte Configure a full-database real-time synchronization task.

Preguntas frecuentes

Para conocer más problemas comunes sobre Data Integration, consulte Data Integration FAQ.

Apéndice 1: Script de demostración y descripción de parámetros

Configurar una tarea de sincronización por lotes con el editor de código

Si desea configurar una tarea de sincronización por lotes con el editor de código, debe establecer los parámetros relacionados en el script según los requisitos unificados de formato de scripts. Para obtener más información, consulte Script mode configuration. La siguiente información describe los parámetros que debe configurar para los orígenes de datos cuando configura una tarea de sincronización por lotes con el editor de código.

Script de demostración de Reader

Demostración de lectura desde un logstore

{
 "type":"job",
 "version":"2.0",// The version number.
 "steps":[
     {
         "stepType":"LogHub",// The plug-in name.
         "parameter":{
             "datasource":"",// The data source.
             "column":[// The columns.
                 "col0",
                 "col1",
                 "col2",
                 "col3",
                 "col4",
                 "__category__",
                 "__source__",
                 "__topic__", // The log topic.
                 "__machineUUID__", // The unique identifier of the collection machine.
                 "__tag__:__hostname__", // The hostname.
                 "__tag__:__path__", // The path.
                 "__time__" // The event time.
             ],
             "beginDateTime":"",// The start time for data consumption.
             "batchSize":"",// The number of data entries queried from SLS at a time.
             "endDateTime":"",// The end time for data consumption.
             "fieldDelimiter":",",// The column delimiter.
             "logstore":""// The name of the destination Logstore.
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// The number of error records.
     },
     "speed":{
         "throttle":true,// If throttle is set to false, the mbps parameter does not take effect, which means throttling is disabled. If throttle is set to true, throttling is enabled.
            "concurrent":1 // The number of concurrent threads.
            "mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Demostración de lectura desde un logstore después de procesar datos con SPL

{
 "type":"job",
 "version":"2.0",// The version number.
 "steps":[
     {
         "stepType":"LogHub",// The plug-in name.
         "parameter":{
             "datasource":"",// The data source.
             "column":[// The columns.
                 "col100",
                 "col1"
             ],
             "beginDateTime":"",// The start time for data consumption.
             "batchSize":"",// The number of data entries queried from SLS at a time.
             "endDateTime":"",// The end time for data consumption.
             "fieldDelimiter":",",// The column delimiter.
             "logstore":"",// The name of the destination Logstore.
             "query":"* | where regexp_like(col0, '[0-9]+') | project col100=col0, col1 " // SPL
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// The number of error records.
     },
     "speed":{
         "throttle":true,// If throttle is set to false, the mbps parameter does not take effect, which means throttling is disabled. If throttle is set to true, throttling is enabled.
            "concurrent":1 // The number of concurrent threads.
            "mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Demostración de lectura desde un logstore después de extender campos con SPL

{
 "type":"job",
 "version":"2.0",// The version number.
 "steps":[
     {
         "stepType":"LogHub",// The plug-in name.
         "parameter":{
             "datasource":"",// The data source.
             "column":[// The columns.
               "col0",
               "col1",
               "col2",
               "col3",
               "col4",
               "__category__",
               "__source__",
               "__topic__", // The log topic.
               "__machineUUID__", // The unique identifier of the collection machine.
               "__tag__:__hostname__", // The hostname.
               "__tag__:__path__", // The path.
               "__time__", // The event time.
               "col100",
               "col101"
             ],
             "beginDateTime":"",// The start time for data consumption.
             "batchSize":"",// The number of data entries queried from SLS at a time.
             "endDateTime":"",// The end time for data consumption.
             "fieldDelimiter":",",// The column delimiter.
             "logstore":"",// The name of the destination Logstore.
             "query":"* | where regexp_like(col0, '[0-9]+') | extend col100=cast(col2 as BIGINT), extend col101=date_parse(col3, '%Y-%m-%d %H:%i') ",// SPL
         },
         "name":"Reader",
         "category":"reader"
     },
     {
         "stepType":"stream",
         "parameter":{},
         "name":"Writer",
         "category":"writer"
     }
 ],
 "setting":{
     "errorLimit":{
         "record":"0"// The number of error records.
     },
     "speed":{
         "throttle":true,// If throttle is set to false, the mbps parameter does not take effect, which means throttling is disabled. If throttle is set to true, throttling is enabled.
            "concurrent":1 // The number of concurrent threads.
            "mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
     }
 },
 "order":{
     "hops":[
         {
             "from":"Reader",
             "to":"Writer"
         }
     ]
 }
}

Parámetros del script de Reader

Parámetro

Descripción

Obligatorio

Valor predeterminado

endPoint

El endpoint de Simple Log Service es la URL que se usa para acceder a un proyecto y a sus datos de registro. Depende de la región de Alibaba Cloud donde reside el proyecto y del nombre del proyecto. Para consultar los endpoints de servicio de cada región, consulte Endpoints.

Sí

Ninguna

accessId

El AccessKey ID que se usa para acceder a Simple Log Service e identifica al usuario.

Sí

Ninguna

accessKey

El AccessKey que se usa para acceder a Simple Log Service y realizar la autenticación del usuario.

Sí

Ninguna

project

Nombre del proyecto de destino de Simple Log Service. Un proyecto es la unidad de gestión de recursos en Simple Log Service y sirve para aislar y gestionar recursos.

Sí

Ninguna

logstore

Nombre del logstore de destino. Un logstore es la unidad de Simple Log Service para recopilar, almacenar y consultar datos de registro.

Sí

Ninguna

batchSize

Número de entradas de datos recuperadas de Simple Log Service en una sola consulta.

No

128

column

Nombres de columna de cada entrada de datos. Puede configurar los campos de metadatos de Simple Log Service como columnas de sincronización. Simple Log Service admite metadatos como el tema del registro, el identificador único de la máquina de recopilación, el nombre de host, la ruta y la hora del registro.

Nota

Los nombres de columna distinguen entre mayúsculas y minúsculas. Para obtener más información, consulte la sección configurable column values a continuación.

Sí

Ninguna

beginDateTime

Hora de inicio del consumo de datos, es decir, el momento en que los datos de registro llegan a LogHub (SLS). Este parámetro define el límite izquierdo (inclusivo) del intervalo de tiempo. Establezca este parámetro con una cadena de tiempo en formato yyyyMMddHHmmss (por ejemplo, 20180111013000). Puede usar este parámetro junto con los parámetros de programación de DataWorks.

Por ejemplo, en Scheduling Settings, en el lado derecho de la página de edición del nodo, establezca beginDateTime=${yyyymmdd-1} en Parameter y luego configure Log Start Time como ${beginDateTime}000000. Esto indica que la hora de inicio del registro es 00:00:00 en la fecha de negocio. Para obtener más información, consulte Scheduling parameters.

Nota
  • beginDateTime y endDateTime deben usarse juntos.

  • Para sincronizar todos los datos, puede establecer beginDateTime en la hora de inicio de los datos y endDateTime en el día actual. Sin embargo, esto podría consumir muchos recursos debido al volumen de datos. Ajuste las especificaciones del resource group según sea necesario.

  • El campo de filtro de tiempo subyacente está fijado en write timestamp (la hora en que el registro llega a LogHub (SLS)). beginDateTime solo controla el intervalo de tiempo del consumo de datos. No modifica el campo de filtro subyacente ni puede cambiarse por un campo de negocio personalizado como start_time.

Sí

Ninguna

endDateTime

Hora de fin del consumo de datos, que corresponde al límite derecho (exclusivo) del intervalo de tiempo. Establezca este parámetro con una cadena de tiempo en formato yyyyMMddHHmmss (por ejemplo, 20180111013010). Puede usar este parámetro junto con los parámetros de programación de DataWorks.

Por ejemplo, en Scheduling Settings, en el lado derecho de la página de edición del nodo, establezca endDateTime=${yyyymmdd} en Parameter y luego configure Log End Time como ${endDateTime}000000. Esto indica que la hora de fin del registro es 00:00:00 del día posterior a la fecha de negocio. Para obtener más información, consulte Scheduling parameters.

Importante
  • La hora especificada en endDatetime debe ser anterior a (2038-01-19 11:14:07 +8:00). De lo contrario, la recuperación de datos podría fallar.

  • El valor de endDateTime del ciclo de programación anterior debe ser igual o posterior al valor de beginDateTime del siguiente ciclo de programación. De lo contrario, podrían omitirse datos de algunos intervalos de tiempo.

  • El campo de filtro de tiempo subyacente está fijado en write timestamp (la hora en que el registro llega a LogHub (SLS)). endDateTime solo controla el intervalo de tiempo del consumo de datos. No modifica el campo de filtro subyacente ni puede cambiarse por un campo de negocio personalizado como start_time.

Sí

Ninguna

query

Filtra los datos en LogHub mediante la sintaxis de consulta de LogHub o instrucciones SPL (SLS Processing Language es la sintaxis que usa SLS para procesar registros).

Sí

Ninguna

Nota

Si faltan datos al leer desde LogHub, compruebe en la consola de LogHub si el campo de metadatos receive_time se encuentra dentro del intervalo de tiempo configurado para la tarea.

Crear particiones por campos de negocio personalizados

El filtro de tiempo de las tareas de sincronización sin conexión de LogHub (SLS) siempre se basa en __tag__:__receive_time__. No se admite el filtrado ni la creación de particiones directamente por campos de negocio personalizados como start_time. Para dividir los datos en particiones en MaxCompute mediante un campo de negocio personalizado, aplique la siguiente solución alternativa:

  1. Configure una tarea de sincronización sin conexión para sincronizar todos los datos de LogHub (SLS) hacia una tabla de preparación de MaxCompute (sin especificar un campo de partición).

  2. Cree un nodo SQL de MaxCompute y ejecute la siguiente instrucción para escribir los datos en la tabla de particiones de destino mediante un campo de negocio personalizado (como start_time):

    INSERT OVERWRITE TABLE target_table PARTITION(start_time)
    SELECT col1, col2, start_time
    FROM temp_table;
  3. Use parámetros de programación para pasar valores de partición de forma dinámica e implementar la creación automática de particiones por día o por hora.

Script de demostración de Writer

{
    "type": "job",
    "version": "2.0",// The version number.
    "steps": [
        { 
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "LogHub",// The plug-in name.
            "parameter": {
                "datasource": "",// The data source.
                "column": [// The columns.
                    "col0",
                    "col1",
                    "col2",
                    "col3",
                    "col4",
                    "col5"
                ],
                "topic": "",// The selected topic.
                "batchSize": "1024",// The number of records to submit at a time.
                "logstore": ""// The name of the destination LogService Logstore.
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": ""// The number of error records.
        },
        "speed": {
            "throttle":true,// If throttle is set to false, the mbps parameter does not take effect and bandwidth is not throttled. If throttle is set to true, bandwidth is throttled.
            "concurrent":3, // The number of concurrent threads.
            "mbps":"12"// The throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parámetros del script de Writer

Nota

LogHub (SLS) Writer obtiene los datos generados por Reader a través del framework de Data Integration y luego convierte uno por uno todos los tipos de datos compatibles a STRING. Cuando se alcanza el batchSize especificado, los datos se envían a LogHub (SLS) en un solo lote mediante el SDK de Java de LogService.

Parámetro

Descripción

Obligatorio

Valor predeterminado

endpoint

El endpoint de Log Service es la URL que se usa para acceder a un proyecto y a sus datos de registro. Depende de la región de Alibaba Cloud y del nombre del proyecto. Para consultar los endpoints de cada región, consulte Service endpoints.

Sí

Ninguna

accessKeyId

El AccessKeyId que se usa para acceder a Log Service.

Sí

Ninguna

accessKeySecret

El AccessKeySecret que se usa para acceder a Log Service.

Sí

Ninguna

project

Nombre del proyecto de destino de Log Service.

Sí

Ninguna

logstore

Nombre del logstore de destino. Un logstore es la unidad de Log Service para recopilar, almacenar y consultar datos de registro.

Sí

Ninguna

topic

Nombre del topic en el SLS de destino.

No

Cadena vacía

batchSize

Número de registros de datos sincronizados con LogHub (SLS) a la vez. Valor predeterminado: 1,024. Valor máximo: 4,096.

Nota

El tamaño de los datos de una sola escritura por lotes en LogHub (SLS) no debe superar los 5 MB. Ajuste el número de registros enviados por lote según el tamaño individual de sus registros.

No

1,024

column

Nombre de la columna de cada registro de datos.

Sí

Ninguna

Apéndice 2: Filtrado con sintaxis SPL de LogHub

Cuando se utiliza LogHub como origen de datos, puede usar la sintaxis de consulta de LogHub o instrucciones SPL (SLS Processing Language) para filtrar los datos en LogHub durante la configuración de la tarea. La sintaxis se describe a continuación:

Nota

Para obtener más información sobre SPL, consulte SPL overview.

Escenario

Instrucción SQL

Instrucción SPL

Filtrado de datos

SELECT * WHERE Type='write'

  • Filtrado condicional.

    * | where Type='write'
  • Consulta difusa.

    * | where Type like '%write%'
  • Expresión regular.

    * | where regexp_like(server_protocol, '\d+')
  • Más opciones (expresiones SQL).

    * | where <sql-expr> 

Procesamiento y selección de campos

Seleccione campos específicos y cambie su nombre:

SELECT "__tag__:node" AS node, path
  • Seleccionar campos específicos y cambiarles el nombre.

    * | project node="__tag__:node", path
  • Seleccionar campos por patrón.

    * | project -wildcard "__tag__:*"
  • Cambiar el nombre de campos específicos sin afectar a los demás.

    * | project-rename node="__tag__:node"
  • Excluir campos por patrón.

    * | project-away -wildcard "__tag__:*"

Transformación de datos

(llamada a funciones SQL)

Convertir tipos de datos, analizar sintácticamente marcas de tiempo y más:

SELECT 
  CAST(Status AS BIGINT) AS Status, 
  date_parse(Time, '%Y-%m-%d %H:%i') AS Time

Convertir tipos de datos, analizar sintácticamente marcas de tiempo y más:

* | extend Status=cast(Status as BIGINT), extend Time=date_parse(Time, '%Y-%m-%d %H:%i')

Extracción de campos

Extracción mediante expresiones regulares:

SELECT 
  CAST(Status AS BIGINT) AS Status, 
  date_parse(Time, '%Y-%m-%d %H:%i') AS Time

Extracción JSON:

SELECT 
      CAST(Status AS BIGINT) AS Status, 
      date_parse(Time, '%Y-%m-%d %H:%i') AS Time
  • Extracción mediante expresiones regulares: coincidencia única.

    * | parse-regexp protocol, '(\w+)/(\d+)' as scheme, version
  • Extracción JSON: expansión completa.

    * | parse-json -path='$.0' content
  • Extracción CSV.

    * | parse-csv -delim='^_^' content as ip, time, host

Apéndice 3: Valores de columna configurables

La lógica de lectura de todos los campos se activa únicamente cuando column contiene exactamente un elemento que es * o "*". De lo contrario, cada elemento de column se procesa en el orden de coincidencia normal. Por ejemplo, si configura ["*", "__time__"], el carácter * no activa la lógica de lectura de todos los campos. En su lugar, se interpreta como un nombre de campo normal, lo que normalmente devuelve null.

El orden de coincidencia normal es: campos normales de contenido del registro → asignación de metacampos integrados de Reader → constantes entre comillas simples → __tag__:<tagKey> → null. Si un campo normal de contenido del registro tiene el mismo nombre que un metacampo o una clave LogTag, el campo normal de contenido del registro tiene prioridad.

A continuación se muestran los campos que se usan con mayor frecuencia y que se recomiendan para las configuraciones orientadas al usuario en los ajustes de column de LogHub Reader, según las definiciones de campos reservados de SLS. Que un campo tenga valor o no depende del contenido real del registro, de los metadatos de LogGroup y de los LogTags recuperados.

Configuración

Comportamiento

Nombre de campo normal, como content o level

Lee el valor de los campos de contenido (contents) de cada entrada de registro mediante la clave. Los nombres de campo distinguen entre mayúsculas y minúsculas.

__time__ o __logtime__

Lee log.getTime() de cada entrada de registro, que corresponde a la hora del registro como marca de tiempo en segundos.

__source__

Lee el valor source de LogGroup, que corresponde al dispositivo de origen del registro.

__topic__

Lee el valor topic de LogGroup, que corresponde al tema del registro.

__category__

Lee el valor category de LogGroup.

__machineUUID__

Lee el valor machineUUID de LogGroup.

__tag__:__receive_time__

Lee __receive_time__ de LogTags, que indica la hora en la que el registro llega al servidor. Esta etiqueta debe existir realmente en el registro.

__tag__:__client_ip__

Lee __client_ip__ de LogTags, que indica la dirección IP pública del dispositivo de origen del registro. Esta etiqueta debe existir realmente en el registro.

__tag__:__path__

Lee __path__ de LogTags, que suele indicar la ruta del archivo de registro recopilado por Logtail. Esta etiqueta debe existir realmente en el registro.

__tag__:__hostname__

Lee __hostname__ de LogTags, que suele indicar el nombre de host de la máquina de origen donde Logtail recopila los datos. Esta etiqueta debe existir realmente en el registro.

__tag__:<tagKey>

Lee otros LogTags especificados, como __tag__:__pack_id__ o __tag__:__user_defined_id__.

__raw_log__ o __raw__

Si este campo existe como campo de contenido del registro, se lee como un nombre de campo normal.

'fixed value'

Devuelve una cadena constante (el contenido después de quitar las comillas simples externas).

["*"]

Solo surte efecto cuando column contiene un único *. Lee todos los campos normales de contenido del registro, los ordena por clave y devuelve cada columna con el formato key:value.

Campos sin coincidencia

Devuelve null sin reportar ningún error.

Ejemplo de configuración:

"column": [
  "content",
  "__time__",
  "__source__",
  "__tag__:__receive_time__",
  "'constant_value'"
]