Todos los productos
Search
Centro de documentos

Simple Log Service:Límites de Logtail

Última actualización: Sep 02, 2026

Logtail impone límites en los entornos de ejecución, la recolección de archivos, la recolección de contenedores, la gestión de puntos de control, las configuraciones, los grupos de máquinas, el rendimiento y el manejo de errores.

Entorno de ejecución

Límites

Restricciones

Arquitectura

  • Logtail para Linux es compatible con x86_64 y arm64.

  • Logtail para Windows es compatible con x86_32 y x86_64.

Recursos de cómputo

  • CPU: Reserve como mínimo 0.1 núcleos.

  • Memoria: 30 MB como mínimo para hosts, 150 MB para Kubernetes y 100 MB para Kubernetes Controller/Operator.

El uso real depende de la tasa de recolección, el directorio monitoreado, la cantidad de archivos y los bloqueos de envío. Mantenga el uso por debajo del 80% del límite.

Entorno del sistema

Los sistemas operativos compatibles se enumeran en System types.

Kubernetes

  • La recolección de registros mediante DaemonSet requiere Kubernetes 1.10.0 o posterior con soporte para propagación de montaje HostToContainer.

  • La recolección de registros basada en CRD (alibaba-log-controller) requiere Kubernetes 1.16.0 o posterior.

    Kubernetes 1.7.0 y versiones posteriores también admiten CRD mediante apiextensions.k8s.io/v1beta1, pero la estabilidad de esta API beta varía según la versión.

Importante

Todos los componentes de Logtail se ejecutan con prioridad system-cluster-critical y pueden desalojar pods existentes. No despliegue si los recursos del clúster son insuficientes.

docker

Límites para la recolección de salida estándar de contenedores:

  • Debe agregar "log-driver": "json-file" al archivo de configuración de docker daemon.json.

  • Para CentOS 7.4 y posteriores (excepto CentOS 8.0), debe establecer fs.may_detach_mounts=1. Para obtener más información, consulte Bug 1468249, Bug 1441737 e issue 34538.

Medio de almacenamiento

Evite el almacenamiento de red compartido (NAS, OSS), ya que puede causar truncamiento de datos, inconsistencia en el contenido o suspensión de la recolección. Use Elastic Block Storage (EBS).

Recolección de archivos

Límites

Restricciones

Tamaño de un solo registro

Predeterminado: 512 KB, ajustable hasta 8 MB con el parámetro de inicio max_read_buffer_size. Set Logtail startup parameters.

Los registros multilínea divididos por una expresión regular de primera línea siguen sujetos al límite de 512 KB por registro. Los registros que superan los 512 KB se dividen forzosamente. Por ejemplo, un registro de 1,025 KB se divide en 512 KB + 512 KB + 1 KB, lo que genera varios registros incompletos.

Codificación de archivos

Se admiten las codificaciones UTF-8 y GBK. Se recomienda UTF-8 para un rendimiento óptimo.

Aviso

Si los archivos de registro usan otros formatos de codificación, pueden presentarse problemas como caracteres ilegibles o pérdida de datos.

Tamaño del archivo de registro

Sin límite.

Rotación de archivos de registro

Tamaño predeterminado de la cola de rotación: 20, ajustable con el parámetro de inicio logreader_max_rotate_queue_size. Set Logtail startup parameters.

Puede especificar la ruta del registro en formato xxx.log o xxx.log*.

Importante

No mezcle estos dos formatos en la misma instancia de Logtail. Si un solo archivo coincide con varias configuraciones, se producirá una recolección duplicada.

Si hay más de 20 archivos sin procesar, los nuevos registros se perderán. Compruebe si se excedió la cuota de escritura del shard del logstore y ajuste la concurrencia de Logtail. Recommended parameter values.

Comportamiento de recolección cuando se bloquea el análisis de registros

Cuando el análisis de registros se bloquea, Logtail mantiene abierto el descriptor del archivo de registro para evitar su eliminación y la pérdida de datos.

Si el archivo de registro rota varias veces mientras el análisis está bloqueado, Logtail coloca el archivo en la cola de rotación.

