Todos os produtos
Search
Central de documentação

Simple Log Service:Plugin de filtragem de dados

Última atualização: Jul 03, 2026

Um plugin de filtragem de dados determina quais registros de log coletar com base em condições especificadas.

Visão geral do plugin de filtragem de dados

O Log Service oferece diversos plugins de filtragem de dados. Escolha o mais adequado às suas necessidades.

Nome do plugin

Tipo

Descrição

Processador de filtragem

nativo

Coleta apenas logs cujo valor do campo corresponde exatamente a um padrão de lista de permissões especificado.

filter_regex

personalizado

Suporta os seguintes modos de filtragem:

  • Filtro regex (por valor): Usa uma expressão regular para corresponder ao valor do campo. Combine uma condição de coleta e uma de descarte para definir quais logs coletar ou descartar.

  • Filtro regex (por chave): Usa uma expressão regular para corresponder ao nome do campo (chave) e filtra os logs com base na presença do campo especificado.

Ponto de entrada

Para usar um plugin do Logtail no processamento de logs, adicione-o ao criar ou modificar uma configuração do Logtail. Para mais informações, consulte Visão geral.

Diferenças entre plugins nativos e personalizados

Plugins nativos: Implementados em C++ para garantir alto desempenho.

Plugins personalizados: Implementados em Go para oferecer flexibilidade e um ecossistema rico. Se os logs do seu serviço forem complexos demais para os plugins nativos, considere usar um plugin personalizado.

  • Limitações de desempenho dos plugins personalizados

    • Usar um plugin personalizado para processar logs consome mais recursos do LoongCollector, principalmente CPU. Se necessário, use o gerenciamento de configurações para ajustar as definições de parâmetros do LoongCollector.

    • Se a taxa de geração de dados brutos ultrapassar 5 MB/s, evite combinações complexas de plugins. Em vez disso, use um plugin personalizado para processamento simples, seguido pela transformação de dados para processamentos avançados.

  • Limitações na coleta de logs

    • Plugins personalizados processam logs de texto no modo de linha e armazenam metadados no nível de arquivo, como __tag__:__path__ e __topic__, em cada entrada de log.

    • Adicionar um plugin personalizado afeta funcionalidades relacionadas a tags:

      • Os recursos de consulta de contexto e LiveTail ficam indisponíveis. Para usá-los, adicione uma configuração de agregadores (aggregators).

      • O campo __topic__ é renomeado para __log_topic__. Ao adicionar uma configuração de agregadores, tanto o campo __topic__ quanto o __log_topic__ estarão presentes nos logs. Caso não precise do campo __log_topic__, use o plugin processor_drop para excluí-lo.

      • Campos como __tag__:__path__ deixam de ter um índice de campo nativo. Crie um índice de campo para eles.

Plugin de filtro nativo

O plugin de filtro nativo filtra logs pelos valores de seus campos.

Configuração

Parâmetro

Descrição

Whitelist

Defina uma lista de permissões para coletar apenas logs que atendam a condições específicas. Especifique o nome do campo alvo e uma expressão regular para filtragem. A expressão regular deve corresponder à string inteira. Não há suporte para correspondências parciais. Para detalhes sobre como escrever expressões regulares, consulte Tutorial de Expressões Regulares.

Múltiplas condições na lista de permissões são unidas por um operador lógico AND. Veja os exemplos abaixo:

  • Coleta de logs correspondentes a uma condição

    • Defina Field Name como level e Field Value como WARNING|ERROR. Essa configuração coleta apenas logs cujo valor do campo level seja WARNING ou ERROR.

    • Defina Field Name como content e Field Value como .05\/Jan\/2023.. Essa configuração coleta apenas logs cujo valor do campo content contenha 05/Jan/2023.

  • Descarte de logs com base em uma condição

    • Defina Field Name como level e Field Value como ^(?!.(INFO|DEBUG)).. Essa configuração descarta logs cujo valor do campo level contenha INFO ou DEBUG.

    • Defina Field Name como level e Field Value como ^(?!(INFO|DEBUG)$).*. Essa configuração descarta logs cujo valor do campo level seja exatamente INFO ou DEBUG.

    • Defina Field Name como url e Field Value como .^(?!.(healthcheck)).*. Essa configuração descarta logs cujo valor do campo url contenha healthcheck.

