Tous les produits
Search
Centre de documentation

Simple Log Service:Plug-in de filtrage des données

Dernière mise à jour :Aug 18, 2026

Un plug-in de filtrage des données détermine les journaux à collecter en fonction de conditions spécifiées.

Présentation du plug-in de filtrage des données

Log Service propose plusieurs plug-ins de filtrage des données. Choisissez celui qui correspond le mieux à vos besoins.

Nom du plug-in

Type

Description

Filtering processor

intégré

Collecte uniquement les journaux dont la valeur du champ correspond exactement à un modèle de liste d'autorisation spécifié.

filter_regex

personnalisé

Prend en charge les modes de filtrage suivants :

  • Filtre par expression régulière (par valeur) : utilise une expression régulière pour faire correspondre la valeur du champ. Vous pouvez combiner une condition de collecte et une condition de suppression pour spécifier les journaux à collecter ou à ignorer.

  • Filtre par expression régulière (par clé) : utilise une expression régulière pour faire correspondre le nom du champ (clé) et filtre les journaux en fonction de la présence du champ spécifié.

Point d'entrée

Pour utiliser un plug-in Logtail afin de traiter les journaux, ajoutez-le lors de la création ou de la modification d'une configuration Logtail. Pour plus d'informations, consultez la rubrique Présentation.

Différences entre les plug-ins intégrés et personnalisés

Plug-ins intégrés : implémentés en C++ pour des performances élevées.

Plug-ins personnalisés : implémentés en Go pour offrir flexibilité et un écosystème riche. Si vos journaux de service sont trop complexes pour les plug-ins intégrés, envisagez d'utiliser un plug-in personnalisé.

  • Limitations de performance des plug-ins personnalisés

    • L'utilisation d'un plug-in personnalisé pour traiter les journaux consomme davantage de ressources LoongCollector, principalement du CPU. Si nécessaire, vous pouvez utiliser la gestion de la configuration pour ajuster les paramètres de LoongCollector.

    • Si le taux de génération des données brutes dépasse 5 Mo/s, évitez d'utiliser des combinaisons de plug-ins complexes. Privilégiez l'utilisation d'un plug-in personnalisé pour un traitement simple, suivi d'une transformation des données pour un traitement avancé.

  • Limitations de la collecte des journaux

    • Les plug-ins personnalisés traitent les journaux textuels en mode ligne et stockent les métadonnées au niveau du fichier, telles que __tag__:__path__ et __topic__, dans chaque entrée de journal.

    • L'ajout d'un plug-in personnalisé affecte les fonctionnalités liées aux tags :

      • La requête contextuelle et la fonctionnalité LiveTail ne sont pas disponibles. Pour utiliser ces fonctionnalités, vous devez ajouter une configuration d'agrégateurs.

      • Le champ __topic__ est renommé en __log_topic__. Si vous ajoutez une configuration d'agrégateurs, les champs __topic__ et __log_topic__ seront tous deux présents dans les journaux. Si vous n'avez pas besoin du champ __log_topic__, vous pouvez utiliser le plug-in processor_drop pour le supprimer.

      • Les champs tels que __tag__:__path__ ne disposent plus d'index de champ intégré. Vous devez créer un index de champ pour eux.

Plug-in de filtre natif

Le plug-in de filtre natif filtre les journaux en fonction de leurs valeurs de champ.

Configuration

Paramètre

Description

Whitelist

Définissez une liste d'autorisation pour collecter uniquement les journaux répondant à des conditions spécifiques. Vous devez spécifier le nom du champ cible et une expression régulière pour le filtrage. L'expression régulière doit correspondre à la chaîne entière. Les correspondances partielles ne sont pas prises en charge. Pour plus de détails sur la rédaction d'une expression régulière, consultez le Tutoriel sur les expressions régulières.

Plusieurs conditions dans la liste d'autorisation sont jointes par un ET logique. Voici quelques exemples :

  • Collecte de journaux correspondant à une condition

    • Définissez Field Name sur level et Field Value sur WARNING|ERROR. Cette configuration collecte uniquement les journaux dont la valeur du champ level est WARNING ou ERROR.

    • Définissez Field Name sur content et Field Value sur .05\/Jan\/2023.. Cette configuration collecte uniquement les journaux dont la valeur du champ content contient 05/Jan/2023.

  • Suppression de journaux basée sur une condition

    • Définissez Field Name sur level et Field Value sur ^(?!.(INFO|DEBUG)).. Cette configuration supprime les journaux dont la valeur du champ level contient INFO ou DEBUG.

    • Définissez Field Name sur level et Field Value sur ^(?!(INFO|DEBUG)$).*. Cette configuration supprime les journaux dont la valeur du champ level est exactement INFO ou DEBUG.

    • Définissez Field Name sur url et Field Value sur .^(?!.(healthcheck)).*. Cette configuration supprime les journaux dont la valeur du champ url contient healthcheck.

