Tous les produits
Search
Centre de documentation

Simple Log Service:Collecte de journaux texte depuis des serveurs

Dernière mise à jour :Aug 12, 2026

Collectez les journaux texte provenant d'instances ECS, de serveurs sur site ou d'hôtes cloud tiers vers Simple Log Service à l'aide de LoongCollector (Logtail). Deux modes sont disponibles : la collecte continue (incrémentielle en temps réel) et la collecte unique (importation historique par lots).

Choisir un mode de collecte

Scénario

Mode recommandé

Écriture continue des journaux nécessitant une surveillance et des alertes en temps réel.

Collecte continue

Importation ponctuelle de fichiers historiques archivés.

Collecte unique

Migration système ou de données ; rétrochargement de données historiques.

Collecte unique

Investigation ponctuelle de journaux sur une période spécifique.

Collecte unique

Remarque

Par défaut, LoongCollector ne collecte que les journaux incrémentiels. Pour collecter des fichiers statiques existants, utilisez le mode de collecte unique.

Remarques d'utilisation

  • Systèmes d'exploitation et architectures pris en charge :

    LoongCollector prend uniquement en charge Linux. Pour les hôtes Windows, utilisez Logtail.

    Pour les nouveaux déploiements, privilégiez LoongCollector, qui remplace la nouvelle génération de Logtail. Installez l'un ou l'autre, mais pas les deux simultanément.
  • Exigences en ressources de calcul :

    • CPU : 0,4 cœur au minimum.

    • Mémoire : 300 Mo au minimum.

    • Maintenez l'utilisation sous 80 % de la limite. La consommation réelle dépend de la vitesse de collecte, du nombre de dossiers et de fichiers, ainsi que de la file d'attente d'envoi.

  • Exigences en matière d'autorisations :

    Si vous utilisez un utilisateur Resource Access Management (RAM), vous devez lui accorder les autorisations AliyunLogFullAccess et AliyunECSFullAccess. Pour une autorisation granulaire, consultez Annexe : Politiques d'autorisation personnalisées.

Flux de configuration de la collecte

  1. Preparations: Créez un projet (pour l'isolation des ressources) et un logstore (pour le stockage des journaux).

  2. Configure a machine group (Install LoongCollector): Installez LoongCollector sur vos serveurs et ajoutez-les à un groupe de machines.

  3. Create and configure log collection rules:

    1. Global and input configurations: Définissez le nom de la configuration de collecte ainsi que la source et la portée de la collecte des journaux.

    2. Log processing and structuring: Configurez les règles de traitement selon le format des journaux.

      • Journaux multilignes : Pour les journaux s'étendant sur plusieurs lignes (comme les piles d'exceptions Java), configurez une expression régulière afin d'identifier le début de chaque journal et de fusionner les lignes consécutives en une seule entrée.

      • Analyse structurée : Utilisez des plugins d'analyse (expression régulière, séparateur ou modèle NGINX) pour extraire les chaînes brutes sous forme de paires clé-valeur structurées, permettant des requêtes et analyses indépendantes.

    3. Log filtering: Configurez des listes de blocage et des filtres de contenu pour exclure les données redondantes et réduire les coûts de stockage.

    4. Catégorisation des journaux: Utilisez des sujets pour distinguer les journaux provenant de différentes applications, serveurs ou chemins sources.

  4. Query and analysis configuration: L'index plein texte est activé par défaut pour les recherches par mots-clés. Activez l'index de champ pour des requêtes précises sur des champs structurés.

  5. Verification and troubleshooting: Vérifiez que les journaux sont bien collectés. En cas de problèmes tels que l'absence de données, des échecs de heartbeat ou des erreurs d'analyse, consultez la FAQ.

Préparatifs

Créez un projet et un logstore pour stocker les journaux. S'ils existent déjà, passez directement à l'étape Configurer un groupe de machines (Installer LoongCollector).

Créer un projet

  1. Connectez-vous à la console Simple Log Service.

  2. Cliquez sur Create Project et configurez les paramètres suivants :

    • Region : Sélectionnez la région de votre source de journaux. Ce choix ne peut plus être modifié après la création.

    • Project Name : Doit être unique dans tout Alibaba Cloud et ne peut pas être modifié après la création.

    • Conservez les paramètres par défaut pour les autres configurations et cliquez sur Create. Pour plus d'informations sur les autres paramètres, consultez Créer un projet.

Créer un logstore

  1. Cliquez sur le nom du projet pour accéder au projet cible.

  2. Dans le volet de navigation de gauche, choisissez imageLog Storage puis cliquez sur +.

  3. Sur la page Create Logstore, complétez les configurations principales suivantes :

    • Logstore Name : Doit être unique au sein du projet. Ne peut pas être modifié après la création.

    • Logstore Type : Choisissez Standard ou Query selon vos besoins.

    • Billing Mode :

      • Pay-by-feature : Le stockage, l'indexation et les opérations de lecture/écriture sont facturés individuellement. Idéal pour une utilisation à petite échelle ou imprévisible.

      • Pay-by-ingested-data : Facturation basée sur le volume de données brutes. Inclut 30 jours de stockage gratuit ainsi que la transformation et la livraison des données offertes. Recommandé pour une rétention d'environ 30 jours ou des pipelines de traitement complexes.

    • Data Retention Period : Durée de rétention des journaux en jours (1 à 3 650). 3 650 correspond à une conservation permanente. Valeur par défaut : 30 jours.

    • Conservez les paramètres par défaut pour les autres configurations et cliquez sur OK. Pour plus d'informations sur les autres configurations, consultez Gérer les Logstores.

Étape 1 : Configurer un groupe de machines (Installer LoongCollector)

Une fois les Préparatifs terminés, installez LoongCollector sur vos serveurs et ajoutez-les à un groupe de machines.

Remarque

Ces étapes s'appliquent uniquement aux instances ECS situées dans le même compte et la même région que le projet SLS.

Pour les scénarios multi-comptes, multi-régions ou sur site, consultez Installer et configurer LoongCollector.

