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 |
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
AliyunLogFullAccessetAliyunECSFullAccess. Pour une autorisation granulaire, consultez Annexe : Politiques d'autorisation personnalisées.
Flux de configuration de la collecte
Preparations: Créez un projet (pour l'isolation des ressources) et un logstore (pour le stockage des journaux).
Configure a machine group (Install LoongCollector): Installez LoongCollector sur vos serveurs et ajoutez-les à un groupe de machines.
-
Create and configure log collection rules:
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.
-
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.
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.
Catégorisation des journaux: Utilisez des sujets pour distinguer les journaux provenant de différentes applications, serveurs ou chemins sources.
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.
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
Créer un logstore
É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.
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 :
Sur la page
Logstores, cliquez sur l'icône
devant le nom du logstore cible pour le développer.-
Cliquez sur l'icône
à 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.
-
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.
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.
Cliquez sur Install and Create Machine Group. Le système installe automatiquement LoongCollector sur les instances ECS sélectionnées.
Configurez le Name du groupe de machines et cliquez sur OK.
RemarqueSi 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 ?
-
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.
-
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.
Type : Text Log Collection.
-
File Path : Chemin de collecte des journaux.
Linux : Le chemin doit commencer par une barre oblique (/). Par exemple,
/data/mylogs/**/*.logdésigne tous les fichiers portant l'extension .log dans le répertoire/data/mylogset 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é.-
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.
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 .
-
NGINX Log Configuration : Copiez la définition
log_formatdepuis 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"';ImportantLa 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.
-
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.
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.
-
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ésapp_inner.logpendant 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/dirsont ignorés, mais ceux du répertoire/home/admin/a/b/dirsont collectés.
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 quecustomized://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.logConfigurez 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__: userAGroupes 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__svcAGroupes 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 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 ?
Cliquez sur
pour développer la configuration de sortie.-
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.
-
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.
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/fileet déclenchez une opération métier pour vous assurer que de nouveaux journaux sont bien écrits.Vérifiez l'état de LoongCollector :
sudo /etc/init.d/loongcollectord status.-
Vérifiez le heartbeat du groupe de machines : Accédez à la page . Cliquez sur le nom du groupe de machines cible. Dans la section , vérifiez l'état du Heartbeat.
Si le heartbeat est OK, le groupe de machines est connecté au projet SLS.
Si le heartbeat est FAIL, consultez Le heartbeat du groupe de machines est FAIL pour le dépannage.
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.
-
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>.
-
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_idexiste 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_idet inscrivez-y l'ID personnalisé. (Si le répertoire n'existe pas, créez-le manuellement.)
-
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.
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.
-
Vérifiez l'état du heartbeat du groupe de machines : Accédez à la page . Cliquez sur le nom du groupe de machines cible. Dans la section , vérifiez l'état du Heartbeat.
Si le heartbeat est OK, le groupe de machines est connecté au projet SLS.
Si le heartbeat est FAIL, consultez Le heartbeat du groupe de machines est FAIL pour le dépannage.
-
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.
Accédez à la page , cliquez sur le nom du groupe de machines cible, puis accédez à la page Machine Group Configurations.
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.
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
pour la déplacer vers la zone appliquée sur la droite, puis cliquez sur Save.
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.
Dans la section , 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.
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é.
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.
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é.
Connectez-vous à la console Simple Log Service et cliquez sur le nom du projet cible.
-
Sur la page du projet, choisissez
dans le volet de navigation de gauche.RemarqueCette 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.
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.
-
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. Exécutez la commande
sudo /etc/init.d/ilogtaild stoppour arrêter LoongCollector.-
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_regionLa partie région dans
config_serversLe champ
regionet la partie région deendpoint_listdansdata_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.
-
Exécutez la commande
sudo /etc/init.d/ilogtaild startpour démarrer LoongCollector.Un groupe de machines configuré existe déjà.
Le nouveau serveur dispose de LoongCollector installé.
-
Consultez l'ID du groupe de machines cible :
Sur la page du projet cible, cliquez sur
dans le volet de navigation de gauche.Sur la page Machine Groups, cliquez sur le nom du groupe de machines cible.
Sur la page de configuration du groupe de machines, consultez l'ID du groupe de machines.
-
Effectuez l'opération correspondante selon le type d'ID :
RemarqueUn 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
-
Sur le serveur, exécutez la commande suivante pour ouvrir le fichier
app_info.jsonet consulter la valeurip.cat /usr/local/ilogtail/app_info.json 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.
-
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.
-
Une fois la configuration du groupe de machines terminée, cliquez sur Next pour accéder à la page Logtail Configuration.
Cliquez sur Import Other Configuration dans le coin supérieur droit de la page.
Sélectionnez le projet source ainsi que la configuration de collecte sous ce projet.
Cliquez sur OK. Le système charge automatiquement la configuration sélectionnée.
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.
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.
Connectez-vous à la console Simple Log Service et accédez au projet cible.
Dans le volet de navigation de gauche, choisissez
Logstores et trouvez le Logstore cible.Cliquez sur l'icône
devant son nom pour développer le Logstore.Cliquez sur Logtail Configuration. Dans la liste des configurations, trouvez la configuration Logtail cible et cliquez sur Manage Logtail Configuration dans la colonne Actions.
-
Sur la page de configuration Logtail, cliquez sur Edit :
Dans , activez Allow File to Be Collected for Multiple Times.
Une fois la configuration terminée, cliquez sur Save.
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.
Connectez-vous à la console Simple Log Service et accédez au projet cible.
Dans le volet de navigation de gauche, choisissez
Logstores et recherchez le logstore cible.Cliquez sur l'icône
située devant son nom pour développer le logstore.Cliquez sur Logtail Configuration. Dans la liste des configurations, localisez la configuration Logtail cible et cliquez sur Manage Logtail Configuration dans la colonne Actions.
-
Sur la page de configuration Logtail, cliquez sur Edit :
-
Dans , 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.
-
Une fois la configuration terminée, cliquez sur Save.
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.
Dans le volet de navigation de gauche, choisissez
Logstores et recherchez le logstore cible.Cliquez sur l'icône
située devant son nom pour développer le logstore.Cliquez sur Logtail Configuration. Dans la liste des configurations, localisez la configuration Logtail cible et cliquez sur Manage Logtail Configuration dans la colonne Actions.
Sur la page de configuration Logtail, cliquez sur Edit.
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.
-
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.

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.
-
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.
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.
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.
Le Log Format est combined.
-
La APACHE LogFormat Configuration est automatiquement renseignée en fonction du Log Format.
ImportantAssurez-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.
-
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
logExtFileFlagsdans 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.
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.
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).
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é.
GetAcceleration
GetLogging
ListProject
ListDomains
ListTagResources
ListLogStores
*LogStore
*Index
ListShards
GetCursorOrData
GetLogStoreHistogram
GetLogStoreContextLogs
PostLogStoreLogs
acs:log:${regionName}:${uid}:project/${projectName}/logtailconfig/*acs:log:${regionName}:${uid}:project/${projectName}/machinegroup/*DescribeTagKeys
DescribeTags
DescribeInstances
DescribeInvocationResults
RunCommand
DescribeInvocations
InvokeCommand
ListTemplates
StartExecution
ListExecutions
GetExecutionTemplate
ListExecutionLogs
ListTaskExecutions
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.
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:00Procédure : Dans la section Processor Configurations de la page Logtail Configuration
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
WARNINGouERROR{"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 :
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 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 (?).
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.loget/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 : : Sélectionnez une méthode de génération des sujets. Trois types sont pris en charge :
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
ImportantProcédure : Dans la section Output Configurations de la page Logtail Configuration
É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 :
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
Dépannage des problèmes courants
Le heartbeat du groupe de machines est FAIL
Aucune donnée n'est collectée
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 :
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.
AvertissementSi 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.logouxxx.log*.ImportantNe 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 :
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.
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\0situé au milieu du journal. Les parties préfixe et suffixe\0sont supprimées. D'autres versions peuvent tronquer au premier\0ou 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
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 :
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.
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.
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 :
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 :
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.jsonet consultez la valeurip.L'adresse IP du serveur obtenue automatiquement par Logtail est enregistrée dans le champ
ipdu fichierapp_info.json, comme illustré ci-dessous.
ImportantComment 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 :
ImportantLorsque 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.
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 :
Solution :
Prolongez le temps d'attente afin de vous assurer que le journal complet est écrit avant sa collecte :
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.
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 :
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 .
ImportantRègles de combinaison des plugins (pour LoongCollector / Logtail 2.0 et ultérieurs) :
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 +0800Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez :
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-javaip: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-javaProcédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez :
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-javaProcédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez :
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:521_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 :
Analyse de tableau JSON
Utilisez la fonction
json_extractpour 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
contentet stockez les résultats dans de nouveaux champsjson1etjson2.* | 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
combined1 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 :
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-takenc-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-statusProcédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez :
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 :
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"}
Procédure : Dans la section Processor Configurations de la page Logtail Configuration, cliquez sur Add Processor et sélectionnez :
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 :
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.Permission
Action
Resource
Lecture seule du projet
acs:log:${regionName}:${uid}:project/*Obtenir un projet spécifique
GetProjectacs:log:${regionName}:${uid}:project/${projectName}Gérer les Logstores
acs:log:${regionName}:${uid}:project/${projectName}/*Gérer l'importation de données LoongCollector (Logtail)
*Interroger les recherches enregistrées
ListSavedSearchacs:log:${regionName}:${uid}:project/${projectName}/savedsearch/*Interroger les tableaux de bord
ListDashboardacs:log:${regionName}:${uid}:project/${projectName}/dashboard/*Interroger les journaux d'un Logstore spécifique
GetLogStoreLogsacs:log:${regionName}:${uid}:project/${projectName}/logstore/${logstoreName}Permissions pour opérer sur ECS
*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.
*Politiques de permissions système
Si vous utilisez des politiques définies par le système, ajoutez les permissions suivantes :
Informations complémentaires
Configurations globales
Configurations d'entrée
Configurations des processeurs
-
É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 :
Input Configurations :
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. |
|
|
|
|
Procédure : Dans la section Processor Configurations de la page Logtail Configuration, activez Multi-line Mode :