Expresión regular

Se admiten expresiones regulares compatibles con Perl.

JSON

Se admite completamente el JSON estándar, tal como se define en RFC 7159 y ECMA-404. El JSON no estándar, como {"name": "\xE5\xAD\xA6"}, no es compatible.

Varias configuraciones de Logtail para un solo archivo

De forma predeterminada, un archivo coincide solo con una configuración de Logtail. How to collect multiple copies of logs from a single file.

Importante

Al recolectar varias copias, la E/S de lectura de archivos, los recursos de cómputo y la E/S de red aumentan linealmente.

Comportamiento de apertura de archivos

Logtail mantiene abiertos los archivos recolectados y pending para garantizar la integridad de los datos. Un archivo se cierra cuando:

  • El archivo no se ha modificado durante más de 5 minutos.

  • El archivo rota y la recolección finaliza.

  • Cambia la configuración de recolección de Logtail.

Para liberar los manejadores de archivos de forma programada tras su eliminación, establezca el parámetro de inicio force_release_deleted_file_fd_timeout. Set Logtail startup parameters.

Comportamiento inicial de recolección de registros

Logtail recolecta únicamente datos incrementales. Al detectar por primera vez la modificación de un archivo, si este supera 1 MB (512 KB para la salida estándar de contenedores), la recolección comienza desde el último 1 MB. De lo contrario, inicia desde el principio.

Ajuste este comportamiento con el parámetro tail_size_kb. Logtail configurations (Legacy).

Logtail omite los archivos no modificados después de aplicar la configuración. Import historical log files.

Comportamiento de sobrescritura de archivos

Logtail identifica los archivos por su inode y el hash de los primeros 1,024 bytes. Si alguno cambia tras una sobrescritura, el archivo se trata como nuevo y se recolecta desde el inicio. En caso contrario, se omite.

Comportamiento al mover archivos

Un archivo movido que coincide con una configuración de Logtail previamente no coincidente se trata como nuevo y se recolecta desde el inicio. De lo contrario, se omite.

Historial de recolección de archivos

Logtail rastrea el historial de recolección de archivos en memoria para recolectar solo datos incrementales. Escribir fuera del alcance de retención provoca una recolección duplicada.

  • De forma predeterminada, se conserva el historial de archivos del último mes.

  • Si hay más de 5,000 archivos históricos en el mismo directorio, solo se conservan los registros de la última semana.

  • Si hay más de 10,000 archivos históricos en el mismo directorio, solo se conservan los registros del último día.

Registros de texto no estándar

Para líneas de registro que contienen \0, las versiones posteriores a 2.1.10 y 3.0.12 conservan solo el \0 intermedio y descartan los \0 iniciales y finales. Las versiones anteriores pueden truncar en el primer \0 o conservarlo por completo. Actualice Logtail para garantizar un comportamiento consistente. Otros caracteres de escape (códigos de color ASCII, caracteres no imprimibles) se notifican tal cual.

Recolección de contenedores

Nota

Estos límites se aplican adicionalmente a los límites de recolección de archivos.

Límites

Restricciones

Comportamiento inicial de recolección de registros

Para la salida estándar de contenedores, al detectar por primera vez la modificación de un archivo, la recolección comienza desde los últimos 512 KB si el archivo supera dicho tamaño; de lo contrario, inicia desde el principio. Ajuste este comportamiento con el parámetro StartLogMaxOffset. Collect container standard output in DaemonSet mode using the console.

Enlace simbólico

No se admiten enlaces simbólicos para directorios ni archivos en la recolección de archivos de contenedores.

Ciclo de vida del contenedor

Ciclo de vida mínimo del contenedor: 10 segundos. Para la recolección de archivos de contenedores, Logtail limita las actualizaciones del contenedor a 10 veces cada 3 minutos. Ajuste este comportamiento con los parámetros de inicio docker_config_update_interval y max_docker_config_update_times. Set Logtail startup parameters.

Rotación de registros de salida estándar

