Todos los productos
Search
Centro de documentos

Simple Log Service:Cómo funciona

Última actualización: Sep 12, 2026

La función de transformación de datos de Simple Log Service utiliza grupos de consumidores para consumir y procesar datos de registros. Usted puede orquestar más de 200 funciones integradas para crear reglas de transformación. Este documento explica cómo se programan los datos durante la transformación y cómo funciona el motor de reglas.

Conceptos básicos de programación

La función de transformación de datos de Simple Log Service usa un grupo de consumidores para leer los datos de registros del logstore de origen como una secuencia. Procesa cada registro mediante una regla de transformación y después emite el resultado.

  • Scheduling mechanism

    Para cada regla de transformación, el programador inicia una o más instancias en ejecución. Cada instancia actúa como consumidor de uno o varios shards del logstore de origen. El programador determina la cantidad de instancias paralelas según el uso de memoria y CPU. El número máximo de instancias es igual a la cantidad de shards del logstore de origen.

  • Running instance

    Una instancia en ejecución lee los registros de origen de los shards asignados de acuerdo con su configuración. Procesa los datos con la regla de transformación y envía el resultado al logstore de destino. Las reglas de transformación pueden usar recursos externos para enriquecer los datos de registros. La instancia utiliza el mecanismo de grupos de consumidores para guardar su posición de consumo dentro de un shard. De este modo, si la instancia se detiene de forma inesperada, reanudará el consumo desde el último punto de control guardado.

  • Task stop

    • Si no configura una hora de finalización para la tarea, las instancias en ejecución continuarán funcionando de manera predeterminada y el trabajo de transformación de datos no se detendrá.

    • Si establece una hora de finalización para la tarea, las instancias en ejecución procesarán todos los registros recibidos hasta ese momento. Después, las instancias saldrán automáticamente y el trabajo de transformación de datos se detendrá.

    • Cuando un trabajo se detiene por cualquier motivo y se reinicia, reanuda el consumo desde la última posición guardada de forma predeterminada.

Conceptos básicos del motor de reglas: operaciones básicas

Utilice las funciones integradas que proporciona SLS DSL para escribir reglas de transformación. Cada función representa un paso de transformación, y el motor de reglas ejecuta las funciones de forma secuencial.

e_set("log_type", "access_log")
e_drop_fields("__action")
e_if(e_search("ret: pass"), e_set("result", "pass"))
e_if(e_search("ret: unknown"), DROP)

A continuación se muestra la lógica correspondiente.

  • Lógica básica

    Cada función de evento de una regla se ejecuta en orden. Cada función procesa y modifica un evento antes de pasarlo a la siguiente.

    Por ejemplo, e_set("log_type", "access_log") agrega un campo llamado log_type con el valor access_log a cada evento. La siguiente función recibe entonces el evento actualizado, que ya incluye el campo log_type.

  • Lógica condicional

    Los pasos pueden tener condiciones. Si un evento no cumple una condición, omite la operación de ese paso.

    Por ejemplo, la función e_if(e_search("ret: pass"), e_set("result", "pass")) comprueba primero si el campo ret contiene pass. Si no se cumple la condición, no se realiza ninguna acción. Cuando sí se cumple, la función establece el valor del campo result en pass.

  • Detención del procesamiento

    Si un paso devuelve cero eventos, se considera que el evento se eliminó.

    Por ejemplo, e_if(e_search("ret: unknown"), DROP) descarta los eventos cuyo campo ret tiene el valor unknown. Una vez descartado un evento, no se le aplican más operaciones y el procesamiento continúa con el siguiente.

Conceptos básicos del motor de reglas: salida, copia y división

El motor de reglas también admite la copia, emisión y división de eventos.

e_coutput("archive_Logstore") )
e_split("log_type")
e_if(e_search("log_type: alert"), e_output("alert_Logstore") )
e_set("result", "pass")

Suponga que el registro de origen que se va a procesar es el siguiente:

log_type: access,alert
content: admin login to database.

A continuación se muestra la lógica correspondiente.规则引擎原理逻辑图

  • Emisión de eventos

    Una operación de salida se considera un tipo especial de detención del procesamiento. Por ejemplo, en el paso 3, si un evento tiene un campo log_type con el valor alert, se llama a la función e_output("alert_Logstore"). Esta función envía el evento al destino especificado y luego lo elimina. No se realizan operaciones posteriores sobre dicho evento.

  • Copia y emisión de eventos

    La función e_coutput copia el evento actual y emite la copia. El evento original continúa hacia el siguiente paso de procesamiento. Por ejemplo, en el paso 1, todos los eventos recibidos se copian y luego se envían al destino archive_Logstore.

  • División y procesamiento paralelo

    En el paso 2, si el campo log_type contiene los valores access y alert, e_split("log_type") divide el evento en dos eventos independientes según los valores del campo log_type. Los dos eventos nuevos son idénticos, excepto por el campo log_type, que tendrá el valor access en uno y alert en el otro. Después, cada evento nuevo avanza por los pasos siguientes de manera independiente.

    Tras la división, cada evento resultante continúa por los pasos siguientes de forma independiente.