Plugins de filtragem de logs (avançado)

Use o plugin processor_filter_regex ou o plugin processor_filter_key_regex para filtrar logs. Este tópico descreve os parâmetros e fornece exemplos de configuração para cada plugin.

Limitações

  • A configuração baseada em formulário está disponível apenas para logs de texto e saída padrão de contêineres. Para todas as outras fontes, use a configuração baseada em JSON.

  • O mecanismo de expressões regulares Go baseia-se no RE2 e apresenta as seguintes limitações em comparação ao mecanismo PCRE:

    • Diferenças de sintaxe em grupos de captura nomeados

      O Go usa a sintaxe (?P<name>...), enquanto o PCRE usa (?<name>...).

    • Padrões de expressão regular sem suporte

      • Lookaround: (?=...), (?!...), (?<=...) e (?<!...).

      • Expressões condicionais: (?(condition)true|false).

      • Correspondência recursiva: (?R) e (?0).

      • Referências de sub-rotina: (?&name) e (?P>name).

      • Grupos atômicos: (?>...).

    Ao depurar expressões regulares com ferramentas como Regex101, evite usar os padrões sem suporte listados acima para prevenir falhas no processamento.

processor_filter_regex (Filtrar por valor)

Filtra logs correspondendo os valores dos campos de log a expressões regulares.

Form

  • Parâmetros

    Defina o processor type como Filter Logs with Regular Expression (Match Log Field Values). A tabela a seguir descreve os parâmetros.

    Nota

    O Logtail coleta um log somente se seus valores de campo atenderem a todas as condições em Collect Logs e a nenhuma das condições em Drop Log. Caso contrário, o Logtail descarta o log.

    Parâmetro

    Descrição

    Collect Logs

    Insira o nome de um campo de log e uma expressão regular à qual seu valor deve corresponder. O log será coletado se o valor do campo no log bruto corresponder à expressão.

    Você pode adicionar vários pares chave-valor. Esses pares são unidos por um operador lógico AND.

    Drop Log

    Insira o nome de um campo de log e uma expressão regular à qual seu valor deve corresponder. O log será descartado se o valor do campo corresponder à expressão.

    Você pode adicionar vários pares chave-valor. Esses pares são unidos por um operador lógico OR.

  • Exemplo de configuração

    Para coletar apenas logs onde o ip comece com 10, o method seja POST e o browser não corresponda a aliyun.*, use a seguinte configuração:

    • Logs brutos

      • Log 1

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "chrome"
      • Log 3

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Configuração do plugin do Logtail

      Defina o processor type como Filter Logs by Using Regular Expressions (Matching Log Field Values). Na seção Logs to Be Collected, adicione regras para o campo method (POST) e para o campo ip (10\..*). Na seção Logs to Be Discarded, adicione uma regra para o campo browser (aliyun.*).

    • Resultados do processamento

      Log

      Coletado

      Motivo

      Log 1

      Não

      O valor do campo browser corresponde à expressão regular em Drop Log.

      Log 2

      Sim

      O log atende aos critérios de filtragem.

      Log 3

      Não

      O valor do campo ip não corresponde à expressão regular em Collect Logs.

JSON

  • Parâmetros

    Defina type como processor_filter_regex. A tabela a seguir descreve os parâmetros no objeto detail.

    Nota

    O Logtail coleta um log somente se seus valores de campo corresponderem a todas as expressões regulares em Include e a nenhuma em Exclude. Caso contrário, o Logtail descarta o log.

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    Include

    JSON Object

    Não

    Especifica um mapa onde cada chave é um nome de campo de log e o valor é uma expressão regular para corresponder ao valor desse campo. Esses pares são unidos por um operador lógico AND.

    Exclude

    JSON Object

    Não

    Especifica um mapa onde cada chave é um nome de campo de log e o valor é uma expressão regular para corresponder ao valor desse campo. Esses pares são unidos por um operador lógico OR. Um log é descartado se o valor de qualquer campo corresponder à sua expressão correspondente.

  • Exemplo de configuração

    Para coletar apenas logs onde o ip comece com 10, o method seja POST e o browser não corresponda a aliyun.*, use a seguinte configuração:

    • Logs brutos

      • Log 1

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "chrome"
      • Log 3

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Configuração do plugin do Logtail

      {
         "type" : "processor_filter_regex",
          "detail" : {
               "Include" : {
                  "ip" : "10\..*",
                  "method" : "POST"
               },
               "Exclude" : {
                  "browser" : "aliyun.*"
               }
          }
      }
    • Resultados do processamento

      Log

      Coletado

      Motivo

      Log 1

      Não

      O valor do campo browser corresponde à expressão regular em Exclude.

      Log 2

      Sim

      O log atende aos critérios de filtragem.

      Log 3

      Não

      O valor do campo ip não corresponde à expressão regular em Include.