Plug-ins de filtrage des journaux (avancé)

Utilisez le plug-in processor_filter_regex ou le plug-in processor_filter_key_regex pour filtrer les journaux. Cette rubrique décrit les paramètres et fournit des exemples de configuration pour chaque plug-in.

Limitations

  • La configuration basée sur un formulaire est disponible uniquement pour les journaux textuels et la sortie standard des conteneurs. Pour toutes les autres sources, vous devez utiliser la configuration basée sur JSON.

  • Le moteur d'expressions régulières Go est basé sur RE2 et présente les limitations suivantes par rapport au moteur PCRE :

    • Différences de syntaxe dans les groupes de capture nommés

      Go utilise la syntaxe (?P<name>...), tandis que PCRE utilise (?<name>...).

    • Modèles d'expressions régulières non pris en charge

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

      • Expressions conditionnelles : (?(condition)true|false).

      • Correspondance récursive : (?R) et (?0).

      • Références de sous-routines : (?&name) et (?P>name).

      • Groupes atomiques : (?>...).

    Lorsque vous déboguez des expressions régulières avec des outils tels que Regex101, évitez d'utiliser les modèles non pris en charge listés ci-dessus pour prévenir les échecs de traitement.

processor_filter_regex (Filtrer par valeur)

Filtre les journaux en faisant correspondre les valeurs des champs de journal avec des expressions régulières.

Formulaire

  • Paramètres

    Définissez le processor type sur Filter Logs with Regular Expression (Match Log Field Values). Le tableau suivant décrit les paramètres.

    Remarque

    Logtail collecte un journal uniquement si ses valeurs de champ satisfont à toutes les conditions de Collect Logs et à aucune des conditions de Drop Log. Sinon, Logtail ignore le journal.

    Paramètre

    Description

    Collect Logs

    Saisissez un nom de champ de journal et une expression régulière que sa valeur doit respecter. Un journal est collecté si la valeur du champ dans le journal brut correspond à l'expression.

    Vous pouvez ajouter plusieurs paires clé-valeur. Ces paires sont jointes par un ET logique.

    Drop Log

    Saisissez un nom de champ de journal et une expression régulière que sa valeur doit respecter. Un journal est ignoré si la valeur du champ correspond à l'expression.

    Vous pouvez ajouter plusieurs paires clé-valeur. Ces paires sont jointes par un OU logique.

  • Exemple de configuration

    Pour collecter uniquement les journaux dont l'adresse ip commence par 10, dont la method est POST et dont le browser ne correspond pas à aliyun.*, utilisez la configuration suivante :

    • Journaux bruts

      • Journal 1

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

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

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Configuration du plug-in Logtail

      Définissez le type de processeur sur Filtrer les journaux à l'aide d'expressions régulières (correspondance aux valeurs des champs de journal). Dans la section Journaux à collecter, ajoutez des règles pour le champ method (POST) et le champ ip (10\..*). Dans la section Journaux à ignorer, ajoutez une règle pour le champ browser (aliyun.*).

    • Résultats du traitement

      Journal

      Collecté

      Raison

      Journal 1

      Non

      La valeur du champ browser correspond à l'expression régulière dans Drop Log.

      Journal 2

      Oui

      Le journal respecte les critères de filtrage.

      Journal 3

      Non

      La valeur du champ ip ne correspond pas à l'expression régulière dans Collect Logs.