Procédure :

  1. Sur la page image Logstores, cliquez sur l'icône image devant le nom du logstore cible pour le développer.

  2. Cliquez sur l'icône image à côté de Data Collection, puis dans la boîte de dialogue Quick Data Import, sélectionnez un modèle de collecte de journaux texte (par exemple Single Line - Text Log) et cliquez sur Integrate Now.

    Tous les modèles de journaux texte partagent la même configuration et ne diffèrent que par leurs plugins d'analyse. Vous pourrez modifier cette configuration ultérieurement.
  3. Sur la page Machine Group Configurations, configurez les paramètres suivants :

    • Scenario : Servers

    • Installation Environment : ECS

    • Select Machine Group : Selon l'état d'installation de LoongCollector et la configuration du groupe de machines du serveur cible, choisissez l'opération appropriée :

      • Si LoongCollector est déjà installé et ajouté à un groupe de machines, sélectionnez ce groupe dans Source Machine Group et déplacez-le vers Applied Server Groups.

      • Si LoongCollector n'est pas installé, cliquez sur Create Machine Group :

        Suivez ces étapes pour installer automatiquement LoongCollector et créer un groupe de machines.
        1. Le système liste les instances ECS situées dans la même région que le projet. Sélectionnez les instances dont vous souhaitez collecter les journaux.

        2. Cliquez sur Install and Create Machine Group. Le système installe automatiquement LoongCollector sur les instances ECS sélectionnées.

        3. Configurez le Name du groupe de machines et cliquez sur OK.

        Remarque

        Si l'installation échoue ou reste en attente, vérifiez que la région de l'ECS correspond bien à celle du projet.

      • Pour ajouter un serveur où LoongCollector est déjà installé à un groupe de machines existant, consultez la FAQ Comment ajouter un serveur à un groupe de machines existant ?

  4. Vérifier l'état du heartbeat : Cliquez sur Next. La section Machine Group Heartbeat s'affiche. Vérifiez le statut Heartbeat. S'il indique OK, la connexion au groupe de machines fonctionne normalement. Cliquez sur Next pour accéder à la page de configuration Logtail.

    Si le statut est FAIL, patientez environ deux minutes puis actualisez la page. Si l'état reste FAIL, consultez Le heartbeat du groupe de machines est FAIL pour poursuivre le dépannage.
  5. Étape 2 : Créer et configurer des règles de collecte de journaux

    Après avoir terminé l'installation de LoongCollector et la configuration du groupe de machines, rendez-vous sur la page Logtail Configuration pour définir les règles de collecte et de traitement.

    1. Configurations globales et d'entrée

    Définissez le nom de la configuration de collecte ainsi que la source et la portée de la collecte des journaux.

    Global Configurations :

    • Configuration Name : Nom personnalisé pour la configuration de collecte. Ce nom doit être unique au sein du projet et ne peut pas être modifié après sa création. Conventions de nommage :

      • Peut contenir uniquement des lettres minuscules, des chiffres, des tirets (-) et des traits de soulignement (_).

      • Doit commencer et se terminer par une lettre minuscule ou un chiffre.

    Input Configurations :

    • Type : Text Log Collection.

    • File Path : Chemin de collecte des journaux.

      • Linux : Le chemin doit commencer par une barre oblique (/). Par exemple, /data/mylogs/**/*.log désigne tous les fichiers portant l'extension .log dans le répertoire /data/mylogs et ses sous-répertoires.

      • Windows : Le chemin doit commencer par une lettre de lecteur. Par exemple, C:\Program Files\Intel\**\*.Log.

    • Maximum Directory Monitoring Depth : Profondeur maximale des répertoires correspondant au caractère générique ** dans le File Path. La valeur par défaut est 0, ce qui signifie que seul le répertoire courant est surveillé.

    2. Traitement et structuration des journaux

    Configurez des règles de traitement pour structurer les journaux bruts en paires clé-valeur interrogeables. Commencez par ajouter un échantillon de journal :

    Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Sample Log et saisissez un exemple de journal. Le système identifie le format et génère automatiquement les règles d'analyse.

    Cas d'utilisation 1 : Traiter les journaux multilignes (tels que les journaux de pile Java)

    Certains journaux, comme les piles d'exceptions Java, s'étendent sur plusieurs lignes. Sans le mode multiligne, ils sont découpés en enregistrements incomplets. Activez le mode multiligne et définissez une Regex to Match First Line afin de fusionner les lignes consécutives en un seul journal.

    Exemple :

    Journal brut sans aucun traitement

    En mode de collecte par défaut, chaque ligne constitue un journal distinct, ce qui rompt la trace de la pile et perd le contexte

    Avec le mode multiligne activé, une Regex to Match First Line identifie le journal complet et préserve toute sa structure sémantique.

    image

    image

    image

    Procédure : Dans la section Processor Configurations de la page Logtail Configuration, activez Multi-line Mode :

    • Pour le Type, sélectionnez Custom ou Multi-line JSON.

      • Custom : Pour les journaux bruts au format variable, configurez une Regex to Match First Line afin d'identifier la ligne de départ de chaque journal.

        • Regex to Match First Line : Générez automatiquement ou saisissez manuellement une expression régulière correspondant à une ligne de données complète. Par exemple, l'expression régulière pour l'exemple précédent est \[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*.

          • Génération automatique : Cliquez sur Generate. Ensuite, dans la zone de texte Log Sample, sélectionnez le contenu du journal à extraire et cliquez sur Automatically Generate.

          • Saisie manuelle : Cliquez sur Manually Enter Regular Expression. Après avoir saisi l'expression, cliquez sur Validate.

      • Multi-line JSON : SLS gère automatiquement les retours à la ligne au sein d'un journal brut unique si celui-ci respecte le format JSON standard.

        • Processing Method If Splitting Fails :

          • Discard : Supprime un segment de texte s'il ne correspond pas à la règle de début de ligne.

          • Retain Single Line : Conserve le texte non correspondant sur des lignes séparées.

        Cas d'utilisation 2 : Journaux structurés

        Les journaux bruts dans des formats non structurés (comme les journaux d'accès NGINX) sont difficiles à interroger directement. Les plugins d'analyse SLS les convertissent en paires clé-valeur structurées pour faciliter l'analyse et les alertes.

        Exemple :

        Journal brut

        Journal structuré

        192.168.*.* - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.*.* Safari/537.36"
        body_bytes_sent: 368
            http_referer: -
            http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.x.x Safari/537.36
            remote_addr:192.168.*.*
            remote_user: -
            request_length: 514
            request_method: GET
            request_time: 0.000
            request_uri: /nginx-logo.png
            status: 200
            time_local: 15/Apr/2025:16:40:00

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration

        1. Ajouter un plugin d'analyse : Cliquez sur Add Processor et configurez un plugin tel que l'analyse par expression régulière, par séparateur ou JSON selon le format réel. Cet exemple utilise la collecte de journaux NGINX et sélectionne Native Processor > Data Parsing (NGINX Mode).

        2. NGINX Log Configuration : Copiez la définition log_format depuis le fichier de configuration du serveur NGINX (nginx.conf) et collez-la dans cette zone de texte.

          Exemple :

          log_format main  '$remote_addr - $remote_user [$time_local] "$request" ''$request_time $request_length ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';
          Important

          La définition du format spécifiée ici doit être strictement identique à celle qui génère les journaux sur le serveur. Sinon, l'analyse des journaux échouera.

        3. Description des paramètres de configuration courants : Les paramètres suivants apparaissent dans plusieurs plugins d'analyse de données et partagent la même fonction et le même usage.

          • Original Field : Champ source à analyser. Valeur par défaut : content (l'intégralité de l'entrée de journal collectée).

          • Retain Original Field if Parsing Fails : Préserve le contenu original du journal lorsque l'analyse échoue (par exemple, en raison d'une incompatibilité de format).

          • Retain Original Field if Parsing Succeeds : Conserve le contenu original du journal même après une analyse réussie.

        3. Filtrage des journaux

        Les journaux à faible valeur (DEBUG, INFO) gaspillent de l'espace de stockage, augmentent les coûts, réduisent l'efficacité des requêtes et risquent d'exposer des données. Utilisez le filtrage pour ne collecter que les journaux pertinents.

        Réduire les coûts grâce au filtrage de contenu

        Filtrez les champs en fonction du contenu des journaux, par exemple pour ne collecter que les journaux dont le niveau est WARNING ou ERROR.

        Exemple :

        Journal brut sans aucun traitement

        Collecter uniquement les journaux WARNING ou ERROR

        {"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}
        {"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}
        {"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}
        {"level":"WARNING","timestamp":"2025-09-23T19:11:40+0800","cluster":"yilu-cluster-0728","message":"Disk space is running low","freeSpace":"15%"}
            {"level":"ERROR","timestamp":"2025-09-23T19:11:42+0800","cluster":"yilu-cluster-0728","message":"Failed to connect to database","errorCode":5003}

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration

        Cliquez sur Add Processor et sélectionnez Native Processor > Data Filtering :

        • Field Name : Champ du journal à utiliser pour le filtrage.

        • Field Value : Expression régulière utilisée pour le filtrage. Seules les correspondances exactes sont prises en charge, pas les correspondances partielles de mots-clés.

        Contrôler la portée de la collecte avec une liste de blocage

        Utilisez une liste de blocage pour exclure des répertoires ou fichiers spécifiques, empêchant ainsi le téléchargement de journaux non pertinents ou sensibles.

        Procédure : Dans la section Input Configurations > Other Input Configurations de la page Logtail Configuration, activez Collection Blacklist et cliquez sur Add.

        Prend en charge la correspondance exacte et par caractères génériques pour les répertoires et les noms de fichiers. Les seuls caractères génériques autorisés sont l'astérisque (*) et le point d'interrogation (?).
        • File Path Blacklist : Spécifie les chemins de fichiers à exclure. Exemples :

          • /home/admin/private*.log : Ignore tous les fichiers du répertoire /home/admin/ commençant par private et se terminant par .log.

          • /home/admin/private*/*_inner.log : Ignore les fichiers se terminant par _inner.log situés dans des répertoires commençant par private sous le répertoire /home/admin/.

        • File Blacklist : Liste de noms de fichiers à ignorer lors de la collecte. Exemple :

          • app_inner.log : Ignore tous les fichiers nommés app_inner.log pendant la collecte.

        • Directory Blacklist : Les chemins de répertoire ne doivent pas se terminer par une barre oblique (/). Exemples :

          • /home/admin/dir1/ : La liste de blocage de répertoires ne prendra pas effet.

          • /home/admin/dir* : Ignore les fichiers de tous les sous-répertoires commençant par dir sous le répertoire /home/admin/ lors de la collecte.

          • /home/admin/*/dir : Ignore tous les fichiers situés dans des sous-répertoires nommés dir au deuxième niveau du répertoire /home/admin/. Par exemple, les fichiers du répertoire /home/admin/a/dir sont ignorés, mais ceux du répertoire /home/admin/a/b/dir sont collectés.

        4. Catégorisation des journaux

        Lorsque des journaux provenant de plusieurs applications ou instances partagent le même format mais ont des chemins différents (par exemple, /apps/app-A/run.log et /apps/app-B/run.log), les sujets permettent de distinguer leurs sources pour des requêtes précises au sein d'un même logstore.

        Procédure : Global Configurations > Other Global Configurations > Log Topic Type : Sélectionnez une méthode de génération des sujets. Trois types sont pris en charge :

        • Machine Group Topic : Lorsqu'une configuration de collecte s'applique à plusieurs groupes de machines, LoongCollector utilise le nom du groupe de machines du serveur comme champ __topic__. Adapté pour diviser les journaux par hôte.

        • Custom : Utilise le format customized://<custom_topic_name>, tel que customized://app-login. Ce format convient aux cas d'utilisation de sujets statiques avec des identifiants métier fixes.

        • File Path Extraction : Extrayez des informations clés du chemin du fichier journal pour marquer dynamiquement la source du journal. Cette option est utile lorsque plusieurs utilisateurs ou applications partagent le même nom de fichier journal mais diffèrent par leur chemin :

          /data/logs
          ├── userA
          │   └── serviceA
          │       └── service.log
          ├── userB
          │   └── serviceA
          │       └── service.log
          └── userC
              └── serviceA
                  └── service.log

          Configurez File Path Extraction et utilisez une expression régulière pour extraire des informations clés du chemin complet. Le résultat correspondant est ensuite téléchargé dans le logstore en tant que sujet.

          Règle d'extraction du chemin de fichier : Basée sur les groupes de capture d'expressions régulières

          Lorsque vous configurez une expression régulière, le système détermine automatiquement le format du champ de sortie en fonction du nombre et du nommage des groupes de capture. Les règles sont les suivantes :

          Dans l'expression régulière d'un chemin de fichier, vous devez échapper la barre oblique (/).

          Type de groupe de capture

          Cas d'utilisation

          Champ généré

          Exemple d'expression régulière

          Exemple de chemin correspondant

          Exemple de champ généré

          Groupe de capture unique (un seul (.*?))

          Une seule dimension suffit pour distinguer la source (comme le nom d'utilisateur ou l'environnement)

          Génère le champ __topic__

          \/logs\/(.*?)\/app\.log

          /logs/userA/app.log

          __topic__: userA

          Groupes de capture multiples - non nommés (plusieurs (.*?))

          Plusieurs dimensions sont nécessaires pour distinguer la source, mais aucune balise sémantique n'est requise

          Génère un champ de tag __tag__:__topic_{i}__, où {i} est le numéro ordinal du groupe de capture

          \/logs\/(.*?)\/(.*?)\/app\.log

          /logs/userA/svcA/app.log

          __tag__:__topic_1__userA

          __tag__:__topic_2__svcA

          Groupes de capture multiples - nommés (utilisant (?P<name>.*?))

          Plusieurs dimensions sont nécessaires pour distinguer la source, et la signification des champs doit être claire pour faciliter les requêtes et l'analyse

          Génère un champ de tag __tag__:{name}

          \/logs\/(?P<user>.*?)\/(?P<service>.*?)\/app\.log

          /logs/userA/svcA/app.log

          __tag__:user:userA ;

          __tag__:service:svcA

        5. Configuration de la sortie

        Par défaut, tous les journaux sont envoyés au Logstore actuel avec une compression lz4. Pour envoyer des journaux provenant de la même source vers différents Logstores :

        Distribution dynamique vers plusieurs cibles

        Important
        • L'envoi de journaux vers plusieurs cibles est disponible uniquement pour LoongCollector 3.0.0 et versions ultérieures. Cette fonctionnalité n'est pas prise en charge par Logtail.

        • Vous pouvez configurer jusqu'à cinq cibles de sortie.

        • Une fois plusieurs cibles de sortie configurées, la configuration de collecte n'apparaît plus dans la liste des configurations de collecte du Logstore actuel. Pour consulter, modifier ou supprimer la configuration de distribution multi-cibles, reportez-vous à Comment gérer les configurations de distribution multi-cibles ?

        Procédure : Dans la section Output Configurations de la page Logtail Configuration

        1. Cliquez sur image pour développer la configuration de sortie.

        2. Cliquez sur Add Output Targets et configurez les paramètres suivants :

          • Logstore : Sélectionnez le Logstore cible.

          • Compression Method : Sélectionnez lz4 ou zstd.

          • Route Settings : Achemine les journaux en fonction des champs de tag. Les journaux correspondant aux règles d'acheminement sont envoyés au Logstore cible. Si cette configuration est vide, tous les journaux collectés sont envoyés au Logstore cible.

            • Tag Name : Nom du champ de tag utilisé pour l'acheminement. Saisissez directement le nom du champ, par exemple __path__, sans le préfixe __tag__:. Les champs de tag se divisent en deux catégories :

              Pour plus d'informations sur les tags, consultez Gérer les tags de collecte LoongCollector .
              • Liés à l'agent : Ces tags concernent l'agent de collecte et sont indépendants des plugins. Citons par exemple __hostname__ et __user_defined_id__.

              • Liés au plugin d'entrée : Ces tags dépendent du plugin d'entrée, qui ajoute et enrichit le journal avec des informations pertinentes. Citons par exemple __path__ pour la collecte de fichiers, ainsi que _pod_name_ et _container_name_ pour la collecte Kubernetes.

            • Tag Value : Si la valeur du tag d'un journal correspond à cette valeur, le journal est envoyé à ce Logstore cible.

            • Discard this tag? : Si vous activez cette option, ce champ de tag est supprimé des journaux téléchargés.

        Étape 3 : Configuration de la requête et de l'analyse

        Après avoir configuré le traitement des journaux et les plugins, cliquez sur Next pour accéder à la page Query and Analysis Configurations :

        • L'option Créer des index — Instructions de modification est activée par défaut, ce qui permet d'effectuer des recherches par mots-clés sur le contenu brut des journaux.

        • Pour des requêtes précises par champ, attendez le chargement des Preview Data, puis cliquez sur Automatic Index Generation. SLS génère un index de champ basé sur la première entrée des données d'aperçu.

        Une fois la configuration terminée, cliquez sur Next pour finaliser l'ensemble du processus de collecte.

        Étape 4 : Vérification et dépannage

        Après avoir enregistré la configuration et l'avoir appliquée au groupe de machines, vérifiez la collecte des journaux à l'aide de la liste de contrôle suivante.

        Liste de vérification

        1. Confirmez que le fichier journal contient de nouvelles données : LoongCollector collecte uniquement les journaux incrémentiels. Exécutez tail -f /path/to/your/log/file et déclenchez une opération métier pour vous assurer que de nouveaux journaux sont bien écrits.

        2. Vérifiez l'état de LoongCollector : sudo /etc/init.d/loongcollectord status.

        3. Vérifiez le heartbeat du groupe de machines : Accédez à la page image Resources > Machine Groups. Cliquez sur le nom du groupe de machines cible. Dans la section Machine Group Configurations > Machine Group Status, vérifiez l'état du Heartbeat.

        4. Interrogez les journaux : Accédez à la page de requête et d'analyse du Logstore cible. Cliquez sur Search & Analyze (la plage horaire par défaut correspond aux 15 dernières minutes) et vérifiez si de nouveaux journaux arrivent.

        Dépannage des problèmes courants

        Le heartbeat du groupe de machines est FAIL

        1. Vérifiez l'ID utilisateur : Si votre serveur n'est pas une instance ECS, ou si l'instance ECS et le projet appartiennent à des comptes Alibaba Cloud différents, vérifiez si l'ID utilisateur correct existe dans le répertoire spécifié. Dans le cas contraire, exécutez la commande suivante pour le créer manuellement.

          • Linux : Exécutez la commande cd /etc/ilogtail/users/ && touch <uid> pour créer le fichier d'ID utilisateur.

          • Windows : Accédez au répertoire C:\LogtailData\users\ et créez un fichier vide nommé <uid>.

        2. Vérifiez l'ID du groupe de machines : Si vous avez utilisé un ID personnalisé lors de la création du groupe de machines, vérifiez si le fichier user_defined_id existe dans le répertoire spécifié. S'il existe, assurez-vous que son contenu correspond à l'ID personnalisé configuré pour le groupe de machines.

          • Linux :

            # Configure a custom ID. If the directory does not exist, create it manually.
            echo "user-defined-1" > /etc/ilogtail/user_defined_id
          • Windows : Dans le répertoire C:\LogtailData, créez un nouveau fichier nommé user_defined_id et inscrivez-y l'ID personnalisé. (Si le répertoire n'existe pas, créez-le manuellement.)

        3. Si l'ID utilisateur et l'ID du groupe de machines sont tous deux configurés correctement, consultez Dépannage des problèmes de groupe de machines LoongCollector (Logtail) pour poursuivre l'investigation.

        Aucune donnée n'est collectée

        1. Vérifiez la présence de journaux incrémentiels : LoongCollector (Logtail) collecte uniquement les journaux incrémentiels. Si aucune nouvelle entrée n'est ajoutée au fichier cible, aucune donnée ne sera collectée.

        2. Vérifiez l'état du heartbeat du groupe de machines : Accédez à la page image Resources > Machine Groups. Cliquez sur le nom du groupe de machines cible. Dans la section Machine Group Configurations > Machine Group Status, vérifiez l'état du Heartbeat.

        3. Confirmez que la configuration de collecte est appliquée au groupe de machines : Une configuration de collecte non appliquée à un groupe de machines ne peut pas collecter de journaux.

          1. Accédez à la page image Resources > Machine Groups, cliquez sur le nom du groupe de machines cible, puis accédez à la page Machine Group Configurations.

          2. Sur cette page, consultez la section Manage Configuration. La partie gauche affiche All Logtail Configurations, tandis que la partie droite affiche Applied Logtail Configs. Si la configuration de collecte LoongCollector (Logtail) cible a été déplacée vers la zone appliquée sur la droite, cela signifie qu'elle a été appliquée avec succès au groupe de machines cible.

          3. Si la configuration de collecte LoongCollector (Logtail) cible n'a pas été déplacée vers la zone appliquée sur la droite, cliquez sur Modify. Dans la liste All Logtail Configurations située à gauche, sélectionnez le nom de la configuration LoongCollector (Logtail) cible, cliquez sur image pour la déplacer vers la zone appliquée sur la droite, puis cliquez sur Save.

        Erreurs de collecte ou de format des journaux

        Le réseau et la configuration de base sont normaux. Le problème provient probablement d'une inadéquation entre le contenu des journaux et les règles d'analyse :

        1. Sur la page Logtail Configuration, cliquez sur le nom de la configuration LoongCollector (Logtail) présentant une erreur de collecte. Sous l'onglet Log Collection Error, cliquez sur Select Time Range pour définir la période de requête.

        2. Dans la section Collection Exception Monitoring > Complete Error Information, consultez la métrique d'alarme du journal d'erreur et trouvez la solution correspondante dans Erreurs courantes lors de la collecte de données.

        Limites

        Élément

        Limites

        Longueur d'un seul journal

        La limite par défaut est de 512 Ko. Vous pouvez l'ajuster à l'aide du paramètre de démarrage max_read_buffer_size, jusqu'à un maximum de 8 Mo. Pour plus d'informations, consultez Types de réseau Logtail, paramètres de démarrage et configuration.

        Lorsqu'un journal multiligne est divisé par l'expression régulière de correspondance de première ligne, la limite de taille pour chaque journal reste de 512 Ko. Si un journal dépasse 512 Ko, il est forcé à être scindé en plusieurs entrées pour la collecte. Par exemple, si un journal unique fait 1 025 Ko, les premiers 512 Ko sont traités, puis les 512 Ko suivants, et enfin le 1 Ko restant. Le résultat final consiste en plusieurs entrées de journal incomplètes.

        Encodage des fichiers

        Prend en charge les fichiers journaux encodés en UTF-8 ou GBK. Privilégiez l'UTF-8 pour de meilleures performances de traitement.

        Avertissement

        Si le fichier journal utilise un autre format d'encodage, des problèmes tels que des caractères illisibles et des pertes de données peuvent survenir.

        Rotation des fichiers journaux

        La taille par défaut de la file d'attente de rotation des journaux est de 20. Vous pouvez l'ajuster à l'aide du paramètre de démarrage logreader_max_rotate_queue_size. Pour plus d'informations, consultez Types de réseau Logtail, paramètres de démarrage et configuration.

        Définissez le chemin de collecte au format xxx.log ou xxx.log*.

        Important

        Ne mélangez pas ces deux formats dans la même instance Logtail. Sinon, le même fichier pourrait correspondre à plusieurs configurations de collecte Logtail, entraînant une duplication de la collecte.

        Si plus de 20 fichiers n'ont pas encore été traités, les journaux nouvellement générés seront perdus. Dans ce cas, vérifiez d'abord si le quota d'écriture du shard du Logstore est dépassé et ajustez le niveau de concurrence de Logtail. Pour plus d'informations, consultez Types de réseau Logtail, paramètres de démarrage et configuration.

        Comportement de collecte lorsque l'analyse des journaux est bloquée

        Lorsque l'analyse des journaux est bloquée, Logtail maintient le descripteur de fichier journal ouvert pour empêcher la suppression du fichier, ce qui entraînerait une perte de données.

        Si plusieurs rotations de fichiers journaux se produisent pendant que l'analyse est bloquée, Logtail place les fichiers dans la file d'attente de rotation.

        Expression régulière

        Prend en charge les expressions régulières compatibles Perl (PCRE).

        JSON

        Prend entièrement en charge le JSON standard (RFC7159, ECMA-404). Le JSON non standard, tel que {"name": "\xE5\xAD\xA6"}, n'est pas pris en charge.

        Comportement d'ouverture des fichiers

        Logtail maintient ouverts le fichier collecté et les fichiers présents dans la file d'attente de rotation afin de garantir l'intégrité des données. Le fichier est fermé dans les situations suivantes :

        • Le fichier n'a pas été modifié depuis plus de 5 minutes.

        • Une rotation a eu lieu et la collecte est terminée.

        • La configuration de collecte Logtail a changé.

        Pour libérer le handle de fichier dans un délai défini après sa suppression, configurez le paramètre de démarrage force_release_deleted_file_fd_timeout. Pour plus d'informations, consultez Types de réseau Logtail, paramètres de démarrage et configuration.

        Comportement initial de collecte des journaux

        Logtail collecte uniquement les journaux incrémentiels. Lorsqu'un fichier est détecté comme modifié pour la première fois, s'il dépasse 1 Mo (512 Ko pour la sortie standard des conteneurs), la collecte commence à partir du dernier 1 Mo. Sinon, elle débute depuis le début du fichier.

        Ajustez la taille de collecte initiale pour les nouveaux fichiers à l'aide du paramètre tail_size_kb dans la configuration de collecte Logtail. Pour plus d'informations, consultez Configuration Logtail (héritée).

        Si le fichier journal n'est pas modifié après l'application de la configuration de collecte Logtail, Logtail ne collecte pas ce fichier. Pour collecter des fichiers historiques, consultez Importer des fichiers journaux historiques.

        Comportement lorsqu'un fichier est écrasé

        Logtail identifie les fichiers à l'aide de l'inode et d'un hachage des 1 024 premiers octets. Si un fichier est écrasé et que l'une de ces valeurs change, il est considéré comme un nouveau fichier et collecté depuis le début. Sinon, il est ignoré.

        Comportement lorsqu'un fichier est déplacé

        Après le déplacement d'un fichier, s'il correspond à une configuration Logtail qui n'avait jamais correspondu à ce fichier auparavant, il est traité comme un nouveau fichier et collecté depuis le début. Sinon, il est ignoré.

        Historique de collecte des fichiers

        Logtail conserve l'historique de collecte des fichiers en mémoire afin de garantir que seules les données incrémentielles sont collectées. Si une écriture cible un journal en dehors de la plage de rétention, une duplication de la collecte peut se produire.

        • Par défaut, les fichiers historiques du dernier mois sont conservés.

        • S'il y a plus de 5 000 fichiers historiques dans le même répertoire, seuls les enregistrements de la dernière semaine sont conservés.

        • S'il y a plus de 10 000 fichiers historiques dans le même répertoire, seuls les enregistrements du dernier jour sont conservés.

        Journaux texte non standard

        Pour les lignes de journaux contenant \0, les versions postérieures à 2.1.10 et 3.0.12 conservent uniquement le \0 situé au milieu du journal. Les parties préfixe et suffixe \0 sont supprimées. D'autres versions peuvent tronquer au premier \0 ou le conserver intégralement. Mettez à niveau vers la version la plus récente pour éviter ce problème. Pour les autres caractères d'échappement (tels que les couleurs ASCII) ou les caractères invisibles, Logtail les signale tels quels.

        Facturation

        • L'installation de LoongCollector ou de Logtail est gratuite.

        • L'ingestion, le stockage, l'indexation, les requêtes, la transformation et l'expédition des journaux sont facturés selon le mode de facturation du Logstore.

        • Si vous activez Global Accelerator lors de l'installation ou de la configuration, des frais de trafic supplémentaires s'appliquent aux données transmises via le réseau accéléré.

        FAQ

        Comment gérer les configurations de distribution multi-cibles ?

        Les configurations de distribution multi-cibles sont associées à plusieurs Logstores. Gérez-les depuis la page au niveau du projet :

        1. Connectez-vous à la console Simple Log Service et cliquez sur le nom du projet cible.

        2. Sur la page du projet, choisissez image Resources > Configurations dans le volet de navigation de gauche.

          Remarque

          Cette page offre une gestion centralisée de toutes les configurations de collecte du projet, y compris celles subsistant après la suppression d'un Logstore.

        Comment envoyer des journaux d'un serveur ECS vers un projet appartenant à un autre compte Alibaba Cloud ?

        Si vous n'avez pas installé LoongCollector, consultez Installer LoongCollector et sélectionnez le cas d'utilisation inter-comptes approprié pour l'installation.

        Si LoongCollector est déjà installé, configurez un ID utilisateur pour autoriser le propriétaire du projet SLS à accéder aux journaux de ce serveur et à les collecter.

        Configurez un ID utilisateur uniquement lors de la collecte de journaux provenant d'instances ECS hors compte, de serveurs sur site ou de serveurs cloud tiers.
        1. Copiez l'ID du compte Alibaba Cloud propriétaire de SLS : Passez votre souris sur la photo de profil dans le coin supérieur droit. Consultez et copiez l'ID du compte depuis l'onglet qui apparaît.

        2. Connectez-vous au serveur depuis lequel vous souhaitez collecter des journaux et créez un fichier d'ID de compte Alibaba Cloud pour configurer l'ID utilisateur :

          touch /etc/ilogtail/users/{Alibaba_Cloud_account_ID} # If the /etc/ilogtail/users directory does not exist, create it manually. The user ID configuration file only needs a filename, not a file extension.

        Comment envoyer des journaux d'un serveur ECS vers un projet situé dans le même compte mais dans une région différente ?

        Si vous n'avez pas installé LoongCollector, consultez Installer LoongCollector et sélectionnez le cas d'utilisation inter-régions approprié pour l'installation.

        Si LoongCollector est déjà installé, modifiez sa configuration.

        1. Exécutez la commande sudo /etc/init.d/ilogtaild stop pour arrêter LoongCollector.

        2. Modifiez le fichier de configuration de démarrage de LoongCollector ilogtail_config.json. Choisissez l'une des deux méthodes suivantes en fonction de vos besoins réseau :

          Chemin du fichier de configuration : /usr/local/ilogtail/ilogtail_config.json

          • Méthode 1 : Utiliser Internet pour la transmission

            Consultez RegionID et remplacez la région dans le fichier de configuration par la région où se trouve SLS. Les champs à modifier incluent les éléments suivants :

            • primary_region

            • La partie région dans config_servers

            • Le champ region et la partie région de endpoint_list dans data_servers

          • Méthode 2 : Utiliser l'accélération de transfert

            Remplacez la ligne d'endpoint dans le paramètre data_server_list par log-global.aliyuncs.com. Pour le chemin du fichier, consultez Types de réseau Logtail, paramètres de démarrage et configuration.

          Exemple de fichier de configuration

          $cat 
          {
              "primary_region" : "cn-shanghai",
              "config_servers" :
              [
                  "http://logtail.cn-shanghai.log.aliyuncs.com"
              ],
              "data_servers" :
              [
                  {
                      "region" : "cn-shanghai",
                      "endpoint_list": [
                          "cn-shanghai.log.aliyuncs.com"
                      ]
                  }
              ],
              "cpu_usage_limit" : 0.4,
              "mem_usage_limit" : 384,
              "max_bytes_per_sec" : 20971520,
              "bytes_per_sec" : 1048576,
              "buffer_file_num" : 25,
              "buffer_file_size" : 20971520,
              "buffer_map_num" : 5
          }
        1. Exécutez la commande sudo /etc/init.d/ilogtaild start pour démarrer LoongCollector.

        Comment ajouter un serveur à un groupe de machines existant ?

        Pour ajouter un nouveau serveur (tel qu'une nouvelle instance ECS ou un serveur sur site) à un groupe de machines existant afin qu'il hérite de la configuration de collecte, suivez ces étapes.

        Prérequis :

        Procédure :

        1. Consultez l'ID du groupe de machines cible :

          1. Sur la page du projet cible, cliquez sur imageResources > Machine Groups dans le volet de navigation de gauche.

          2. Sur la page Machine Groups, cliquez sur le nom du groupe de machines cible.

          3. Sur la page de configuration du groupe de machines, consultez l'ID du groupe de machines.

        2. Effectuez l'opération correspondante selon le type d'ID :

          Remarque

          Un même groupe de machines ne peut pas contenir à la fois des serveurs Linux et Windows. Ne configurez pas le même ID personnalisé sur des serveurs Linux et Windows. Un serveur peut être configuré avec plusieurs ID personnalisés, séparés par des sauts de ligne.

          • Type 1 : L'ID du groupe de machines est une adresse IP

            1. Sur le serveur, exécutez la commande suivante pour ouvrir le fichier app_info.json et consulter la valeur ip.

              cat /usr/local/ilogtail/app_info.json
            2. Sur la page de configuration du groupe de machines cible, cliquez sur Modify et saisissez l'adresse IP du serveur. Séparez plusieurs adresses IP par des sauts de ligne.

            3. Une fois la configuration terminée, cliquez sur Save et confirmez l'état du heartbeat. Lorsque le heartbeat est OK, le serveur applique automatiquement la configuration de collecte du groupe de machines.

              Si l'état du heartbeat est FAIL, consultez la FAQ Le heartbeat du groupe de machines est FAIL pour poursuivre le dépannage.
          • Type 2 : L'ID du groupe de machines est un ID personnalisé

            Selon le système d'exploitation, inscrivez la chaîne d'ID personnalisé correspondant au groupe de machines cible dans le fichier spécifié :

            Si le répertoire n'existe pas, vous devez le créer manuellement. Le chemin et le nom du fichier sont fixés par SLS et ne peuvent pas être personnalisés.
            • Linux : Inscrivez la chaîne personnalisée dans le fichier /etc/ilogtail/user_defined_id.

            • Windows : Inscrivez la chaîne personnalisée dans C:\LogtailData\user_defined_id.

        Comment importer une configuration de collecte depuis un autre projet ?

        Après avoir terminé les Préparatifs et la Configuration du groupe de machines, importez une configuration de collecte depuis un projet existant vers le Logstore actuel pour éviter les configurations répétitives.

        Procédure :

        1. Une fois la configuration du groupe de machines terminée, cliquez sur Next pour accéder à la page Logtail Configuration.

        2. Cliquez sur Import Other Configuration dans le coin supérieur droit de la page.

        3. Sélectionnez le projet source ainsi que la configuration de collecte sous ce projet.

        4. Cliquez sur OK. Le système charge automatiquement la configuration sélectionnée.

        5. Après avoir vérifié que les informations de configuration importées sont correctes, cliquez sur Next pour accéder à la page Configuration de la requête et de l'analyse et terminez la configuration ultérieure.

        Comment obtenir l'adresse IP d'un serveur pour l'utiliser comme ID de groupe de machines ?

        Sur un serveur où LoongCollector (Logtail) est installé, ouvrez le fichier /usr/local/ilogtail/app_info.json et consultez la valeur ip.

        L'adresse IP du serveur obtenue automatiquement par Logtail est enregistrée dans le champ ip du fichier app_info.json, comme illustré ci-dessous.IP address

        Important
        • S'il y a plusieurs serveurs, saisissez manuellement leurs adresses IP correspondantes. Les adresses IP doivent être séparées par des sauts de ligne.

        • Un même groupe de machines ne peut pas contenir à la fois des serveurs Linux et Windows. N'ajoutez pas les adresses IP de serveurs Windows et Linux au même groupe de machines.

        Comment le même fichier journal peut-il être collecté par plusieurs configurations de collecte simultanément ?

        Par défaut, chaque fichier journal texte ne peut correspondre qu'à une seule configuration Logtail. Pour permettre à plusieurs configurations de collecter le même fichier, activez la multi-collecte.

        Procédure :

        Important

        Lorsque vous collectez plusieurs copies, les E/S de lecture de fichier, les ressources de calcul et les E/S réseau augmentent de manière linéaire.

        1. Connectez-vous à la console Simple Log Service et accédez au projet cible.

        2. Dans le volet de navigation de gauche, choisissez image Logstores et trouvez le Logstore cible.

        3. Cliquez sur l'icône image devant son nom pour développer le Logstore.

        4. Cliquez sur Logtail Configuration. Dans la liste des configurations, trouvez la configuration Logtail cible et cliquez sur Manage Logtail Configuration dans la colonne Actions.

        5. Sur la page de configuration Logtail, cliquez sur Edit :

          • Dans Input Configurations > Other Input Configurations, activez Allow File to Be Collected for Multiple Times.

        6. Une fois la configuration terminée, cliquez sur Save.

        Pourquoi la dernière entrée de journal est-elle signalée avec un long retard ? Pourquoi est-elle parfois tronquée ?

        Cause : Ce phénomène survient généralement lorsqu'un fichier journal ne comporte pas de saut de ligne final, ou lorsqu'un journal multiligne (comme une pile d'exceptions) n'a pas été entièrement écrit. L'agent ne peut pas déterminer si le journal est terminé, ce qui peut entraîner un découpage prématuré ou un retard du dernier contenu. Les différentes versions de LoongCollector (Logtail) gèrent cette situation de manière distincte :

        • Versions antérieures à 1,8 : Si la dernière ligne d'un journal ne possède pas de saut de ligne (retour chariot), ou si un paragraphe de journal multiligne n'est pas terminé, l'agent attend la prochaine écriture pour déclencher une sortie. Cela peut retenir la dernière entrée de journal pendant une longue période sans qu'elle soit envoyée, jusqu'à l'écriture d'un nouveau journal.

        • Version 1,8 et ultérieures : Un mécanisme d'actualisation par temporisation a été introduit pour éviter le blocage des journaux. Lorsqu'une ligne de journal incomplète est détectée, le système lance un minuteur. Une fois le délai écoulé, il soumet automatiquement le contenu actuel, garantissant ainsi la collecte finale du journal.

          • Temporisation par défaut : 60 secondes (pour garantir l'intégrité dans la plupart des cas d'utilisation).

          • Ajustez cette valeur selon vos besoins, mais ne la définissez pas sur 0, car cela risque de provoquer la troncature des journaux ou la perte partielle de contenu.

        Solution :

        Prolongez le temps d'attente afin de vous assurer que le journal complet est écrit avant sa collecte :

        1. Connectez-vous à la console Simple Log Service et accédez au projet cible.

        2. Dans le volet de navigation de gauche, choisissez image Logstores et recherchez le logstore cible.

        3. Cliquez sur l'icône image située devant son nom pour développer le logstore.

        4. Cliquez sur Logtail Configuration. Dans la liste des configurations, localisez la configuration Logtail cible et cliquez sur Manage Logtail Configuration dans la colonne Actions.

        5. Sur la page de configuration Logtail, cliquez sur Edit :

          • Dans Input Configurations > Other Input Configurations > Advanced Parameters, ajoutez la configuration JSON suivante pour personnaliser la temporisation :

            {
              "FlushTimeoutSecs": 1
            }
            • Valeur par défaut : Déterminée par le paramètre de démarrage default_reader_flush_timeout (généralement quelques secondes).

            • Unité : Secondes.

            • Valeur recommandée : ≥ 1 seconde. Ne la définissez pas sur 0, car cela risque de provoquer la troncature des journaux ou la perte partielle de contenu.

        6. Une fois la configuration terminée, cliquez sur Save.

        Pourquoi LoongCollector (Logtail) passe-t-il d'un endpoint interne à Internet en cours de fonctionnement ? Peut-il revenir automatiquement en arrière ?

        Si LoongCollector (Logtail) détecte un échec de communication avec l'endpoint interne de la même région (panne réseau ou délai de connexion dépassé), il bascule automatiquement vers l'endpoint public pour maintenir la continuité de la collecte des journaux.

        • LoongCollector : Revient automatiquement au réseau interne après son rétablissement.

        • Logtail : Ne revient pas automatiquement en arrière. Il doit être redémarré manuellement pour reprendre la communication via le réseau interne.

        Annexe : Détails des processeurs natifs

        Dans la section Processor Configurations de la page Logtail Configuration, ajoutez des processeurs pour structurer les journaux bruts. Pour ajouter un plugin de traitement à une configuration existante :

        1. Dans le volet de navigation de gauche, choisissez image Logstores et recherchez le logstore cible.

        2. Cliquez sur l'icône image située devant son nom pour développer le logstore.

        3. Cliquez sur Logtail Configuration. Dans la liste des configurations, localisez la configuration Logtail cible et cliquez sur Manage Logtail Configuration dans la colonne Actions.

        4. Sur la page de configuration Logtail, cliquez sur Edit.

        Cette section présente uniquement les plugins de traitement couramment utilisés, couvrant les cas d'usage classiques de traitement des journaux. Pour plus de fonctionnalités, consultez Processeurs étendus .
        Important

        Règles de combinaison des plugins (pour LoongCollector / Logtail 2.0 et ultérieurs) :

        • Les processeurs natifs et étendus peuvent être utilisés indépendamment ou combinés selon les besoins.

        • Privilégiez les processeurs natifs, car ils offrent de meilleures performances et une stabilité supérieure.

        • Lorsque les fonctionnalités natives ne suffisent pas à répondre à vos besoins métier, ajoutez des processeurs étendus après ceux natifs déjà configurés pour un traitement complémentaire.

        Contrainte d'ordre :

        Les plugins s'exécutent séquentiellement selon l'ordre configuré, formant ainsi une chaîne de traitement. Tous les processeurs natifs doivent précéder tout processeur étendu. Après l'ajout d'un processeur étendu, vous ne pouvez plus ajouter de processeurs natifs.

        Analyse par expression régulière

        Extrayez des champs de journal à l'aide d'une expression régulière et analysez le journal en paires clé-valeur. Chaque champ peut faire l'objet de requêtes et d'analyses indépendantes.

        Exemple :

        Journal brut sans aucun traitement

        Utilisation du plugin d'analyse par expression régulière

        127.0.0.1 - - [16/Aug/2024:14:37:52 +0800] "GET /wp-admin/admin-ajax.php?action=rest-nonce HTTP/1.1" 200 41 "http://www.example.com/wp-admin/post-new.php?post_type=page" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0"
        body_bytes_sent: 41
            http_referer: http://www.example.com/wp-admin/post-new.php?post_type=page
            http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; ×64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0
            remote_addr: 127.0.0.1
            remote_user: -
            request_method: GET
            request_protocol: HTTP/1.1
            request_uri: /wp-admin/admin-ajax.php?action=rest-nonce
            status: 200
            time_local: 16/Aug/2024:14:37:52 +0800

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Native Processor > Data Parsing (Regex Mode) :

        • Regular Expression : L'expression utilisée pour faire correspondre les journaux. Générez-la automatiquement ou saisissez-la manuellement :

          • Génération automatique :

            • Cliquez sur Generate.

            • Dans le champ Log Sample, sélectionnez le contenu du journal à extraire.

            • Cliquez sur Generate Regular Expression.

              image

          • Saisie manuelle : Cliquez sur Manually Enter Regular Expression et spécifiez l'expression en fonction du format du journal.

          Après la configuration, cliquez sur Validate pour vérifier si l'expression régulière analyse correctement le contenu du journal.

        • Extracted Field : Le nom du champ (clé) correspondant au contenu extrait du journal (valeur).

        • Pour les autres paramètres, consultez la description des paramètres de configuration courants dans Cas d'utilisation 2 : Journaux structurés.

        Analyse par séparateur

        Structurez le contenu du journal à l'aide d'un séparateur pour l'analyser en plusieurs paires clé-valeur. Les séparateurs à caractère unique et à caractères multiples sont tous deux pris en charge.

        Exemple :

        Journal brut sans aucun traitement

        Champs divisés par le caractère spécifié ,

        05/May/2025:13:30:28,10.10.*.*,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1",200,18204,aliyun-sdk-java
        ip:10.10.*.*
            request:POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1
            size:18204
            status:200
            time:05/May/2025:13:30:28
            user_agent:aliyun-sdk-java

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Native Processor > Data Parsing (Delimiter Mode) :

        • Delimiter : Spécifie le caractère utilisé pour diviser le contenu du journal.

          Exemple : Pour un fichier CSV, sélectionnez Custom et saisissez une virgule (,).

        • Quote : Si la valeur d'un champ contient le séparateur, vous devez placer cette valeur entre guillemets pour éviter un découpage incorrect.

        • Extracted Field : Spécifiez le nom du champ (clé) pour chaque colonne, dans leur ordre d'apparition. Les règles sont les suivantes :

          • Les noms de champs ne peuvent contenir que des lettres, des chiffres et des traits de soulignement (_).

          • Ils doivent commencer par une lettre ou un trait de soulignement (_).

          • Longueur maximale : 128 octets.

        • Pour les autres paramètres, consultez la description des paramètres de configuration courants dans Cas d'utilisation 2 : Journaux structurés.

        Analyse JSON standard

        Structurez un journal JSON de type objet en l'analysant sous forme de paires clé-valeur.

        Exemple :

        Journal brut sans aucun traitement

        Extraction automatique des paires clé-valeur JSON standard

        {"url": "POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek********&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1", "ip": "10.200.98.220", "user-agent": "aliyun-sdk-java", "request": {"status": "200", "latency": "18204"}, "time": "05/Jan/2025:13:30:28"}
        ip: 10.200.98.220
            request: {"status": "200", "latency" : "18204" }
            time: 05/Jan/2025:13:30:28
            url: POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0Ujpek******&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1
            user-agent:aliyun-sdk-java

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Native Processor > Data Parsing (JSON Mode) :

        • Original Field : Le champ contenant le journal brut à analyser. La valeur par défaut est content.

        • Pour les autres paramètres, consultez la description des paramètres de configuration courants dans Cas d'utilisation 2 : Journaux structurés.

        Analyse JSON imbriqué

        Analysez un journal JSON imbriqué en paires clé-valeur en spécifiant la profondeur de développement.

        Exemple :

        Journal brut sans aucun traitement

        Profondeur de développement : 0, en utilisant la profondeur de développement comme préfixe

        Profondeur de développement : 1, en utilisant la profondeur de développement comme préfixe

        {"s_key":{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}}
        0_s_key_k1_k2_k3_k41:41
            0_s_key_k1_k2_k3_k4_k51:51
            0_s_key_k1_k2_k3_k4_k52:52
        1_s_key:{"k1":{"k2":{"k3":{"k4":{"k51":"51","k52":"52"},"k41":"41"}}}}

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Extended Processor > Expand JSON Field :

        • Original Field : Spécifie le nom du champ source à développer, par exemple content.

        • JSON Expansion Depth : La profondeur de développement de l'objet JSON, où 0 (par défaut) indique un développement complet, 1 indique le développement du niveau actuel, et ainsi de suite.

        • Character to Concatenate Expanded Keys : Le séparateur pour les noms de champs lors du développement d'un objet JSON. La valeur par défaut est un trait de soulignement (_).

        • Name Prefix of Expanded Keys : Le préfixe pour les noms de champs après le développement JSON.

        • Expand Array : Développe un tableau en paires clé-valeur avec index.

          Exemple : {"k":["a","b"]} est développé en {"k[0]":"a","k[1]":"b"}.

          Pour renommer les champs développés (par exemple, de prefix_s_key_k1 à new_field_name), ajoutez ensuite un rename fields plugin pour effectuer le mappage.
        • Pour les autres paramètres, consultez la description des paramètres de configuration courants dans Cas d'utilisation 2 : Journaux structurés.

        Analyse de tableau JSON

        Utilisez la fonction json_extract pour extraire des objets JSON d'un tableau JSON.

        Exemple :

        Journal brut sans aucun traitement

        Extraction de la structure du tableau JSON

        [{"key1":"value1"},{"key2":"value2"}]
        json1:{"key1":"value1"}
            json2:{"key2":"value2"}

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, basculez le Processing Mode sur SPL, configurez l'instruction SPL, puis utilisez la fonction json_extract pour extraire des objets JSON du tableau JSON.

        Exemple : Extrayez des éléments du tableau JSON situé dans le champ de journal content et stockez les résultats dans de nouveaux champs json1 et json2.

        * | extend json1 = json_extract(content, '$[0]'), json2 = json_extract(content, '$[1]')

        Analyse des journaux Apache

        Structurez le contenu du journal en plusieurs paires clé-valeur selon la définition du fichier de configuration des journaux Apache.

        Exemple :

        Journal brut sans aucun traitement

        Analyse du format Common Log Format Apache combined

        1 192.168.1.10 - - [08/May/2024:15:30:28 +0800] "GET /index.html HTTP/1.1" 200 1234 "https://www.example.com/referrer" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36"
        http_referer:https://www.example.com/referrer
            http_user_agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.X.X Safari/537.36
            remote_addr:192.168.1.10
            remote_ident:-
            remote_user:-
            request_method:GET
            request_protocol:HTTP/1.1
            request_uri:/index.html
            response_size_bytes:1234
            status:200
            time_local:[08/May/2024:15:30:28 +0800]

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Native Processor > Data Parsing (Apache Mode) :

        • Le Log Format est combined.

        • La APACHE LogFormat Configuration est automatiquement renseignée en fonction du Log Format.

          Important

          Assurez-vous de vérifier le contenu rempli automatiquement pour confirmer qu'il correspond exactement au LogFormat défini dans le fichier de configuration Apache de votre serveur (généralement situé dans /etc/apache2/apache2.conf).

        • Pour les autres paramètres, consultez la description des paramètres de configuration courants dans Cas d'utilisation 2 : Journaux structurés.

        Analyse des journaux IIS

        Structurez le contenu du journal en plusieurs paires clé-valeur selon la définition du format des journaux IIS.

        Exemple comparatif :

        Journal brut

        Adaptation au format spécifique du serveur Microsoft IIS

        #Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken
        c-ip: cs-username
            cs-bytes: sc-substatus
            cs-method: cs-method
            cs-uri-query: cs-uri-query
            cs-uri-stem: cs-uri-stem
            cs-username: s-port
            date: #Fields:
            s-computername: s-sitename
            s-ip: s-ip
            s-sitename: time
            sc-bytes: sc-status
            sc-status: c-ip
            sc-win32-status: cs (User-Agent)
            time: date
            time-taken: sc-win32-status

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Native Processor > Data Parsing (IIS Mode) :

        • Log Format : Sélectionnez le format de journal correspondant à votre serveur IIS.

          • IIS : Format de fichier journal pour Microsoft Internet Information Services.

          • NCSA : Common Log Format.

          • W3C fait référence au W3C Extended Log File Format.

        • IIS Configuration Fields : Lorsque vous sélectionnez IIS ou NCSA, SLS utilise les champs de configuration IIS par défaut. Si vous choisissez W3C, vous devez définir les champs selon la valeur du paramètre logExtFileFlags dans votre fichier de configuration IIS. Par exemple :

          logExtFileFlags="Date, Time, ClientIP, UserName, SiteName, ComputerName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Cookie, Referer, ProtocolVersion, Host, HttpSubStatus"
        • Pour les autres paramètres, consultez la description des paramètres de configuration courants dans Cas d'utilisation 2 : Journaux structurés.

        Masquage des données

        Masquez les données sensibles dans les journaux.

        Exemple :

        Journal brut sans aucun traitement

        Résultat du masquage

        [{'account':'1812213231432969','password':'04a23f38'}, {'account':'1812213685634','password':'123a'}]
        [{'account':'1812213231432969','password':'********'}, {'account':'1812213685634','password':'********'}]

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Native Processor > Data Masking :

        • Original Field : Le champ contenant le contenu du journal avant analyse.

        • Data Masking Method :

          • const : Remplace le contenu sensible par une chaîne constante.

          • md5 : Remplace le contenu sensible par son hachage MD5.

        • Replacement String : Si la Data Masking Method est définie sur const, saisissez une chaîne pour remplacer le contenu sensible.

        • Content Expression that Precedes Replaced Content : L'expression utilisée pour trouver le contenu sensible, configurée à l'aide de la syntaxe RE2.

        • Content Expression to Match Replaced Content : L'expression régulière utilisée pour faire correspondre le contenu sensible. L'expression doit être rédigée en syntaxe RE2.

        Analyse temporelle

        Analysez le champ temporel du journal et définissez le résultat de l'analyse comme champ __time__ du journal.

        Exemple :

        Journal brut sans aucun traitement

        Analyse temporelle

        {"level":"INFO","timestamp":"2025-09-23T19:11:47+0800","cluster":"yilu-cluster-0728","message":"User logged in successfully","userId":"user-123"}

        image

        Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez Native Processor > Time Parsing :

        • Original Field : Le champ contenant le contenu du journal avant analyse.

        • Time Format : Définissez le format temporel correspondant aux horodatages présents dans le journal.

        • Time Zone : Sélectionnez le fuseau horaire pour le champ temporel du journal. Par défaut, il s'agit du fuseau horaire de l'environnement dans lequel s'exécute le processus LoongCollector (Logtail).

        Annexe : Référence des politiques de permissions

        Connexion avec un compte Alibaba Cloud : dispose de toutes les permissions par défaut.

        Connexion avec un utilisateur RAM : le compte Alibaba Cloud doit accorder les politiques d'accès requises à l'utilisateur RAM.

        Politiques de permissions personnalisées (contrôle granulaire)

        Si les politiques système ne respectent pas le principe du moindre privilège, créez des politiques personnalisées pour une autorisation granulaire. Exemple de politique accordant les permissions suivantes :

        • Consulter les projets : consulter la liste des projets et les détails d'un projet spécifique.

        • Gérer les Logstores : créer, modifier ou supprimer des Logstores au sein d'un projet.

        • Gérer la configuration de collecte : créer, supprimer et modifier les configurations de collecte.

        • Consulter les journaux : interroger et analyser les données d'un Logstore spécifique dans un projet donné.

        Remplacez ${regionName} , ${uid} , ${projectName} et ${logstoreName} par le nom réel de la région, l'ID du compte Alibaba Cloud, le projet cible et le Logstore.

        Exemple de politique

        {
          "Version": "1",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "log:ListProject",
                "log:GetAcceleration",
                "log:ListDomains",
                "log:GetLogging",
                "log:ListTagResources"
              ],
              "Resource": "acs:log:${regionName}:${uid}:project/*"
            },
            {
              "Effect": "Allow",
              "Action": "log:GetProject",
              "Resource": "acs:log:${regionName}:${uid}:project/${projectName}"
            },
            {
              "Effect": "Allow",
              "Action": [
                "log:ListLogStores",
                "log:*LogStore",
                "log:*Index",
                "log:ListShards",
                "log:GetCursorOrData",
                "log:GetLogStoreHistogram",
                "log:GetLogStoreContextLogs",
                "log:PostLogStoreLogs"
              ],
              "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/*"
            },
            {
              "Effect": "Allow",
              "Action": "log:*",
              "Resource": [
                "acs:log:${regionName}:${uid}:project/${projectName}/logtailconfig/*",
                "acs:log:${regionName}:${uid}:project/${projectName}/machinegroup/*"
              ]
            },
            {
              "Effect": "Allow",
              "Action": "log:ListSavedSearch",
              "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/savedsearch/*"
            },
            {
              "Effect": "Allow",
              "Action": "log:ListDashboard",
              "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/dashboard/*"
            },
            {
              "Effect": "Allow",
              "Action": "log:GetLogStoreLogs",
              "Resource": "acs:log:${regionName}:${uid}:project/${projectName}/logstore/${logstoreName}"
            },
            {
              "Effect": "Allow",
              "Action": [
                "ecs:DescribeTagKeys",
                "ecs:DescribeTags",
                "ecs:DescribeInstances",
                "ecs:DescribeInvocationResults",
                "ecs:RunCommand",
                "ecs:DescribeInvocations",
                "ecs:InvokeCommand"
              ],
              "Resource": "*"
            },
            {
              "Effect": "Allow",
              "Action": [
                "oos:ListTemplates",
                "oos:StartExecution",
                "oos:ListExecutions",
                "oos:GetExecutionTemplate",
                "oos:ListExecutionLogs",
                "oos:ListTaskExecutions"
              ],
              "Resource": "*"
            }
          ]
        }

        Permission

        Action

        Resource

        Lecture seule du projet

        • GetAcceleration

        • GetLogging

        • ListProject

        • ListDomains

        • ListTagResources

        acs:log:${regionName}:${uid}:project/*

        Obtenir un projet spécifique

        GetProject

        acs:log:${regionName}:${uid}:project/${projectName}

        Gérer les Logstores

        • ListLogStores

        • *LogStore

        • *Index

        • ListShards

        • GetCursorOrData

        • GetLogStoreHistogram

        • GetLogStoreContextLogs

        • PostLogStoreLogs

        acs:log:${regionName}:${uid}:project/${projectName}/*

        Gérer l'importation de données LoongCollector (Logtail)

        *

        • acs:log:${regionName}:${uid}:project/${projectName}/logtailconfig/*

        • acs:log:${regionName}:${uid}:project/${projectName}/machinegroup/*

        Interroger les recherches enregistrées

        ListSavedSearch

        acs:log:${regionName}:${uid}:project/${projectName}/savedsearch/*

        Interroger les tableaux de bord

        ListDashboard

        acs:log:${regionName}:${uid}:project/${projectName}/dashboard/*

        Interroger les journaux d'un Logstore spécifique

        GetLogStoreLogs

        acs:log:${regionName}:${uid}:project/${projectName}/logstore/${logstoreName}

        Permissions pour opérer sur ECS

        • DescribeTagKeys

        • DescribeTags

        • DescribeInstances

        • DescribeInvocationResults

        • RunCommand

        • DescribeInvocations

        • InvokeCommand

        *

        Permissions pour opérer sur OOS (Facultatif)

        Requis uniquement lorsque LoongCollector (Logtail) est installé automatiquement via OOS dans le même compte et la même région que l'instance SLS et ECS.

        • ListTemplates

        • StartExecution

        • ListExecutions

        • GetExecutionTemplate

        • ListExecutionLogs

        • ListTaskExecutions

        *

        Politiques de permissions système

        Si vous utilisez des politiques définies par le système, ajoutez les permissions suivantes :

        • AliyunLogFullAccess : permission de gérer SLS.

        • AliyunECSFullAccess : permission de gérer ECS.

        • (Facultatif) AliyunOOSFullAccess : requis lorsque LoongCollector (Logtail) est installé en un clic via OOS.

        Informations complémentaires

        Configurations globales

        Paramètre

        Description

        Nom de la configuration

        Nom de la configuration LoongCollector (Logtail). Il doit être unique au sein du projet et ne peut pas être modifié après la création.

        Type de sujet de journal

        Sélectionnez la méthode de génération du sujet. Les options disponibles sont Machine Group Topic, File Path Extraction et Custom.

        Paramètres avancés

        Paramètres avancés facultatifs pour la configuration globale. Consultez CreateLogtailPipelineConfig.

        Configurations d'entrée

        Paramètre

        Description

        Chemin du fichier

        Définissez le répertoire et le nom du fichier de journaux en fonction de leur emplacement sur l'hôte (par exemple, une instance ECS) :

        Les répertoires et les noms de fichiers prennent en charge les modes complet et générique. Pour les règles relatives aux noms de fichiers, consultez Correspondance avec caractères génériques. Les seuls caractères génériques pris en charge pour les chemins de journaux sont l'astérisque (*) et le point d'interrogation (?).

        La recherche de fichiers de journaux utilise une correspondance de répertoires multi-niveaux : tous les fichiers répondant aux critères dans le répertoire spécifié et ses sous-répertoires sont inclus. Par exemple :

        • /apsara/nuwa/**/*.log désigne les fichiers portant l'extension .log situés dans le répertoire /apsara/nuwa et ses sous-répertoires.

        • /var/logs/app_*/**/.log désigne les fichiers portant l'extension .log situés dans tous les répertoires correspondant au format app_ sous le répertoire /var/logs et leurs sous-répertoires.

        • /var/log/nginx/**/access* désigne les fichiers commençant par access dans le répertoire /var/log/nginx et ses sous-répertoires.

        Profondeur maximale de surveillance des répertoires

        Définissez la profondeur maximale de surveillance des répertoires de journaux. Cette valeur correspond à la profondeur maximale de répertoires que le caractère générique ** dans le champ File Path peut faire correspondre. Une valeur de 0 signifie que seul le répertoire courant est surveillé.

        Encodage du fichier

        Sélectionnez le format d'encodage du fichier de journaux.

        Taille de la première collecte

        Lorsque la configuration prend effet pour la première fois, ce paramètre définit la position de départ de la collecte par rapport à la fin du fichier correspondant. La taille initiale de collecte est fixée à 1 024 Ko.

        • Si le fichier est inférieur à 1 024 Ko lors de la collecte initiale, celle-ci commence au début du contenu du fichier.

        • Si le fichier dépasse 1 024 Ko lors de la collecte initiale, celle-ci débute 1 024 Ko avant la fin du fichier.

        La valeur peut varier de 0 à 10 485 760 Ko.

        Liste de blocage de collecte

        Après avoir activé le commutateur Collection Blacklist, configurez une liste de blocage pour ignorer certains répertoires ou fichiers lors de la collecte. La correspondance complète et générique est prise en charge pour les répertoires et les noms de fichiers. Les seuls caractères génériques autorisés sont l'astérisque (*) et le point d'interrogation (?).

        Important
        • Si vous utilisez un caractère générique lors de la configuration du champ File Path mais devez filtrer certains de ces chemins, saisissez le chemin complet correspondant dans le champ Collection Blacklist afin que la liste de blocage prenne effet.

          Par exemple, si vous définissez le champ File Path sur /home/admin/app/log/.log mais souhaitez filtrer tous les sous-répertoires sous le répertoire /home/admin/app1, sélectionnez Directory Blacklist et configurez le répertoire comme suit : /home/admin/app1/**. Si vous le configurez comme /home/admin/app1*, la liste de blocage ne prendra pas effet.

        • La correspondance avec une liste de blocage entraîne une surcharge de calcul. Limitez le nombre d'entrées de la liste de blocage à 10 maximum.

        • Le chemin du répertoire ne doit pas se terminer par une barre oblique (/). Par exemple, si vous définissez le chemin sur /home/admin/dir1/, la liste de blocage de répertoires ne prendra pas effet.

        Configurez une liste de blocage de chemins de fichiers, de fichiers ou de répertoires selon vos besoins. Voici les détails :

        File Path Blacklist

        • Sélectionnez File Path Blacklist et configurez le chemin comme suit : /home/admin/private*.log. Cela permet d'ignorer tous les fichiers du répertoire /home/admin/ qui commencent par private et se terminent par .log.

        • Sélectionnez File Path Blacklist et configurez le chemin comme suit : /home/admin/private/_inner.log. Cela permet d'ignorer les fichiers se terminant par _inner.log dans les répertoires commençant par private sous le répertoire /home/admin/. Par exemple, le fichier /home/admin/private/app_inner.log est ignoré, tandis que le fichier /home/admin/private/app.log est collecté.

        File Blacklist

        Sélectionnez File Blacklist et configurez le nom du fichier comme suit : app_inner.log. Cela permet d'ignorer tous les fichiers nommés app_inner.log lors de la collecte.

        Directory Blacklist

        • Sélectionnez Directory Blacklist et configurez le répertoire comme suit : /home/admin/dir1. Cela permet d'ignorer tous les fichiers du répertoire /home/admin/dir1 lors de la collecte.

        • Sélectionnez Directory Blacklist et configurez le répertoire comme suit : /home/admin/dir*. Cela permet d'ignorer les fichiers de tous les sous-répertoires commençant par dir sous le répertoire /home/admin/.

        • Sélectionnez Directory Blacklist et configurez le répertoire comme suit : /home/admin/*/dir. Cela permet d'ignorer tous les fichiers des sous-répertoires nommés dir au deuxième niveau du répertoire /home/admin/. Par exemple, les fichiers du répertoire /home/admin/a/dir sont ignorés, mais ceux du répertoire /home/admin/a/b/dir sont collectés.

        Autoriser la collecte multiple d'un fichier

        Par défaut, un fichier de journaux ne peut correspondre qu'à une seule configuration LoongCollector (Logtail). Si les journaux d'un fichier doivent être collectés plusieurs fois, activez le commutateur Allow File to Be Collected for Multiple Times.

        Paramètres avancés

        Paramètres avancés facultatifs pour le plugin d'entrée de fichier. Consultez CreateLogtailPipelineConfig.

        Configurations des processeurs

        Paramètre

        Description

        Échantillon de journal

        Échantillon du journal à collecter. Veillez à utiliser un journal issu de votre cas d'utilisation réel. Cet échantillon facilite la configuration des paramètres de traitement des journaux et simplifie le processus. Plusieurs échantillons peuvent être ajoutés, pour une longueur totale n'excédant pas 1 500 caractères.

        [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)

        Mode multiligne

        • Type de journal multiligne : un journal multiligne s'étend sur plusieurs lignes consécutives. Chaque entrée de journal doit pouvoir être distinguée du contenu.

          • Custom : distinguez chaque journal à l'aide d'une expression régulière correspondant à la première ligne (Regex to Match First Line).

          • Multi-line JSON : chaque objet JSON est développé sur plusieurs lignes, par exemple :

            {
              "name": "John Doe",
              "age": 30,
              "address": {
                "city": "New York",
                "country": "USA"
              }
            }
        • Méthode de traitement en cas d'échec du fractionnement :

          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)

          Pour le contenu de journal ci-dessus, si SLS ne parvient pas à le fractionner :

          • Discard : ce segment de journal est directement ignoré.

          • Retain Single Line : chaque ligne de texte du journal est conservée comme un journal distinct, ce qui donne quatre journaux au total.

        Méthode de traitement

        Processors, qui comprend le Native Processor et l'Extended Processor. Consultez les Notes d'utilisation pour les processeurs natifs et étendus.

        Important

        Les limites des plugins de traitement sont affichées sur la page de la console.

        • Logtail 2.0 :

          • Les processeurs natifs peuvent être combinés librement.

          • Les processeurs natifs et étendus peuvent être utilisés simultanément, mais les processeurs étendus doivent obligatoirement apparaître après tous les processeurs natifs.

        • Versions de Logtail antérieures à la 2.0 :

          • L'ajout simultané de processeurs natifs et étendus n'est pas pris en charge.

          • Les processeurs natifs servent uniquement à collecter des journaux texte. Leur utilisation est soumise aux exigences suivantes :

            • Le premier plugin de traitement doit être un plugin d'analyse par expression régulière, un plugin d'analyse par séparateur, un plugin d'analyse JSON, un plugin Data Parsing (NGINX Mode), un plugin d'analyse de modèle Apache ou un plugin d'analyse de modèle IIS.

            • Du deuxième au dernier plugin de traitement, vous pouvez inclure au maximum un plugin d'analyse temporelle, un plugin Data Filtering et plusieurs plugins de masquage.

          • Concernant les paramètres Retain Original Field if Parsing Fails et Retain Original Field if Parsing Succeeds, seules les combinaisons suivantes sont valides. Toute autre combinaison est invalide.

            • Importer uniquement les journaux analysés avec succès :

              image

            • Importer les journaux analysés en cas de succès et les journaux bruts en cas d'échec :

              image

            • En cas d'analyse réussie, importer le journal analysé tout en ajoutant le champ du journal brut. En cas d'échec, importer le journal brut.

              Par exemple, si le journal brut "content": "{"request_method":"GET", "request_time":"200"}" est analysé avec succès, l'ajout du champ brut ajoute un nouveau champ au journal analysé. Le nom du champ correspond au New Name of Original Field (s'il n'est pas renseigné, le nom du champ source est utilisé par défaut), et la valeur du champ est le journal brut {"request_method":"GET", "request_time":"200"}.

              image