docker o kubelet rotan los archivos de salida estándar del contenedor. Tamaño de rotación predeterminado: 10 MB para kubelet (100 MB para docker en ACK). Si la salida estándar supera los 10 MB/s, los archivos rotan rápidamente. Para evitar la pérdida de datos, recolecte desde los archivos del contenedor o aumente el parámetro containerLogMaxSize de kubelet.

Controlador de registros de salida estándar

Si usa docker como entorno de ejecución de contenedores, debe agregar "log-driver": "json-file" al archivo de configuración de docker daemon.json.

Gestión de puntos de control

Límites

Restricciones

Tiempo de espera del punto de control

Los puntos de control se eliminan tras 30 días de inactividad del archivo. Con preserve:false, los puntos de control se eliminan tras 30 minutos de inactividad.

Política de almacenamiento de puntos de control

Los puntos de control se guardan cada 15 minutos y al salir del programa. Ajuste este comportamiento con el parámetro de inicio check_point_dump_interval. Set Logtail startup parameters.

Ubicación de almacenamiento de puntos de control

Ruta predeterminada: /tmp/logtail_checkpoint. Cámbiela con el parámetro de inicio check_point_filename. Set Logtail startup parameters.

Manejo durante interrupciones

La recuperación tras una interrupción comienza desde el último punto de control guardado, lo que puede causar recolección duplicada. Ajuste la política de guardado de puntos de control para minimizar duplicados.

Configuraciones de recolección de Logtail

Límites

Restricciones

Latencia de actualización de configuración

Las actualizaciones de configuración desde la consola o la API tardan aproximadamente 30 segundos en llegar al cliente Logtail.

Carga dinámica de configuraciones

Compatible. La actualización de una configuración no afecta a las demás.

Número total de configuraciones cargables para una sola instancia de Logtail

Sin límite estricto. Máximo recomendado: 100 configuraciones por servidor.

Salida de flusher de terceros

Las configuraciones de la consola o la API están vinculadas a un logstore. Al usar un flusher de terceros, Logtail también envía una copia al logstore asociado de forma predeterminada.

Cuentas múltiples y entre cuentas

Compatible. Configure a user identifier y Use Logtail to collect container logs across Alibaba Cloud accounts.

Regiones múltiples

No compatible de forma predeterminada. Para habilitarlo, envíe un ticket.

Global Accelerator

Compatible. Habilítelo en el lado del servidor y luego configúrelo en el cliente. Enable Global Accelerator.

Grupos de máquinas

Límites

Restricciones

Número de máquinas

Sin límite estricto. Máximo recomendado: 100,000. Superar esta cifra provoca detecciones de latido incorrectas.

Número de configuraciones aplicadas

Sin límite estricto. Máximo recomendado: 1,000.

Rendimiento

Límites

Restricciones

Rendimiento de procesamiento de registros

Límite predeterminado de tráfico de registros sin procesar: 20 MB/s (relación de compresión típica: 5-10x). Superar este límite puede causar pérdida de datos. Ajuste este valor con el parámetro de inicio max_bytes_per_sec. Set Logtail startup parameters.

Rendimiento máximo

Rendimiento por núcleo:

  • Modo simple: La capacidad máxima de procesamiento de registros es de 100 MB/s.

  • Modo de expresión regular: La capacidad máxima de procesamiento predeterminada es de 20 MB/s. Esto depende de la complejidad de la expresión regular.

  • El rendimiento para registros delimitados por separadores tiene un tope de 40 MB/s.

  • Modo JSON: La capacidad máxima de procesamiento de registros es de 30 MB/s.

El uso de varios hilos de procesamiento mediante el parámetro process_thread_count puede aumentar el rendimiento entre 1.5 y 3 veces.

Número máximo de directorios y archivos monitoreados