JSON

  • Paramètres

    Définissez type sur processor_filter_regex. Le tableau suivant décrit les paramètres de l'objet detail.

    Remarque

    Logtail collecte un journal uniquement si ses valeurs de champ correspondent à toutes les expressions régulières de Include et à aucune de celles de Exclude. Sinon, Logtail ignore le journal.

    Paramètre

    Type

    Obligatoire

    Description

    Include

    Objet JSON

    Non

    Spécifie une map où chaque clé est un nom de champ de journal et la valeur est une expression régulière pour faire correspondre la valeur de ce champ. Ces paires sont jointes par un ET logique.

    Exclude

    Objet JSON

    Non

    Spécifie une map où chaque clé est un nom de champ de journal et la valeur est une expression régulière pour faire correspondre la valeur de ce champ. Ces paires sont jointes par un OU logique. Un journal est ignoré si la valeur d'un champ correspond à son expression respective.

  • Exemple de configuration

    Pour collecter uniquement les journaux dont l'adresse ip commence par 10, dont la method est POST et dont le browser ne correspond pas à aliyun.*, utilisez la configuration suivante :

    • Journaux bruts

      • Journal 1

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

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

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Configuration du plug-in Logtail

      {
         "type" : "processor_filter_regex",
          "detail" : {
               "Include" : {
                  "ip" : "10\..*",
                  "method" : "POST"
               },
               "Exclude" : {
                  "browser" : "aliyun.*"
               }
          }
      }
    • Résultats du traitement

      Journal

      Collecté

      Raison

      Journal 1

      Non

      La valeur du champ browser correspond à l'expression régulière dans Exclude.

      Journal 2

      Oui

      Le journal respecte les critères de filtrage.

      Journal 3

      Non

      La valeur du champ ip ne correspond pas à l'expression régulière dans Include.

processor_filter_key_regex (Filtrer par clé)

Filtre les journaux en faisant correspondre les noms des champs de journal avec des expressions régulières.

Formulaire

  • Paramètres

    Définissez le processor type sur Filter Logs with Regular Expression (Match Log Field Names). Le tableau suivant décrit les paramètres.

    Remarque

    Logtail collecte un journal uniquement si ses noms de champ satisfont à toutes les conditions définies dans Collect Logs et à aucune des conditions de Drop Log. Sinon, Logtail ignore le journal.

    Paramètre

    Description

    Collect Logs

    Saisissez une ou plusieurs expressions régulières pour faire correspondre les noms des champs de journal. Un journal est collecté uniquement s'il contient des noms de champ qui correspondent à toutes les expressions spécifiées, ce qui représente un ET logique.

    Drop Log

    Saisissez une ou plusieurs expressions régulières pour faire correspondre les noms des champs de journal. Un journal est ignoré s'il contient un nom de champ qui correspond à l'une des expressions spécifiées, ce qui représente un OU logique.

  • Exemple de configuration

    Pour collecter les journaux contenant un nom de champ commençant par request, utilisez la configuration suivante :

    • Journaux bruts

      • Journal 1

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

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

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Définissez le type de processeur sur Filtrer les journaux à l'aide d'expressions régulières (correspondance aux noms des champs de journal). Dans la section Journaux à collecter, ajoutez l'expression régulière request.* et laissez la section Journaux à ignorer vide.

    • Résultats du traitement

      Journal

      Collecté

      Raison

      Journal 1

      Oui

      Les noms de champ request_time, request_length et request_method correspondent à l'expression régulière dans Collect Logs.

      Journal 2

      Oui

      Les noms de champ request_time et request_method correspondent à l'expression régulière dans Collect Logs.

      Journal 3

      Non

      Le journal ne contient aucun nom de champ correspondant à l'expression régulière dans Collect Logs.

JSON

  • Paramètres

    Définissez type sur processor_filter_key_regex. Le tableau suivant décrit les paramètres de l'objet detail.

    Remarque

    Logtail collecte un journal uniquement si ses noms de champ satisfont à toutes les conditions définies dans Include et à aucune des conditions de Exclude. Sinon, Logtail ignore le journal.

    Paramètre

    Type

    Obligatoire

    Description

    Include

    string[]

    Non

    Un tableau d'expressions régulières pour les noms de champs de journal. Ces expressions sont jointes par un ET logique, ce qui signifie qu'un journal est collecté uniquement s'il contient des noms de champ correspondant à toutes les expressions du tableau.

    Exclude

    string[]

    Non

    Un tableau d'expressions régulières pour les noms de champs de journal. Ces expressions sont jointes par un OU logique, ce qui signifie qu'un journal est ignoré s'il contient un nom de champ correspondant à l'une des expressions du tableau.

  • Exemple de configuration

    Pour collecter les journaux contenant un nom de champ commençant par request, utilisez la configuration suivante :

    • Journaux bruts

      • Journal 1

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

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

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Configuration du plug-in Logtail

      {
         "type" : "processor_filter_key_regex",
          "detail" : {
               "Include" : [
                  "request.*"
               ]
          }
      }
    • Résultats du traitement

      Journal

      Collecté

      Raison

      Journal 1

      Oui

      Les noms de champ request_time, request_length et request_method correspondent à l'expression régulière dans Include.

      Journal 2

      Oui

      Les noms de champ request_time et request_method correspondent à l'expression régulière dans Include.

      Journal 3

      Non

      Le journal ne contient aucun nom de champ correspondant à l'expression régulière dans Include.

Références