processor_filter_key_regex (Filtrar por chave)

Filtra logs correspondendo os nomes dos campos de log a expressões regulares.

Form

  • Parâmetros

    Defina o processor type como Filter Logs with Regular Expression (Match Log Field Names). A tabela a seguir descreve os parâmetros.

    Nota

    O Logtail coleta um log somente se seus nomes de campo atenderem a todas as condições definidas em Collect Logs e não atenderem a nenhuma das condições em Drop Log. Caso contrário, o Logtail descarta o log.

    Parâmetro

    Descrição

    Collect Logs

    Insira uma ou mais expressões regulares para corresponder aos nomes dos campos de log. Um log é coletado apenas se contiver nomes de campos que correspondam a todas as expressões especificadas, o que representa um operador lógico AND.

    Drop Log

    Insira uma ou mais expressões regulares para corresponder aos nomes dos campos de log. Um log é descartado se contiver um nome de campo que corresponda a qualquer expressão especificada, o que representa um operador lógico OR.

  • Exemplo de configuração

    Para coletar logs que contenham um nome de campo começando com request, use a seguinte configuração:

    • Logs brutos

      • Log 1

        "request_time" : 20
        "request_length": 2314
        "request_method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "request_time" : 70
        "request_method" : "GET"
        "ip" : "192.168.**.**"
      • Log 3

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Defina o processor type como Filter Logs by Using Regular Expressions (Matching Log Field Names). Na seção Logs to Be Collected, adicione a expressão regular request.* e deixe a seção Logs to Be Discarded vazia.

    • Resultados do processamento

      Log

      Coletado

      Motivo

      Log 1

      Sim

      Os nomes dos campos request_time, request_length e request_method correspondem à expressão regular em Collect Logs.

      Log 2

      Sim

      Os nomes dos campos request_time e request_method correspondem à expressão regular em Collect Logs.

      Log 3

      Não

      O log não contém nenhum nome de campo que corresponda à expressão regular em Collect Logs.

JSON

  • Parâmetros

    Defina type como processor_filter_key_regex. A tabela a seguir descreve os parâmetros no objeto detail.

    Nota

    O Logtail coleta um log somente se seus nomes de campo atenderem a todas as condições definidas em Include e não atenderem a nenhuma das condições em Exclude. Caso contrário, o Logtail descarta o log.

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    Include

    string[]

    Não

    Um array de expressões regulares para nomes de campos de log. Essas expressões são unidas por um operador lógico AND, o que significa que um log é coletado apenas se contiver nomes de campos que correspondam a todas as expressões no array.

    Exclude

    string[]

    Não

    Um array de expressões regulares para nomes de campos de log. Essas expressões são unidas por um operador lógico OR, o que significa que um log é descartado se contiver um nome de campo que corresponda a qualquer expressão no array.

  • Exemplo de configuração

    Para coletar logs que contenham um nome de campo começando com request, use a seguinte configuração:

    • Logs brutos

      • Log 1

        "request_time" : 20
        "request_length": 2314
        "request_method" : "POST"
        "browser" : "aliyun-sdk-java"
      • Log 2

        "request_time" : 70
        "request_method" : "GET"
        "ip" : "192.168.**.**"
      • Log 3

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Configuração do plugin do Logtail

      {
         "type" : "processor_filter_key_regex",
          "detail" : {
               "Include" : [
                  "request.*"
               ]
          }
      }
    • Resultados do processamento

      Log

      Coletado

      Motivo

      Log 1

      Sim

      Os nomes dos campos request_time, request_length e request_method correspondem à expressão regular em Include.

      Log 2

      Sim

      Os nomes dos campos request_time e request_method correspondem à expressão regular em Include.

      Log 3

      Não

      O log não contém nenhum nome de campo que corresponda à expressão regular em Include.

Referências