Tous les produits
Search
Centre de documentation

Simple Log Service:Gestion de l'exécution

Dernière mise à jour :Aug 18, 2026

Après avoir installé LoongCollector, vous pouvez gérer son cycle de vie et sa configuration d'exécution.

Commandes courantes pour LoongCollector

Démarrer LoongCollector

Si vous avez des exigences spécifiques en matière de performances de collecte, modifiez le fichier de configuration des paramètres de démarrage (ilogtail_config.json) avant de démarrer LoongCollector.
sudo /etc/init.d/loongcollectord start

Arrêter LoongCollector

sudo /etc/init.d/loongcollectord stop

Vérifier l'état de LoongCollector

sudo /etc/init.d/loongcollectord status # A return value of "loongcollector is running" indicates a successful start.

Vérifier la version de LoongCollector

cat /usr/local/ilogtail/app_info.json # The version information is stored in the loongcollector_version field.

Redémarrer LoongCollector

sudo /etc/init.d/loongcollectord restart

Désinstaller LoongCollector

  1. Dans l'exemple de code, remplacez ${region_id} par cn-hangzhou. Pour accélérer le téléchargement, remplacez ${region_id} par la région de votre instance ECS. Pour plus d'informations, reportez-vous à la section Régions.

    wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;
  2. Exécutez la commande de désinstallation.

    chmod +x loongcollector.sh; sudo ./loongcollector.sh uninstall;

Mettre à jour LoongCollector

Mettez à jour LoongCollector vers une version ultérieure ou effectuez une migration depuis Logtail vers LoongCollector. Les commandes de mise à jour sont identiques pour les deux scénarios.

Mettre à jour LoongCollector ou migrer de Logtail vers LoongCollector

Important

LoongCollector s'arrête pendant la mise à jour et redémarre automatiquement une fois celle-ci terminée. La mise à jour écrase uniquement les fichiers essentiels. Vos fichiers de configuration et de point de contrôle (checkpoint) sont conservés afin d'éviter toute perte de journaux.

  1. Exécutez la commande de téléchargement sur votre serveur pour obtenir le dernier package d'installation. Dans l'exemple de code, remplacez ${region_id} par cn-hangzhou. Pour accélérer le téléchargement, remplacez ${region_id} par la région de votre instance ECS. Pour plus d'informations, reportez-vous à la section Régions.

    wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;
  2. Exécutez la commande de mise à jour. Utilisez la commande upgrade . Si vous utilisez la commande install , l'installation est écrasée et votre configuration d'origine est perdue.

    chmod +x loongcollector.sh; sudo ./loongcollector.sh upgrade;
  3. Si les informations suivantes s'affichent, la mise à jour a réussi.

    Upgrade loongcollector files successfully.
    Starting loongcollector ...
    Upgrade loongcollector successfully.

Revenir de LoongCollector à Logtail

Remarque

Vous devez télécharger à nouveau le script logtail.sh. N'utilisez pas l'ancien script logtail.sh.

  1. Exécutez la commande de téléchargement sur votre serveur pour obtenir le package d'installation. Dans l'exemple de code, remplacez ${region_id} par cn-hangzhou. Pour accélérer le téléchargement, remplacez ${region_id} par la région de votre instance ECS. Pour plus d'informations, reportez-vous à la section Régions.

    wget https://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh; 
  2. Exécutez la commande de retour arrière. Pour spécifier une version, telle que 1.8.7, suivez les commentaires et remplacez le numéro de version si nécessaire.

    chmod +x logtail.sh; sudo ./logtail.sh upgrade;
    #chmod +x logtail.sh; sudo ./logtail.sh upgrade -v -v 1.8.7;

