Todos los productos
Search
Centro de documentos

Simple Log Service:Use Logtail SPL to parse logs

Última actualización: Sep 03, 2026

Logtail 2.0 introduce el modo SPL, que combina el rendimiento de los plugins nativos (C++) con la flexibilidad de los plugins de extensión (Go). Utilice instrucciones SPL para replicar la funcionalidad de los plugins nativos y de extensión al analizar y procesar datos de registros.

Requisitos previos

Limitaciones

  • La recolección de registros mediante SPL requiere Logtail 2.0 o una versión posterior.

  • La configuración desde la consola solo admite registros de texto. Para otros tipos de datos, utilice una API o CRDs.

Ejemplos de uso

Use SPL to collect text logs ofrece un tutorial completo paso a paso.

Best practices for data processing with SPL aborda casos de uso comunes.

Procedimiento

Modificar una configuración

  1. Inicie sesión en la consola de Simple Log Service.

  2. En la sección Projects, haga clic en el proyecto deseado.

    image

  3. En la pestaña Log Storage > Logstores, haga clic en > junto al logstore objetivo y luego elija Data Collection > Logtail Configuration.

  4. En la lista Logtail Configuration, busque la configuración objetivo y haga clic en Manage Logtail Configuration en la columna Actions.

  5. Haga clic en Edit. En Processor Configurations, dentro de Processor Configurations, seleccione SPL para Processing Method y luego haga clic en Save.

    Global Configurations

    Parámetro

    Descripción

    Configuration Name

    Introduzca un nombre para la configuración de Logtail. El nombre debe ser único dentro de un proyecto y no se puede modificar posteriormente.

    Log Topic Type

    Seleccione un método para generar temas de registro. Para más información, consulte Log topics.

    • Machine Group Topic: Se utilizan los temas de los grupos de máquinas como temas de registro. Seleccione esta opción para distinguir los registros de diferentes grupos de máquinas.

    • File Path Extraction: Especifique una expresión regular personalizada. La parte de la ruta del archivo que coincida con la expresión regular se utiliza como tema del registro. Seleccione esta opción para distinguir los registros de diferentes orígenes.

    • Custom: Especifique un tema de registro personalizado.

    Advanced Parameters

    Opcional. Configure los parámetros avanzados relacionados con las configuraciones globales. Para más información, consulte CreateLogtailPipelineConfig.

    Input Configurations

    Parámetro

    Descripción

    File Path

    Especifique el directorio y el nombre de los archivos de registro según la ubicación de los registros en su servidor, por ejemplo, en una instancia de Elastic Compute Service (ECS).

    • Las rutas de archivo en Linux deben comenzar con una barra diagonal (/). Ejemplo: /apsara/nuwa/**/app.Log.

    • Las rutas de archivo en Windows deben comenzar con una letra de unidad. Ejemplo: C:\Program Files\Intel\**\*.Log.

    Puede especificar un directorio y un nombre exactos. También puede usar caracteres comodín para especificar el directorio y el nombre. Al configurar este parámetro, utilice únicamente el asterisco (*) o el signo de interrogación (?) como caracteres comodín.

    Simple Log Service examina todos los niveles del directorio especificado para encontrar los archivos de registro que cumplen con las condiciones indicadas. Ejemplos:

    • Si especifica /apsara/nuwa/**/*.log, Simple Log Service recopila registros de los archivos con sufijo .log ubicados en el directorio /apsara/nuwa y sus subdirectorios recursivos.

    • Si especifica /var/logs/app_*/**/*.log, Simple Log Service recopila registros de los archivos que cumplen las siguientes condiciones:

      • El nombre del archivo tiene el sufijo .log.

      • El archivo se encuentra en un subdirectorio del directorio /var/logs o en uno de sus subdirectorios recursivos.

      • El nombre del subdirectorio coincide con el patrón app_*.

    • Si especifica /var/log/nginx/**/access*, Simple Log Service recopila registros de los archivos cuyos nombres comienzan con access dentro del directorio /var/log/nginx y sus subdirectorios recursivos.

    Maximum Directory Monitoring Depth

    Especifique el número máximo de niveles de subdirectorios que desea monitorear. Estos subdirectorios se encuentran dentro del directorio de archivos de registro que usted definió. Este parámetro determina los niveles de subdirectorios que pueden coincidir con los caracteres comodín ** incluidos en el valor de File Path. Un valor de 0 indica que solo se monitorea el directorio de archivos de registro especificado.

    File Encoding

    Seleccione el formato de codificación de los archivos de registro.

    First Collection Size

    Especifique la cantidad de datos que Logtail puede recopilar de un archivo de registro durante la primera recolección. Valor predeterminado: 1024. Unidad: KB.

    • Si es menor a 1,024 KB, Logtail recopila datos desde el inicio del archivo.

    • Si es igual o mayor a 1,024 KB, Logtail recopila los últimos 1,024 KB de datos del archivo.

    Puede configurar First Collection Size según sus necesidades empresariales. Valores válidos: 0 a 10485760. Unidad: KB.

    Collection Blacklist

    Si habilita esta opción, configure una lista negra para especificar los directorios o archivos que Simple Log Service debe omitir durante la recopilación de registros. Puede especificar directorios y nombres de archivo exactos. También puede usar caracteres comodín para especificar directorios y nombres de archivo. Al configurar este parámetro, solo puede utilizar el asterisco (*) o el signo de interrogación (?) como caracteres comodín.

    Importante
    • Si utiliza caracteres comodín para especificar un valor en File Path y desea omitir algunos subdirectorios dentro del directorio especificado, configure Collection Blacklist para definir dichos subdirectorios. Debe especificar las rutas completas.

      Por ejemplo, si establece File Path en /home/admin/app/log/.log y desea omitir todos los subdirectorios dentro del directorio /home/admin/app1, seleccione Directory Blacklist e introduzca /home/admin/app1/** en el campo Directory Name. Si introduce /home/admin/app1*, la lista negra no surtirá efecto.

    • El uso de una lista negra genera sobrecarga computacional. Se recomienda un máximo de 10 entradas por lista negra.

    • No puede especificar un directorio que termine con una barra diagonal (/). Por ejemplo, si especifica el directorio /home/admin/dir1/, la lista negra de directorios no surtirá efecto.

    Se admiten los siguientes tipos de listas negras:

    File Path Blacklist

    • Si selecciona File Path Blacklist e introduce /home/admin/private*.log en el campo File Path Name, se omitirán todos los archivos con prefijo private y sufijo .log en el directorio /home/admin/.

    • Si selecciona File Path Blacklist e introduce /home/admin/private/_inner.log en el campo File Path Name, se omitirán todos los archivos con sufijo _inner.log ubicados en subdirectorios con prefijo private dentro del directorio /home/admin/. Por ejemplo, se omite el archivo /home/admin/private/app_inner.log, pero no el archivo /home/admin/private/app.log.

    File Blacklist

    Si selecciona File Blacklist e introduce app_inner.log en el campo File Name, se omitirán todos los archivos cuyo nombre sea app_inner.log.

    Directory Blacklist

    • Si selecciona Directory Blacklist e introduce /home/admin/dir1 en el campo Directory Name, se omitirán todos los archivos en el directorio /home/admin/dir1.

    • Si selecciona Directory Blacklist e introduce /home/admin/dir* en el campo Directory Name, se omitirán todos los archivos en los subdirectorios con prefijo dir dentro del directorio /home/admin/.

    • Si selecciona Directory Blacklist e introduce /home/admin/*/dir en el campo Directory Name, se omitirán todos los archivos en el subdirectorio dir dentro de cada subdirectorio de segundo nivel del directorio /home/admin/. Por ejemplo, se omiten los archivos en el directorio /home/admin/a/dir, pero no los del directorio /home/admin/a/b/dir.

    Allow File to Be Collected Multiple Times

    De forma predeterminada, solo se puede usar una configuración de Logtail para recopilar registros de un archivo. Si desea recopilar múltiples copias de registros de un mismo archivo, active Allow File to Be Collected Multiple Times.

    Advanced Parameters

    Opcional. Configure los parámetros avanzados relacionados con los procesadores de entrada. Para más información, consulte CreateLogtailPipelineConfig.

    Processor Configurations

    Parámetro

    Descripción

    Log sample

    Una entrada de registro de ejemplo para configurar los parámetros de procesamiento.

    [2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
        at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
        at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
        at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

    Multi-line mode

    • Un registro multilínea abarca varias líneas consecutivas. Defina un patrón para distinguir cada entrada de registro.

      • Custom: Utiliza una Regex to Match First Line para identificar cada entrada de registro.

      • Multi-line JSON: Cada objeto JSON se expande en múltiples líneas. Ejemplo:

        {
          "name": "John Doe",
          "age": 30,
          "address": {
            "city": "New York",
            "country": "USA"
          }
        }
    • Acción ante fallo de análisis:

      Exception in thread "main" java.lang.NullPointerException
          at com.example.MyClass.methodA(MyClass.java:12)
          at com.example.MyClass.methodB(MyClass.java:34)
          at com.example.MyClass.main(MyClass.java:½0)

      Si falla la división de registros:

      • Discard: Descarta la entrada de registro.

      • Retain Single Line: Conserva cada línea como una entrada de registro independiente. En este ejemplo, se conservan cuatro entradas.

    Processing mode

    Establezca Processing Method en SPL.

    SPL statement

    SPL syntax documenta todas las sentencias disponibles. Antes del análisis, el contenido del registro se almacena en el campo content de forma predeterminada.

    Timeout

    Tiempo máximo permitido para la ejecución de una sola sentencia SPL.

Crear una configuración

  1. Inicie sesión en la consola de Simple Log Service.

  2. En el área Data Import, haga clic en Import Data. En el cuadro de diálogo Quick Data Import, en la pestaña Self-managed Open Source/Commercial Software, seleccione un origen de datos que incluya Text Logs en su nombre.

    Nota

    Actualmente, la configuración desde la consola solo admite registros de texto. Para otros orígenes de datos (como Kubernetes o stdout de Docker), utilice una API o CRDs.

    En Quick Data Collection, haga clic en Collect Data.

  3. En el paso Select Logstore, seleccione un proyecto y un logstore, y haga clic en Next.

    image

  4. En el paso Machine Group Configurations, configure un grupo de máquinas.

    1. Configure los parámetros Scenario e Installation Environment según sea necesario.

      Importante

      Debe configurar los parámetros Scenario e Installation Environment independientemente de si hay un grupo de máquinas disponible. Estos ajustes afectan las configuraciones posteriores.

    2. Asegúrese de que aparezca un grupo de máquinas en la sección Applied Server Groups y haga clic en Next.

      Grupo de máquinas disponible

      Seleccione un grupo de máquinas en la sección Source Machine Group.

      image

      No hay grupos de máquinas disponibles

      Haga clic en Create Machine Group. En el panel Create Machine Group, configure los parámetros. Puede establecer el parámetro Machine Group Identifier en IP Address o Custom Identifier. Para más información, consulte Create a custom identifier-based machine group o Create an IP address-based machine group.

      Importante

      Si aplica un grupo de máquinas inmediatamente después de crearlo, el estado de latido del grupo podría mostrar FAIL. Esto ocurre porque el grupo de máquinas aún no está conectado a Simple Log Service. Para resolver este problema, haga clic en Automatic Retry. Si el problema persiste, consulte What do I do if no heartbeat connections are detected on Logtail?

  5. Cree una configuración de Logtail y haga clic en Next. Las secciones Global Configurations y Input Configurations son iguales a las de la sección anterior. En la sección Processor Configurations, establezca Processing Method en SPL.

    • Global Configurations

      Parámetro

      Descripción

      Configuration Name

      Introduzca un nombre para la configuración de Logtail. El nombre debe ser único dentro de un proyecto y no se puede modificar posteriormente.

      Log Topic Type

      Seleccione un método para generar temas de registro. Para más información, consulte Log topics.

      • Machine Group Topic: Se utilizan los temas de los grupos de máquinas como temas de registro. Seleccione esta opción para distinguir los registros de diferentes grupos de máquinas.

      • File Path Extraction: Especifique una expresión regular personalizada. La parte de la ruta del archivo que coincida con la expresión regular se utiliza como tema del registro. Seleccione esta opción para distinguir los registros de diferentes orígenes.

      • Custom: Especifique un tema de registro personalizado.

      Advanced Parameters

      Opcional. Configure los parámetros avanzados relacionados con las configuraciones globales. Para más información, consulte CreateLogtailPipelineConfig.

    • Input Configurations

      Parámetro

      Descripción

      File Path

      Especifique el directorio y el nombre de los archivos de registro según la ubicación de los registros en su servidor, por ejemplo, en una instancia de Elastic Compute Service (ECS).

      • Las rutas de archivo en Linux deben comenzar con una barra diagonal (/). Ejemplo: /apsara/nuwa/**/app.Log.

      • Las rutas de archivo en Windows deben comenzar con una letra de unidad. Ejemplo: C:\Program Files\Intel\**\*.Log.

      Puede especificar un directorio y un nombre exactos. También puede usar caracteres comodín para especificar el directorio y el nombre. Al configurar este parámetro, utilice únicamente el asterisco (*) o el signo de interrogación (?) como caracteres comodín.

      Simple Log Service examina todos los niveles del directorio especificado para encontrar los archivos de registro que cumplen con las condiciones indicadas. Ejemplos:

      • Si especifica /apsara/nuwa/**/*.log, Simple Log Service recopila registros de los archivos con sufijo .log ubicados en el directorio /apsara/nuwa y sus subdirectorios recursivos.

      • Si especifica /var/logs/app_*/**/*.log, Simple Log Service recopila registros de los archivos que cumplen las siguientes condiciones:

        • El nombre del archivo tiene el sufijo .log.

        • El archivo se encuentra en un subdirectorio del directorio /var/logs o en uno de sus subdirectorios recursivos.

        • El nombre del subdirectorio coincide con el patrón app_*.

      • Si especifica /var/log/nginx/**/access*, Simple Log Service recopila registros de los archivos cuyos nombres comienzan con access dentro del directorio /var/log/nginx y sus subdirectorios recursivos.

      Maximum Directory Monitoring Depth

      Especifique el número máximo de niveles de subdirectorios que desea monitorear. Estos subdirectorios se encuentran dentro del directorio de archivos de registro que usted definió. Este parámetro determina los niveles de subdirectorios que pueden coincidir con los caracteres comodín ** incluidos en el valor de File Path. Un valor de 0 indica que solo se monitorea el directorio de archivos de registro especificado.

      File Encoding

      Seleccione el formato de codificación de los archivos de registro.

      First Collection Size

      Especifique la cantidad de datos que Logtail puede recopilar de un archivo de registro durante la primera recolección. Valor predeterminado: 1024. Unidad: KB.

      • Si es menor a 1,024 KB, Logtail recopila datos desde el inicio del archivo.

      • Si es igual o mayor a 1,024 KB, Logtail recopila los últimos 1,024 KB de datos del archivo.

      Puede configurar First Collection Size según sus necesidades empresariales. Valores válidos: 0 a 10485760. Unidad: KB.

      Collection Blacklist

      Si habilita esta opción, configure una lista negra para especificar los directorios o archivos que Simple Log Service debe omitir durante la recopilación de registros. Puede especificar directorios y nombres de archivo exactos. También puede usar caracteres comodín para especificar directorios y nombres de archivo. Al configurar este parámetro, solo puede utilizar el asterisco (*) o el signo de interrogación (?) como caracteres comodín.

      Importante
      • Si utiliza caracteres comodín para especificar un valor en File Path y desea omitir algunos subdirectorios dentro del directorio especificado, configure Collection Blacklist para definir dichos subdirectorios. Debe especificar las rutas completas.

        Por ejemplo, si establece File Path en /home/admin/app/log/.log y desea omitir todos los subdirectorios dentro del directorio /home/admin/app1, seleccione Directory Blacklist e introduzca /home/admin/app1/** en el campo Directory Name. Si introduce /home/admin/app1*, la lista negra no surtirá efecto.

      • El uso de una lista negra genera sobrecarga computacional. Se recomienda un máximo de 10 entradas por lista negra.

      • No puede especificar un directorio que termine con una barra diagonal (/). Por ejemplo, si especifica el directorio /home/admin/dir1/, la lista negra de directorios no surtirá efecto.

      Se admiten los siguientes tipos de listas negras:

      File Path Blacklist

      • Si selecciona File Path Blacklist e introduce /home/admin/private*.log en el campo File Path Name, se omitirán todos los archivos con prefijo private y sufijo .log en el directorio /home/admin/.

      • Si selecciona File Path Blacklist e introduce /home/admin/private/_inner.log en el campo File Path Name, se omitirán todos los archivos con sufijo _inner.log ubicados en subdirectorios con prefijo private dentro del directorio /home/admin/. Por ejemplo, se omite el archivo /home/admin/private/app_inner.log, pero no el archivo /home/admin/private/app.log.

      File Blacklist

      Si selecciona File Blacklist e introduce app_inner.log en el campo File Name, se omitirán todos los archivos cuyo nombre sea app_inner.log.

      Directory Blacklist

      • Si selecciona Directory Blacklist e introduce /home/admin/dir1 en el campo Directory Name, se omitirán todos los archivos en el directorio /home/admin/dir1.

      • Si selecciona Directory Blacklist e introduce /home/admin/dir* en el campo Directory Name, se omitirán todos los archivos en los subdirectorios con prefijo dir dentro del directorio /home/admin/.

      • Si selecciona Directory Blacklist e introduce /home/admin/*/dir en el campo Directory Name, se omitirán todos los archivos en el subdirectorio dir dentro de cada subdirectorio de segundo nivel del directorio /home/admin/. Por ejemplo, se omiten los archivos en el directorio /home/admin/a/dir, pero no los del directorio /home/admin/a/b/dir.

      Allow File to Be Collected Multiple Times

      De forma predeterminada, solo se puede usar una configuración de Logtail para recopilar registros de un archivo. Si desea recopilar múltiples copias de registros de un mismo archivo, active Allow File to Be Collected Multiple Times.

      Advanced Parameters

      Opcional. Configure los parámetros avanzados relacionados con los procesadores de entrada. Para más información, consulte CreateLogtailPipelineConfig.

    • Processor Configurations

      Parámetro

      Descripción

      Log sample

      Una entrada de registro de ejemplo para configurar los parámetros de procesamiento.

      [2023-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happened
          at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
          at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
          at TestPrintStackTrace.main(TestPrintStackTrace.java:16)

      Multi-line mode

      • Un registro multilínea abarca varias líneas consecutivas. Defina un patrón para distinguir cada entrada de registro.

        • Custom: Utiliza una Regex to Match First Line para identificar cada entrada de registro.

        • Multi-line JSON: Cada objeto JSON se expande en múltiples líneas. Ejemplo:

          {
            "name": "John Doe",
            "age": 30,
            "address": {
              "city": "New York",
              "country": "USA"
            }
          }
      • Acción ante fallo de análisis:

        Exception in thread "main" java.lang.NullPointerException
            at com.example.MyClass.methodA(MyClass.java:12)
            at com.example.MyClass.methodB(MyClass.java:34)
            at com.example.MyClass.main(MyClass.java:½0)

        Si falla la división de registros:

        • Discard: Descarta la entrada de registro.

        • Retain Single Line: Conserva cada línea como una entrada de registro independiente. En este ejemplo, se conservan cuatro entradas.

      Processing mode

      Establezca Processing Method en SPL.

      SPL statement

      SPL syntax documenta todas las sentencias disponibles. Antes del análisis, el contenido del registro se almacena en el campo content de forma predeterminada.

      Timeout

      Tiempo máximo permitido para la ejecución de una sola sentencia SPL.