Logtail impose des limites concernant les environnements d'exécution, la collecte de fichiers, la collecte de conteneurs, la gestion des points de contrôle (checkpoints), les configurations, les groupes de machines, les performances et la gestion des erreurs.
Environnement d'exécution
|
Limites |
Limitations |
|
Architecture |
|
|
Ressources de calcul |
L'utilisation réelle dépend du taux de collecte, du nombre de répertoires et de fichiers surveillés, ainsi que des blocages d'envoi. Maintenez l'utilisation en dessous de 80 % de la limite. |
|
Environnement système |
Les systèmes d'exploitation pris en charge sont répertoriés dans la rubrique Types de systèmes. |
|
Kubernetes |
Important
Tous les composants Logtail s'exécutent avec la priorité system-cluster-critical et peuvent entraîner l'éviction de pods existants. Ne déployez pas si les ressources du cluster sont insuffisantes. |
|
Docker |
Limites relatives à la collecte de la sortie standard des conteneurs :
|
|
Support de stockage |
Évitez les stockages réseau partagés (NAS, OSS), qui peuvent provoquer une troncature des données, des incohérences de contenu ou une suspension de la collecte. Utilisez Elastic Block Storage (EBS). |
Collecte de fichiers
|
Limites |
Limitations |
|
Taille d'un journal unique |
Par défaut : 512 Ko, ajustable jusqu'à 8 Mo avec le paramètre de démarrage max_read_buffer_size. Consultez la rubrique Définir les paramètres de démarrage de Logtail. Les journaux multilignes divisés par une expression régulière de première ligne restent soumis à la limite de 512 Ko par journal. Logtail force la division des journaux dépassant 512 Ko. Par exemple, un journal de 1 025 Ko est divisé en 512 Ko + 512 Ko + 1 Ko, ce qui génère plusieurs journaux incomplets. |
|
Encodage des fichiers |
Les encodages UTF-8 et GBK sont pris en charge. L'UTF-8 est recommandé pour des performances optimales. Avertissement
Si les fichiers journaux utilisent d'autres formats d'encodage, des problèmes tels que des caractères illisibles ou une perte de données peuvent survenir. |
|
Taille du fichier journal |
Illimitée. |
|
Rotation des fichiers journaux |
Taille par défaut de la file d'attente de rotation : 20, ajustable avec le paramètre de démarrage logreader_max_rotate_queue_size. Consultez la rubrique Définir les paramètres de démarrage de Logtail. Spécifiez le chemin du journal au format Important
Ne mélangez pas ces deux formats au sein d'une même instance Logtail. Un seul fichier correspondant à plusieurs configurations entraîne une collecte en double. Si plus de 20 fichiers ne sont pas traités, les nouveaux journaux sont perdus. Vérifiez si le quota d'écriture du shard du Logstore est dépassé, puis ajustez la concurrence de Logtail. Consultez les valeurs de paramètres recommandées. |
|
Comportement de collecte en cas de blocage de l'analyse |
Lorsque l'analyse des journaux est bloquée, Logtail maintient le descripteur de fichier journal ouvert afin d'éviter la suppression du fichier et la perte de données. Si le fichier journal subit plusieurs rotations pendant le blocage de l'analyse, Logtail place le fichier dans la file d'attente de rotation. |
|
Expression régulière |
Les expressions régulières compatibles Perl sont prises en charge. |
|
JSON |
Le JSON standard, tel que défini dans les normes RFC 7159 et ECMA-404, est entièrement pris en charge. Le JSON non standard, tel que |
|
Plusieurs configurations Logtail pour un seul fichier |
Par défaut, un fichier ne correspond qu'à une seule configuration Logtail. Consultez la rubrique Comment collecter plusieurs copies de journaux à partir d'un seul fichier. Important
Lorsque vous collectez plusieurs copies, les E/S de lecture de fichier, les ressources de calcul et les E/S réseau augmentent linéairement. |
|
Comportement d'ouverture des fichiers |
Logtail maintient les fichiers collectés et en attente ouverts pour garantir l'intégrité des données. Un fichier se ferme lorsque :
Pour libérer les handles de fichiers selon une planification après suppression, définissez le paramètre de démarrage force_release_deleted_file_fd_timeout. Consultez la rubrique Définir les paramètres de démarrage de Logtail. |
|
Comportement de la collecte initiale des journaux |
Logtail collecte uniquement les données incrémentielles. Lors de la première détection d'une modification de fichier, si le fichier dépasse 1 Mo (512 Ko pour la sortie standard des conteneurs), la collecte commence à partir du dernier mégaoctet. Sinon, elle débute depuis le début. Ajustez ce comportement avec le paramètre tail_size_kb. Consultez la rubrique Configurations Logtail (héritées). Logtail ignore les fichiers non modifiés après l'application de la configuration. Consultez la rubrique Importer des fichiers journaux historiques. |
|
Comportement lors de l'écrasement de fichiers |
Logtail identifie les fichiers par leur inode et le hachage des 1 024 premiers octets. Si l'un ou l'autre change après un écrasement, le fichier est traité comme nouveau et collecté depuis le début. Sinon, il est ignoré. |
|
Comportement lors du déplacement de fichiers |
Un fichier déplacé qui correspond à une configuration Logtail précédemment non appariée est traité comme nouveau et collecté depuis le début. Sinon, il est ignoré. |
|
Historique de collecte des fichiers |
Logtail suit l'historique de collecte des fichiers en mémoire afin de ne collecter que les données incrémentielles. Une écriture au-delà de la portée de conservation entraîne une collecte en double.
|
|
Journaux textuels non standards |
Pour les lignes de journal contenant |
Collecte de conteneurs
Ces limites s'appliquent en plus de celles relatives à la collecte de fichiers.
|
Limites |
Limitations |
|
Comportement de la collecte initiale des journaux |
Pour la sortie standard des conteneurs, lorsqu'une modification de fichier est détectée pour la première fois, la collecte commence à partir des derniers 512 Ko si le fichier dépasse 512 Ko, ou depuis le début dans le cas contraire. Ajustez ce comportement avec le paramètre StartLogMaxOffset. Consultez la rubrique Collecter la sortie standard des conteneurs en mode DaemonSet via la console. |
|
Lien symbolique |
Les liens symboliques vers des répertoires et des fichiers ne sont pas pris en charge lors de la collecte de fichiers de conteneurs. |
|
Cycle de vie du conteneur |
Durée de vie minimale du conteneur : 10 secondes. Pour la collecte de fichiers de conteneurs, Logtail limite les mises à jour des conteneurs à 10 fois toutes les 3 minutes. Ajustez ces valeurs avec les paramètres de démarrage docker_config_update_interval et max_docker_config_update_times. Consultez la rubrique Définir les paramètres de démarrage de Logtail. |
|
Rotation des journaux de sortie standard |
Docker ou kubelet effectue la rotation des fichiers de sortie standard des conteneurs. Taille de rotation par défaut : 10 Mo pour kubelet (100 Mo pour Docker sur ACK). Si la sortie standard dépasse 10 Mo/s, les fichiers subissent une rotation rapide. Pour éviter toute perte de données, collectez à partir des fichiers de conteneurs ou augmentez le paramètre containerLogMaxSize de kubelet. |
|
Pilote de journal de sortie standard |
Si vous utilisez Docker comme environnement d'exécution de conteneurs, ajoutez |
Gestion des points de contrôle (checkpoints)
|
Limites |
Limitations |
|
Délai d'expiration du point de contrôle |
Les points de contrôle sont supprimés après 30 jours d'inactivité du fichier. Avec |
|
Politique de stockage des points de contrôle |
Les points de contrôle sont enregistrés toutes les 15 minutes et à la fermeture du programme. Ajustez cette fréquence avec le paramètre de démarrage check_point_dump_interval. Consultez la rubrique Définir les paramètres de démarrage de Logtail. |
|
Emplacement de stockage des points de contrôle |
Chemin par défaut : |
|
Gestion pendant les temps d'arrêt |
La récupération après un temps d'arrêt reprend à partir du dernier point de contrôle enregistré, ce qui peut entraîner une collecte en double. Ajustez la politique d'enregistrement des points de contrôle pour minimiser les doublons. |
Configurations de collecte Logtail
|
Limites |
Limites |
|
Latence de mise à jour de la configuration |
Les mises à jour de configuration effectuées depuis la console ou via l'API mettent environ 30 secondes pour atteindre le client Logtail. |
|
Chargement dynamique des configurations |
Pris en charge. La mise à jour d'une configuration n'affecte pas les autres. |
|
Nombre total de configurations chargeables pour une instance Logtail unique |
Aucune limite stricte. Maximum recommandé : 100 configurations par serveur. |
|
Sortie via flusher tiers |
Les configurations effectuées via la console ou l'API sont liées à un Logstore. Lors de l'utilisation d'un flusher tiers, Logtail envoie également une copie au Logstore associé par défaut. |
|
Multi-comptes et inter-comptes |
Pris en charge. Configurez un identifiant utilisateur et Utilisez Logtail pour collecter des journaux de conteneurs entre différents comptes Alibaba Cloud. |
|
Multi-régions |
Non pris en charge par défaut. Pour activer cette fonctionnalité, soumettez un ticket. |
|
Global Accelerator |
Pris en charge. Activez-le côté serveur, puis configurez-le côté client. Consultez la rubrique Activer Global Accelerator. |
Groupes de machines
|
Limites |
Limitations |
|
Nombre de machines |
Aucune limite stricte. Maximum recommandé : 100 000. Dépasser ce seuil entraîne une détection incorrecte des battements de cœur (heartbeat). |
|
Nombre de configurations appliquées |
Aucune limite stricte. Maximum recommandé : 1 000. |
Performances
|
Limites |
Limitations |
|
Débit de traitement des journaux |
Limite par défaut du trafic de journaux bruts : 20 Mo/s (taux de compression typique : 5 à 10 fois). Dépasser cette limite peut entraîner une perte de données. Ajustez cette valeur avec le paramètre de démarrage max_bytes_per_sec. Consultez la rubrique Définir les paramètres de démarrage de Logtail. |
|
Performances maximales |
Débit par cœur unique :
L'utilisation de plusieurs threads de traitement via le paramètre process_thread_count peut augmenter le débit d'un facteur 1,5 à 3. |
|
Nombre maximal de répertoires et de fichiers surveillés |
Dépend du paramètre mem_usage_limit (par défaut : 384 Mo pour les hôtes, 2 048 Mo pour les conteneurs). Quatre niveaux s'appliquent :
Lorsqu'un niveau est atteint, Logtail cesse de surveiller les entrées supplémentaires. Augmentez les limites en réduisant l'étendue des répertoires surveillés ou en augmentant la valeur de mem_usage_limit. Configurez le paramètre mem_usage_limit dans la rubrique Définir les paramètres de démarrage de Logtail. Sous Linux, Logtail utilise inotify pour réduire la latence de collecte. Nombre maximal de répertoires surveillés par inotify (y compris les sous-répertoires) : 3 000. |
|
Politique de gestion des limites de ressources |
Si l'utilisation des ressources par Logtail dépasse la limite maximale pendant 5 minutes, Logtail redémarre de force. Cela peut entraîner une perte ou une duplication de données. |
|
Isolation des données multi-locataires |
Logtail fournit une isolation au niveau de la configuration. Une exception dans une configuration de collecte Logtail n'affecte pas les autres. |
|
Latence de collecte des journaux |
Dans des conditions normales, la latence entre l'écriture du journal et sa collecte par Logtail est inférieure à 1 seconde. |
|
Politique de téléchargement des journaux |
Logtail agrège et télécharge les journaux par fichier. Le téléchargement se déclenche lorsque le nombre de journaux dépasse 4 000, que la taille totale dépasse 512 Ko ou que 3 secondes se sont écoulées, selon la première condition remplie. |
Gestion des erreurs
|
Limites |
Limitations |
|
Gestion des erreurs réseau |
En cas d'erreur réseau, Logtail effectue des nouvelles tentatives avec ajustement automatique de l'intervalle. Des cas extrêmes peuvent entraîner une collecte en double ou une perte de données :
|
|
Dépassement du quota de ressources |
Si le taux d'envoi dépasse le quota du Logstore, Logtail bloque et effectue des nouvelles tentatives. Augmentez le nombre de shards du Logstore pour résoudre le problème. |
|
Exception d'heure du client |
Si la différence d'heure entre le client et le serveur dépasse 15 minutes, les nouvelles tentatives échouent après 5 essais et les données sont supprimées. Corrigez l'heure de la machine cliente. |
|
Le projet ou le Logstore n'existe pas |
Les données sont supprimées après 5 nouvelles tentatives infructueuses. Cela peut se produire si le Logstore a été supprimé via l'API. Supprimez la configuration Logtail correspondante pour résoudre le problème. |
|
Échec de l'authentification |
Les données sont supprimées après 5 nouvelles tentatives infructueuses. Causes courantes :
|
|
Autres erreurs inconnues |
Après 5 nouvelles tentatives infructueuses, les données sont supprimées. |
|
Durée maximale de nouvelle tentative avant expiration |
Si l'envoi de données échoue continuellement pendant plus de 6 heures, les données sont supprimées. |
|
Auto-vérification de l'état |
Logtail redémarre automatiquement en cas de sortie anormale ou lorsque l'utilisation des ressources dépasse les limites configurées. |
|
Dépassement du nombre maximal de répertoires et de fichiers surveillés |
Logtail ne peut pas localiser rapidement les chemins de collecte, ce qui peut entraîner une perte de données. |
|
Retard de collecte important |
La progression de la collecte des journaux est en retard par rapport à leur génération. Si plus de 20 fichiers journaux non traités subissent une rotation, une perte de données se produit. |