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
-
Dans l'exemple de code, remplacez
${region_id}parcn-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; -
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
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.
-
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}parcn-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; -
Exécutez la commande de mise à jour. Utilisez la commande
upgrade. Si vous utilisez la commandeinstall, l'installation est écrasée et votre configuration d'origine est perdue.chmod +x loongcollector.sh; sudo ./loongcollector.sh upgrade; -
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
Vous devez télécharger à nouveau le script logtail.sh. N'utilisez pas l'ancien script logtail.sh.
-
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}parcn-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; -
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.
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.
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.
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.
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.
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.
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.
Activez la fonctionnalité accélération du transfert de journaux cross-domain pour votre projet.
Arrêtez LoongCollector. Connectez-vous au serveur sur lequel LoongCollector est installé et exécutez la commande
sudo /etc/init.d/loongcollectord stop.Modifiez l'endpoint. Dans le fichier
/usr/local/ilogtail/ilogtail_config.json, remplacez la valeur du paramètreendpoint_listsous le paramètredata_serversparlog-global.aliyuncs.com. Cela change le nom de domaine utilisé pour la transmission des données vers l'endpoint d'accélération.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
-
Dans le fichier
/usr/local/ilogtail/ilogtail_config.json, modifiez la valeur du paramètremax_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 fichiersde mémoire. 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
-
Dans le fichier
/usr/local/ilogtail/ilogtail_config.json, changez la valeur du paramètreenable_log_time_auto_adjustentrue. 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.
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
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.
Désinstallez LoongCollector du serveur.
Choisissez la méthode d'installation de LoongCollector appropriée en fonction de la relation entre le nouveau projet et le serveur.
-
Si vous devez également transférer les données historiques vers le nouveau projet, deux méthodes sont disponibles :
Téléchargez les journaux sur votre machine locale, puis utilisez la fonctionnalité Importer des fichiers journaux historiques pour transférer les journaux vers le nouveau projet.
Utilisez la transformation des données pour copier les données de l'ancien projet vers le nouveau projet.
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
-
Sur le serveur où vous devez mettre à jour
LoongCollector, exécutezuname -mpour 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;
-
-
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;