Todos os produtos
Search
Central de documentação

Simple Log Service:Conceitos básicos de transformação de dados

Última atualização: Jun 23, 2026

O recurso de transformação de dados usa grupos de consumidores para consumir dados de log e aplica regras de transformação para transformar esses dados. Há mais de 200 funções integradas disponíveis para orquestrar regras de transformação. Este tópico descreve como ocorre o agendamento do consumo de dados de log durante a transformação de dados e como funciona o motor de regras dessa transformação.

Conceitos básicos de agendamento

O recurso de transformação de dados do Simple Log Service usa um grupo de consumidores para consumir dados de log do Logstore source no modo de streaming, transforma cada entrada de log com base na regra de transformação especificada e grava os dados transformados em um ou mais Logstores de destino.

  • Scheduling mechanism

    Para cada regra de transformação, o agendador de transformação de dados inicia uma ou mais instâncias em execução. Cada instância em execução atua como um consumidor para consumir dados de um ou mais shards do Logstore source. O agendador determina o número de instâncias em execução simultânea com base nos recursos de memória e CPU que essas instâncias utilizam. O número máximo de instâncias em execução que o agendador pode iniciar equivale ao número de shards no Logstore source.

  • Running instance

    As instâncias em execução leem os dados de log source dos shards alocados a elas com base nas suas configurações. O recurso transforma os dados com base na regra de transformação e os grava em um ou mais Logstores de destino. É possível configure regras de transformação para enriquecer os dados de log com recursos externos. Com base no mecanismo de grupos de consumidores, as instâncias em execução registram checkpoints de consumo de dados nos shards. Esses checkpoints são úteis caso ocorra uma interrupção inesperada no consumo. Após o fim da interrupção, as instâncias em execução podem continuar a consumir dados a partir do último checkpoint.

  • Task termination

    • Por padrão, caso você não defina a hora de término de uma tarefa de transformação, as instâncias em execução continuam ativas e a tarefa não para.

    • Caso você defina a hora de término de uma tarefa de transformação, as instâncias em execução consomem dados de log até essa hora. Quando a tarefa atinge a hora de término, as instâncias finalizam a execução e a tarefa para.

    • Por padrão, se você interromper e reiniciar uma tarefa, as instâncias em execução continuam a consumir dados a partir do último checkpoint registrado.

Conceitos básicos do motor de regras: operações básicas

Use as funções integradas escritas na linguagem específica de domínio (DSL) do Simple Log Service para orquestrar regras de transformação. Cada função representa uma etapa de transformação. O motor de regras chama as funções de uma regra de transformação em sequência. Por exemplo, a regra de transformação a seguir usa quatro funções. Essas funções correspondem a quatro etapas de transformação de dados:

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)

The following figure shows the transformation logic.

  • Basic logic

    O motor de regras chama cada função definida na regra em sequência. Cada função processa e modifica cada entrada de log e retorna uma entrada de log transformada.

    Por exemplo, a função e_set("log_type", "access_log") adiciona o campo log_type a cada entrada de log. O valor desse campo é access_log. Em seguida, a próxima função recebe cada entrada de log transformada que contém o campo log_type.

  • Conditional expressions

    É possível definir condições nas etapas. Se uma entrada de log não atender a uma condição em uma etapa, o motor ignora essa etapa para a respectiva entrada.

    Por exemplo, a função e_if(e_search("ret: pass"), e_set("result", "pass")) verifica primeiro se o valor do campo ret em uma entrada de log contém pass. Caso contrário, o motor ignora essa etapa para a entrada de log. Se a condição for atendida, a função define o valor do campo result na entrada de log como pass.

  • Transformation termination

    Se uma função não retornar uma entrada de log transformada, o sistema descarta a entrada de log.

    Por exemplo, a função e_if(e_search("ret: unknown"), DROP) descarta uma entrada de log na qual o valor do campo ret é unknown. Após descartar a entrada de log, o motor de regras não chama mais as funções subsequentes para transformar essa entrada e começa a transformar a próxima entrada de log.

Conceitos básicos do motor de regras: saída, duplicação e divisão de dados

O motor de regras também oferece suporte à saída, duplicação e divisão de logs. Por exemplo, a regra de transformação a seguir usa quatro funções. Essas funções correspondem a quatro etapas de transformação de dados:

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

O exemplo a seguir mostra uma entrada de log de amostra a ser transformada:

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

The following figure shows the transformation logic.Diagram for rules engine basics

  • Log output

    A saída de log funciona como uma forma especial de interromper a transformação de uma entrada de log. Conforme mostrado na figura anterior, se o valor do campo log_type em uma entrada de log for alert, o motor chama a função e_output("alert_Logstore") na etapa 3 para gravar a entrada de log no Logstore de destino especificado. Em seguida, o sistema descarta a entrada de log e não chama a função subsequente.

  • Log duplication and output

    A função e_coutput duplica uma entrada de log e grava a entrada duplicada em um ou mais Logstores de destino. Depois disso, o motor de regras continua a chamar as funções subsequentes para transformar a entrada de log. Conforme mostrado na figura anterior, o sistema grava as entradas de log duplicadas na etapa 1 no Logstore de destino chamado archive_Logstore.

  • Log splitting

    Se os valores do campo log_type em uma entrada de log forem access e alert, o motor chama a função e_split("log_type") na etapa 2 para dividir a entrada de log em duas entradas. As duas entradas de log são idênticas, exceto pelo valor do campo log_type. O valor desse campo é access em uma entrada de log e alert na outra.

    As funções subsequentes transformam as entradas de log geradas após a divisão.