Fichier de configuration des paramètres de démarrage (ilogtail_config.json)

  • Description : ce fichier configure les paramètres de démarrage de LoongCollector. Des paramètres incorrects peuvent affecter les performances de collecte ou provoquer des erreurs.

  • Chemin d'accès : /usr/local/ilogtail/ilogtail_config.json.

  • Scénario : Simple Log Service (SLS) limite les performances de collecte de LoongCollector afin d'éviter une consommation excessive des ressources du serveur. Si les performances de collecte ne répondent pas à vos besoins, ajustez les paramètres de démarrage.

  • Exemple de fichier :

    {
        "primary_region" : "cn-beijing", // Default region. You can ignore this parameter.
        "config_servers" : // The address used to obtain collection configurations.
        [
            "http://logtail.cn-beijing.log.aliyuncs.com"
        ],
        "data_servers" : // The address for data transmission with SLS.
        [
            {
                "region" : "cn-beijing",
                "endpoint_list": [
                    "cn-beijing.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
    }
  • Paramètres : le tableau suivant répertorie uniquement les paramètres de démarrage courants que vous pourriez avoir besoin de configurer. Ajoutez ou modifiez-les selon vos besoins. Conservez les valeurs par défaut pour les paramètres non répertoriés dans le tableau.

    Paramètres de démarrage ilogtail_config.json

    Paramètre

    Type

    Description

    Exemple

    cpu_usage_limit

    double

    Le seuil d'utilisation du CPU, calculé par cœur. Les détails sont décrits ci-dessous :

    • Valeurs valides : 0,1 jusqu'au nombre de cœurs CPU de la machine.

    • Valeur par défaut : 0,4.

    Avertissement

    cpu_usage_limit est une limite souple. L'utilisation réelle du CPU peut dépasser cette valeur. Si la limite est dépassée pendant cinq minutes, un disjoncteur se déclenche et LoongCollector redémarre automatiquement.

    Par exemple, une valeur de 0,4 signifie que SLS tente de limiter l'utilisation du CPU du collecteur à 40 % d'un seul cœur CPU. Si l'utilisation dépasse cette limite, LoongCollector redémarre.

    En général, un seul cœur peut traiter environ 100 Mo/s en mode minimaliste ou 20 Mo/s en mode expression régulière complète.

    "cpu_usage_limit" : 0,4

    mem_usage_limit

    int

    Le seuil d'utilisation de la mémoire. Les détails sont décrits ci-dessous :

    • Valeurs valides : 128 Mo à 8 192 Mo.

    • Valeur par défaut : 384 Mo pour les hôtes et 2 048 Mo pour les composants ACK.

    Avertissement

    mem_usage_limit est une limite souple. L'utilisation réelle de la mémoire peut dépasser cette valeur. Si la limite est dépassée pendant cinq minutes, un disjoncteur se déclenche et LoongCollector redémarre automatiquement.

    Le taux de collecte, le nombre de répertoires et de fichiers surveillés, ainsi que les blocages d'envoi sont liés au paramètre mem_usage_limit. Pour plus d'informations, consultez la section Limites.

    "mem_usage_limit" : 384

    max_bytes_per_sec

    int

    Le trafic maximal pour l'envoi de données brutes par seconde. Les détails sont décrits ci-dessous :

    • Valeurs valides : 1 024 octets/s à 52 428 800 octets/s.

    • Valeur par défaut : 20 971 520 octets/s.

      Important

      Une valeur supérieure à 20 971 520 octets/s (20 Mo/s) indique qu'il n'y a aucune limite de vitesse.

    Par exemple, une valeur de 2 097 152 définit le taux d'envoi des données à 2 Mo/s.

    "max_bytes_per_sec" : 2097152

    process_thread_count

    int

    Le nombre de threads pour le traitement des données. Les détails sont décrits ci-dessous :

    • Valeurs valides : 1 à 64.

    • Valeur par défaut : 1.

    Un seul thread peut généralement gérer 24 Mo/s d'écritures de données en mode minimaliste ou 12 Mo/s en mode expression régulière complète. Vous n'avez pas besoin d'ajuster ce paramètre dans des circonstances normales.

    "process_thread_count" : 1

    send_request_concurrency

    int

    Le nombre de requêtes concurrentes asynchrones. Les détails sont décrits ci-dessous :

    • Valeurs valides : 1 à 50.

    • Valeur par défaut : 20.

    Si vous avez un TPS d'écriture élevé, définissez une valeur de concurrence plus élevée. Estimez qu'une requête concurrente prend en charge un débit réseau de 0,5 Mo/s à 1 Mo/s, selon la latence du réseau.

    Remarque

    Définir la concurrence trop haut peut occuper trop de ports réseau. Vous devrez peut-être ajuster les paramètres liés à TCP.

    "send_request_concurrency" : 4

    buffer_file_num

    int

    Le nombre maximal de fichiers de cache. Les détails sont décrits ci-dessous :

    • Valeurs valides : 1 à 100.

    • Valeur par défaut : 25.

    En cas de problèmes réseau ou de dépassement du quota d'écriture, le collecteur met en cache les journaux analysés dans des fichiers locaux du répertoire d'installation. Il réessaie de les envoyer une fois le problème résolu.

    "buffer_file_num" : 25

    buffer_file_size

    int

    La taille maximale d'un seul fichier de cache en octets. Les détails sont décrits ci-dessous :

    • Valeurs valides : 1 048 576 octets à 104 857 600 octets.

    • Valeur par défaut : 20 971 520 octets.

    L'espace disque maximal pour les fichiers de cache est buffer_file_size × buffer_file_num.

    "buffer_file_size" : 20971520

    buffer_file_path

    String

    Le répertoire où sont stockés les fichiers de cache. La valeur par défaut est vide, ce qui signifie que les fichiers de cache sont stockés dans le répertoire d'installation /usr/local/ilogtail.

    Si vous définissez ce paramètre, vous devez déplacer manuellement les fichiers nommés logtail_buffer_file_* du répertoire d'origine vers le nouveau répertoire. Cela garantit que le collecteur peut lire les fichiers de cache et les supprimer après leur envoi.

    "buffer_file_path" : ""

    bind_interface

    String

    Le nom de la carte d'interface réseau liée. La valeur par défaut est vide, ce qui signifie que LoongCollector se lie automatiquement à une carte d'interface réseau disponible.

    Si vous le définissez sur une carte d'interface réseau spécifique, telle que eth1, LoongCollector est contraint d'utiliser cette carte pour télécharger les journaux.

    "bind_interface" : ""

    check_point_filename

    String

    Le chemin d'accès où le fichier de point de contrôle (checkpoint) est enregistré. Valeur par défaut : /tmp/logtail_check_point.

    "check_point_filename" : /tmp/logtail_check_point

    check_point_dump_interval

    int

    L'intervalle de mise à jour du fichier Checkpoint, en secondes. Valeur par défaut : 900. Par défaut, le fichier Checkpoint est mis à jour toutes les 15 minutes.

    "check_point_dump_interval" : 900

    user_config_file_path

    String

    Le chemin d'accès où le fichier de configuration est enregistré. La valeur par défaut est le répertoire du binaire du processus. Le nom de fichier par défaut est user_log_config.json.

    "user_config_file_path" : user_log_config.json

    discard_old_data

    Boolean

    Indique s'il faut ignorer les anciens journaux. Valeur par défaut : true. Si la valeur est définie sur true, les journaux datant de plus de 12 heures sont ignorés.

    "discard_old_data" : true

    ilogtail_discard_interval

    int

    Le seuil d'âge pour l'ignorance des anciens journaux, en secondes. Valeur par défaut : 43 200 (12 heures).

    "ilogtail_discard_interval": 43200

    working_ip

    String

    La valeur par défaut est vide, ce qui signifie que l'adresse IP est obtenue automatiquement à partir du serveur. Si vous définissez une valeur, celle-ci est signalée comme adresse IP du serveur.

    "working_ip" : ""

    working_hostname

    String

    Le nom d'hôte signalé pour ce serveur. La valeur par défaut est vide, ce qui signifie que le nom d'hôte est obtenu automatiquement à partir du serveur.

    "working_hostname" : ""

    max_read_buffer_size

    long

    La taille maximale pour une seule entrée de journal, en octets. Valeur par défaut : 524 288 (512 Ko). Valeur maximale : 8 388 608 (8 Mo).

    Si une seule entrée de journal dépasse 524 288 octets, augmentez cette valeur.

    "max_read_buffer_size" : 524288

    oas_connect_timeout

    long

    Le délai de connexion pour les requêtes visant à obtenir les configurations de collecte ou les AccessKeys, en secondes. Valeur par défaut : 5.

    Augmentez cette valeur si vous avez une mauvaise connexion réseau qui entraîne des temps de connexion longs.

    "oas_connect_timeout" : 5

    oas_request_timeout

    long

    Le délai total de requête pour les demandes visant à obtenir les configurations de collecte ou les AccessKeys, en secondes. Valeur par défaut : 10.

    Augmentez cette valeur si vous avez une mauvaise connexion réseau.

    "" : 10

    data_server_port

    long

    Si vous définissez data_server_port sur 443, les données sont envoyées à SLS via HTTPS.

    "data_server_port": 443

    enable_log_time_auto_adjust

    Boolean

    Si vous définissez enable_log_time_auto_adjust sur true, l'heure du journal s'ajuste automatiquement à l'heure locale du serveur.

    Pour la sécurité des données, SLS valide l'horodatage de chaque requête, y compris celles provenant de LoongCollector. Il rejette les requêtes dont l'horodatage diffère de l'heure du serveur de plus de 15 minutes. Le collecteur utilise l'heure locale du serveur pour les requêtes. Si l'heure locale du serveur est modifiée, par exemple pour une heure future à des fins de test, les requêtes sont rejetées et les écritures de données échouent. Utilisez ce paramètre pour permettre à l'heure du journal de s'adapter à l'heure locale du serveur.

    Important
    • Lorsque cette fonctionnalité est activée, le décalage entre l'heure SLS et l'heure locale du serveur est ajouté à l'heure du journal. Étant donné que le décalage n'est mis à jour que lorsqu'une requête est rejetée, l'heure du journal que vous interrogez dans SLS peut ne pas correspondre à l'heure d'écriture réelle.

    • Certaines logiques de LoongCollector reposent sur le fait que l'heure système augmente de manière monotone. Redémarrez le collecteur après avoir ajusté l'heure de la machine.

    "enable_log_time_auto_adjust": true

    accept_multi_config

    Boolean

    Indique s'il faut autoriser plusieurs configurations de collecte à collecter le même fichier. Valeur par défaut : false.

    Par défaut, un fichier ne peut être collecté que par une seule configuration de collecte. Utilisez ce paramètre pour lever cette restriction. Le traitement pour chaque configuration de collecte est indépendant. Autoriser plusieurs configurations à collecter le même fichier consomme plus de CPU et de mémoire.

    "accept_multi_config": true

    enable_checkpoint_sync_write

    Boolean

    Indique s'il faut activer la fonctionnalité d'écriture synchrone. Valeur par défaut : false.

    La fonctionnalité d'écriture synchrone est principalement utilisée avec la fonctionnalité d'écriture ExactlyOnce. Lorsque ExactlyOnce est activé, le collecteur enregistre des informations de point de contrôle (Checkpoint) granulaires au niveau des fichiers sur le disque local. Pour des raisons de performance, l'appel sync n'est pas utilisé par défaut lors de l'écriture des Checkpoints. Si la machine redémarre avant que les données du buffer ne soient écrites sur le disque, le Checkpoint peut être perdu. Dans ce cas, définissez enable_checkpoint_sync_write sur true pour activer les écritures synchrones. Pour plus d'informations, consultez la section Configuration Logtail (ancienne version).

    "enable_checkpoint_sync_write": false

    enable_env_ref_in_config

    Boolean

    Indique s'il faut activer le remplacement des variables d'environnement dans les configurations de collecte. Valeur par défaut : false.

    Lorsque cette fonctionnalité est activée, utilisez ${xxx} dans la configuration de collecte de la console comme espace réservé pour la variable d'environnement xxx. Par exemple, si vous définissez le chemin de collecte sur /${xxx}/logs et que la variable d'environnement est xxx=user, le chemin de collecte effectif est /user/logs.

    Si votre configuration doit utiliser les caractères littéraux ${ ou }, échappez-les respectivement sous la forme $${ et $}.

    "enable_env_ref_in_config": false

    logreader_max_rotate_queue_size

    Int

    La longueur maximale de la file d'attente de rotation. Valeur par défaut : 20. Lorsque la collecte de journaux est bloquée ou retardée, les fichiers en attente conservent leurs descripteurs de fichiers et attendent dans cette file d'attente.

    Si la collecte est retardée et que vous devez contrôler l'utilisation maximale du disque, envisagez de réduire cette valeur.

    Avertissement

    Si le nombre de fichiers retardés dépasse cette valeur, la collecte de nouveaux fichiers est ignorée.

    "logreader_max_rotate_queue_size" : 10

    data_endpoint_policy

    string

    La politique de basculement pour les endpoints SLS. Les valeurs possibles sont :

    Remarque

    Vérifiez le paramètre data_server dans le fichier ilogtail_config.json pour voir si un nom de domaine par défaut est configuré.

    • designated_first (par défaut)

      • Si un nom de domaine par défaut est spécifié pour une région et est disponible, le système utilise le nom de domaine par défaut.

      • Si le nom de domaine par défaut spécifié n'est pas disponible, le système sélectionne automatiquement un nom de domaine disponible.

      • Si aucun nom de domaine par défaut n'est spécifié, le système sélectionne automatiquement un nom de domaine disponible.

    • designated_locked

      • Si un nom de domaine par défaut est spécifié pour une région, le système n'utilise que ce nom de domaine, quelle que soit sa disponibilité.

      • Si aucun nom de domaine par défaut n'est spécifié, le système sélectionne automatiquement un nom de domaine disponible.

    "data_endpoint_policy" : "designated_first"

    inotify_black_list

    Array<String>

    Une liste noire pour l'écouteur inotify. Il s'agit d'une liste de correspondance exacte. Les répertoires figurant dans cette liste ne sont pas surveillés par inotify.

    "inotify_black_list": ["/tmp"]

    host_path_blacklist

    String

    Une liste noire globale pour les chemins d'hôte, correspondant par sous-chaîne. Sous Linux, séparez plusieurs sous-chaînes par deux-points (:).

    Par exemple, "host_path_blacklist" : "/volumes/kubernetes.io~csi/nas-" empêche la collecte de données à partir des montages NAS.

    "host_path_blacklist" : "/volumes/kubernetes.io~csi/nas-"

    LOGTAIL_LOG_LEVEL

    String

    Le niveau de journalisation. Cela doit être configuré comme une variable d'environnement. La valeur par défaut est vide, ce qui correspond à info. Les valeurs possibles sont trace, debug, info, warning, error et fatal.

    LOGTAIL_LOG_LEVEL=info

    FORCE_RELEASE_STOP_CONTAINER_FILE

    Boolean

    • Configuration : cela ne peut être configuré que comme une variable d'environnement.

    • Description : lorsque ce paramètre est défini sur true, le collecteur libère immédiatement le descripteur de fichier du conteneur lorsque le conteneur d'application s'arrête. Cette opération empêche le conteneur de ne pas pouvoir quitter parce que le descripteur de fichier n'est pas libéré.

    • Remarque :

      • Avec ce paramètre, l'exhaustivité de la collecte des données du conteneur ne peut pas être garantie.

      • Ajoutez un délai de quelques secondes avant que votre application ne se termine pour vous assurer que tous les journaux sont collectés.

    "FORCE_RELEASE_STOP_CONTAINER_FILE" : "true"

  • Scénarios : les exemples suivants illustrent des scénarios et opérations courants.

Planification de la configuration des performances de collecte

Pour éviter que le collecteur ne consomme des ressources serveur excessives et n'affecte d'autres services, SLS limite ses performances de collecte. Pour améliorer les performances de collecte, modifiez les paramètres de démarrage.

Exemples de paramètres recommandés

Les configurations de paramètres suivantes sont recommandées pour la collecte de fichiers JSON courants. Les performances du mode expression régulière complète et du mode séparateur sont similaires à celles du mode JSON. Les performances du mode minimaliste sont cinq fois supérieures à celles du mode JSON. Des facteurs tels que la complexité des données et des règles, ainsi que le nombre de répertoires et de fichiers de collecte, affectent la consommation de CPU et de mémoire. Ajustez les paramètres du tableau suivant selon vos besoins.

Ajoutez ou modifiez les valeurs des paramètres dans /usr/local/ilogtail/ilogtail_config.json et redémarrez LoongCollector pour que les modifications prennent effet. Le tableau suivant fournit des valeurs recommandées pour différents taux de collecte.

Remarque

Lorsque vous configurez les paramètres de démarrage en fonction de la colonne Taux de collecte supérieur à 40 Mo/s du tableau, les performances de collecte approchent de leur limite.

Paramètre

Description

Taux de collecte supérieur à 10 Mo/s

Taux de collecte supérieur à 20 Mo/s

Taux de collecte supérieur à 40 Mo/s

cpu_usage_limit

Le seuil d'utilisation du CPU, calculé par cœur.

  • Valeurs valides : 0,1 jusqu'au nombre de cœurs CPU de la machine.

  • Valeur par défaut : 0,4.

Une valeur de 0,4 signifie que SLS tente de limiter l'utilisation du CPU du collecteur à 40 % d'un seul cœur. Si l'utilisation dépasse cette limite, LoongCollector redémarre automatiquement.

Il s'agit d'une limite souple. L'utilisation réelle du CPU peut dépasser cette valeur. Si la limite est dépassée pendant cinq minutes, un disjoncteur se déclenche et LoongCollector redémarre automatiquement.

1

2

4

mem_usage_limit

Le seuil d'utilisation de la mémoire.

  • Valeurs valides : 128 Mo à 8 192 Mo.

  • Valeur par défaut : 384 Mo.

Le taux de collecte, le nombre de répertoires et de fichiers surveillés, ainsi que les blocages d'envoi sont liés à ce paramètre. Pour plus d'informations, consultez la section Limites.

Il s'agit d'une limite souple. L'utilisation réelle de la mémoire peut dépasser cette valeur. Si la limite est dépassée pendant cinq minutes, un disjoncteur se déclenche et LoongCollector redémarre automatiquement.

1024

2048

4096

process_thread_count

Le nombre de threads pour le traitement des données.

  • Valeurs valides : 1 à 64.

  • Valeur par défaut : 1.

Un seul thread peut gérer 24 Mo/s d'écritures de données en mode minimaliste ou 12 Mo/s en mode expression régulière complète. Vous n'avez pas besoin d'ajuster ce paramètre dans des circonstances normales.

2

4

8

send_request_concurrency

Le nombre de requêtes concurrentes asynchrones.

  • Valeurs valides : 1 à 50.

  • Valeur par défaut : 20.

Si vous avez un TPS d'écriture élevé, définissez une valeur de concurrence plus élevée. Estimez qu'une requête concurrente prend en charge un débit réseau de 0,5 Mo/s à 1 Mo/s, selon la latence du réseau.

20

40

80

Latence réseau élevée ou transmission de journaux instable

Vous pouvez rencontrer une perte de journaux, une transmission en double des journaux, des tentatives fréquentes de la part de LoongCollector ou des interruptions ou fluctuations réseau fréquentes. Les raisons possibles incluent les suivantes :

  • Bande passante réseau insuffisante : si le volume de journaux collectés est important, une bande passante réseau insuffisante peut entraîner une accumulation de journaux et une latence accrue.

  • Environnement réseau instable : les connexions interrégionales ou interréseaux peuvent entraîner une latence réseau ou une perte de paquets.

Solution

Utilisez les nœuds périphériques Alibaba Cloud CDN pour accélérer la collecte des journaux. Cette méthode offre des avantages significatifs en termes de latence réseau et de stabilité par rapport à la collecte via le réseau public. Cette fonctionnalité entraîne des frais supplémentaires basés sur la quantité de données transférées.

  1. Activez la fonctionnalité accélération du transfert de journaux cross-domain pour votre projet.

  2. Arrêtez LoongCollector. Connectez-vous au serveur sur lequel LoongCollector est installé et exécutez la commande sudo /etc/init.d/loongcollectord stop .

  3. Modifiez l'endpoint. Dans le fichier /usr/local/ilogtail/ilogtail_config.json , remplacez la valeur du paramètre endpoint_list sous le paramètre data_servers par log-global.aliyuncs.com . Cela change le nom de domaine utilisé pour la transmission des données vers l'endpoint d'accélération.

  4. Démarrez LoongCollector. Exécutez la commande sudo /etc/init.d/loongcollectord start .

Troncature des entrées de journal uniques volumineuses

Si une entrée de journal unique est trop volumineuse, elle peut être tronquée après la collecte. Cela se produit car la taille maximale d'une entrée de journal unique est de 512 Ko (524 288 octets) par défaut. Si une entrée de journal dépasse cette taille, SLS la tronque. Pour les journaux multilignes fractionnés sur la base d'une expression régulière pour la première ligne, la limite de taille pour chaque entrée de journal résultante est également de 512 Ko. Si cette limite est dépassée, l'entrée est forcée d'être divisée en plusieurs entrées.

Solution

  1. Dans le fichier /usr/local/ilogtail/ilogtail_config.json , modifiez la valeur du paramètre max_read_buffer_size . Si le paramètre n'existe pas, ajoutez-le. La valeur maximale pour ce paramètre est de 8 Mo (8 388 608 octets).

    Notez que l'utilisation de la mémoire augmente linéairement. Vous devez réserver max_read_buffer_size × concurrence de fichiers de mémoire.
  2. Redémarrez LoongCollector. Exécutez la commande sudo /etc/init.d/loongcollectord restart .

Perte de journaux datant de plus de 15 minutes lors de la transmission

La collecte de journaux peut sembler fonctionner, mais certains journaux sont perdus. Cela se produit lorsque l'horodatage d'un journal diffère de l'heure actuelle du serveur SLS de plus de 15 minutes. Pour la sécurité des données, SLS valide l'horodatage de chaque requête, y compris celles provenant de LoongCollector, et rejette les requêtes dont l'horodatage diffère de l'heure du serveur de plus de 15 minutes. Si l'heure locale du serveur est modifiée, par exemple pour une heure future à des fins de test, les requêtes sont rejetées et les écritures de données échouent.

Solution

  1. Dans le fichier /usr/local/ilogtail/ilogtail_config.json , changez la valeur du paramètre enable_log_time_auto_adjust en true . Si le paramètre n'existe pas, ajoutez-le. Ce paramètre permet à l'heure du journal de s'ajuster automatiquement à l'heure locale du serveur.

    Lorsque cette fonctionnalité est activée, le décalage entre l'heure SLS et l'heure locale du serveur est ajouté à l'heure du journal. Étant donné que le décalage n'est mis à jour que lorsqu'une requête est rejetée, l'heure du journal que vous interrogez dans SLS peut ne pas correspondre à l'heure d'écriture réelle.
  2. Redémarrez LoongCollector. Exécutez la commande sudo /etc/init.d/loongcollectord restart .

Basculer vers un projet dans une autre région

Pour diverses raisons, vous pouvez avoir besoin de stocker les journaux collectés à partir d'un serveur dans un nouveau projet.

Solution

  1. Pour réutiliser la configuration de collecte, enregistrez le contenu du fichier de configuration de collecte avant de procéder. Le processus de désinstallation supprime ce fichier.

  2. Désinstallez LoongCollector du serveur.

  3. Choisissez la méthode d'installation de LoongCollector appropriée en fonction de la relation entre le nouveau projet et le serveur.

  4. Si vous devez également transférer les données historiques vers le nouveau projet, deux méthodes sont disponibles :

Optimiser les longs délais de transmission des journaux

Ce problème se produit lorsque l'horodatage du journal dans SLS est supérieur de plus de trois secondes à l'heure de génération du journal sur le serveur. Les raisons possibles incluent les suivantes :

  • Plus de 100 fichiers sont collectés simultanément, ou plus de 5 000 fichiers se trouvent dans le répertoire surveillé, consommant une grande quantité de mémoire.

  • Un trafic de données de journal élevé (par exemple, plus de 2 Mo/s en mode minimaliste ou plus de 1 Mo/s en mode expression régulière) entraîne une utilisation élevée du CPU.

    Activez CloudLens for SLS et vérifiez l'utilisation du CPU de l'hôte actuel sous Collection Monitoring .
  • Le taux auquel LoongCollector envoie des données à SLS dépasse 10 Mo/s.

    Activez CloudLens for SLS et vérifiez le taux de collecte de l'hôte actuel sous Collection Monitoring .

Solution

Ajustez le nombre de fichiers ou le trafic de données en fonction des raisons possibles énumérées ci-dessus. Si vous ne pouvez pas réduire l'utilisation de la mémoire ou diminuer le trafic de transmission, consultez la section Planification de la configuration des performances de collecte pour ajuster les performances de collecte.

Autres fichiers de configuration courants

Voici d'autres fichiers de configuration et d'information utilisés par LoongCollector lors de l'exécution :

Fichier de configuration de collecte LoongCollector (user_log_config.json)

  • Description : ce fichier enregistre les informations de configuration de collecte que LoongCollector obtient de SLS . Le fichier est mis à jour chaque fois que la configuration de collecte est mise à jour. Ne modifiez pas ce fichier, sauf pour configurer manuellement des informations sensibles telles que les détails AccessKey ou les mots de passe de base de données.

  • Chemin d'accès : /usr/local/ilogtail/user_log_config.json.

  • Scénario : vérifiez ce fichier pour confirmer si une configuration de collecte a été livrée au serveur. Si ce fichier existe et que son contenu correspond à la configuration de collecte dans SLS , la configuration a été livrée avec succès.

Fichier d'enregistrement AppInfo (app_info.json)

  • Description : le fichier app_info.json enregistre des informations telles que l'heure de démarrage de LoongCollector, l'adresse IP récupérée et le nom d'hôte. Ce fichier sert uniquement à des fins d'enregistrement. Toute modification apportée à celui-ci ne prend pas effet.

  • Chemin d'accès : /usr/local/ilogtail/app_info.json.

  • Scénario : affichez les informations d'adresse IP du serveur identifiées par SLS lors de la collecte pour vérifier qu'elles correspondent aux informations d'adresse IP dans le groupe de machines basé sur l'IP dans la console SLS. Cela est généralement utilisé pour résoudre les échecs de heartbeat dans les groupes de machines basés sur l'IP.

    Si vous avez défini une liaison nom d'hôte-IP dans le fichier /etc/hosts du serveur, l'adresse IP liée est automatiquement récupérée. Si aucune liaison de nom d'hôte n'est définie, l'adresse IP de la première carte d'interface réseau est automatiquement récupérée. Si le paramètre working_ip dans ilogtail_config.json est défini, sa valeur est utilisée comme adresse IP du serveur.

Journal d'exécution LoongCollector (loongcollector.LOG)

  • Description : le fichier loongcollector.LOG enregistre les journaux d'exécution de LoongCollector. Les niveaux de journalisation, du plus bas au plus élevé, sont INFO, WARN et ERROR.

  • Chemin d'accès : /usr/local/ilogtail/loongcollector.LOG.

  • Scénario : si une erreur de collecte se produit, reportez-vous d'abord à la section Diagnostiquer et surveiller LoongCollector pour vérifier les erreurs. Ensuite, résolvez le problème en consultant les types d'erreurs de collecte de journaux et le journal d'exécution de LoongCollector.

Fichier d'ID utilisateur

  • Description : ce fichier contient l'ID de compte Alibaba Cloud du projet auquel appartiennent les journaux collectés. Le nom de fichier est l'ID de compte, sans suffixe. Il indique que ce compte dispose de l'autorisation d'accéder et de collecter des journaux à partir de ce serveur.

  • Chemin d'accès : /etc/ilogtail/users/{ID de compte Alibaba Cloud}.

  • Scénario : vous n'avez besoin de configurer un ID utilisateur que lors de la collecte de journaux à partir d'instances ECS non-Alibaba Cloud, de serveurs gérés en interne ou de serveurs d'autres fournisseurs cloud. Si plusieurs comptes doivent collecter des journaux à partir du même serveur, créez plusieurs fichiers d'ID utilisateur sur ce serveur.

Fichier d'identifiant personnalisé

  • Description : ce fichier est utilisé pour configurer un identifiant personnalisé. Cet identifiant est utilisé comme contenu pour un groupe de machines à identifiant personnalisé, ce qui aide SLS à découvrir LoongCollector sur le serveur et à établir un heartbeat.

  • Chemin d'accès : /etc/ilogtail/user_defined_id.

  • Scénario : cette configuration est requise lors de l'utilisation d'un groupe de machines à identifiant personnalisé. Pour plus d'informations, consultez la section Associer un groupe de machines à une configuration de collecte LoongCollector .

Fichier CheckPoint

  • Description : le mécanisme de point de contrôle (checkpoint) enregistre la position de collecte actuelle pour garantir l'intégrité des journaux.

  • Chemin d'accès : le chemin par défaut est /tmp/logtail_checkpoint .

  • Scénario : gérez le fichier de point de contrôle en modifiant le fichier de paramètres de démarrage. Pour plus d'informations, consultez la section Limites .

FAQ

Comment effectuer une mise à jour lorsque le serveur ne peut pas se connecter à Internet

  1. Sur le serveur où vous devez mettre à jour LoongCollector , exécutez uname -m pour déterminer l'architecture du système. Ensuite, sur un serveur pouvant accéder au réseau public, exécutez la commande correspondante. Remplacez ${region_id} par la région de votre projet.

    • Architecture ARM :

      wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh;wget http://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/aarch64/main/loongcollector-linux64.tar.gz;
    • Architecture x86-64 :

      wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh;wget http://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/x86_64/main/loongcollector-linux64.tar.gz;
  2. Copiez le script d'installation et le package sur le serveur où vous devez mettre à jour LoongCollector , puis exécutez la commande suivante :

    chmod +x loongcollector.sh;./loongcollector.sh upgrade-local;