Depende del parámetro mem_usage_limit (predeterminado: 384 MB para hosts, 2,048 MB para contenedores). Se aplican cuatro niveles:

  • Número total máximo de directorios monitoreados: ⌊mem_usage_limit/100⌋ × 5,000. Esto no incluye los directorios especificados en la lista negra de la configuración de recolección de Logtail.

  • Número total máximo de directorios y archivos monitoreados: ⌊mem_usage_limit/100⌋ × 50,000. Esto no incluye los directorios especificados en la lista negra de la configuración de recolección de Logtail, pero sí incluye los archivos que no coinciden con ninguna configuración de recolección de Logtail.

  • Número total de directorios y archivos monitoreados para una sola configuración de recolección: ⌊mem_usage_limit/100⌋ × 5,000. Esto no incluye los directorios especificados en la lista negra de la configuración de recolección de Logtail, pero sí incluye los archivos que no coinciden con dicha configuración.

  • Número total de subdirectorios y archivos monitoreados en un solo directorio: ⌊mem_usage_limit/100⌋ × 5,000. Esto incluye los directorios especificados en la lista negra de la configuración de recolección de Logtail y los archivos que no coinciden con ninguna configuración de recolección de Logtail.

Cuando se alcanza cualquiera de los niveles, Logtail deja de monitorear entradas adicionales. Aumente los límites al reducir los directorios monitoreados o elevar el valor de mem_usage_limit. Configure el parámetro mem_usage_limit en Set Logtail startup parameters.

En Linux, Logtail usa inotify para reducir la latencia de recolección. Número máximo de directorios monitoreados con inotify (incluidos subdirectorios): 3,000.

Política de manejo de límites de recursos

Si el uso de recursos de Logtail supera el límite máximo durante 5 minutos, Logtail se reinicia forzosamente. Esto puede causar pérdida o duplicación de datos.

Aislamiento de datos multiinquilino

Logtail proporciona aislamiento a nivel de configuración. Una excepción en una configuración de recolección de Logtail no afecta a las demás.

Latencia de recolección de registros

En condiciones normales, la latencia desde la escritura del registro hasta su recolección por Logtail es inferior a 1 segundo.

Política de carga de registros

Logtail agrega y carga registros por archivo. La carga se activa cuando el recuento de registros supera los 4,000, el tamaño total excede los 512 KB o transcurren 3 segundos, lo que ocurra primero.

Manejo de errores

Límites

Restricciones

Manejo de errores de red

Ante errores de red, Logtail reintenta con ajuste automático de intervalos. En casos extremos, esto puede causar recolección duplicada o pérdida de datos:

  • Si el servidor recibe un paquete pero el cliente no recibe la respuesta en 15 segundos, el reintento causa recolección duplicada.

  • Si se reciben 5 paquetes corruptos consecutivos, los datos se descartan.

Cuota de recursos excedida

Si la tasa de envío supera la cuota del logstore, Logtail se bloquea y reintenta. Aumente el número de shards del logstore para resolverlo.

Excepción de hora del cliente

Si la diferencia horaria entre cliente y servidor supera los 15 minutos, los reintentos fallan tras 5 intentos y los datos se descartan. Corrija la hora de la máquina cliente.

El proyecto o logstore no existe

Los datos se descartan tras 5 reintentos fallidos. Esto puede ocurrir si el logstore se eliminó mediante la API. Elimine la configuración de Logtail correspondiente para resolverlo.

Error de autenticación

Los datos se descartan tras 5 reintentos fallidos. Causas comunes:

  • Una red inestable durante el inicio de Logtail impide la autenticación.

  • La máquina no puede establecer una conexión HTTPS con el endpoint de SLS para la autenticación.

Otros errores desconocidos

Tras 5 reintentos fallidos, los datos se descartan.

Tiempo máximo de reintento antes de agotar el tiempo de espera

Si el envío de datos falla continuamente durante más de 6 horas, los datos se descartan.

Autoverificación de estado

Logtail se reinicia automáticamente ante salidas anómalas o cuando el uso de recursos supera los límites configurados.

Superación del número máximo de directorios y archivos monitoreados

Logtail no puede localizar las rutas de recolección a tiempo, lo que puede causar pérdida de datos.

Retraso significativo en la recolección

El progreso de la recolección de registros va a la zaga de la generación de registros. Si rotan más de 20 archivos de registro sin procesar, se produce pérdida de datos.