Todos os produtos
Search
Central de documentação

Simple Log Service:Limites do Logtail

Última atualização: Jul 03, 2026

O Logtail impõe limites para ambientes de execução, coleta de arquivos, coleta de contêineres, gerenciamento de checkpoints, configurações, grupos de máquinas, desempenho e tratamento de erros.

Ambiente de execução

Limites

Restrições

Arquitetura

  • O Logtail para Linux é compatível com x86_64 e arm64.

  • O Logtail para Windows é compatível com x86_32 e x86_64.

Recursos de computação

  • CPU: reserve pelo menos 0,1 núcleo.

  • Memória: mínimo de 30 MB para hosts, 150 MB para Kubernetes e 100 MB para Kubernetes Controller/Operator.

O uso real depende da taxa de coleta, do diretório monitorado, da quantidade de arquivos e de bloqueios no envio. Mantenha o uso abaixo de 80% do limite.

Ambiente do sistema

Os sistemas operacionais compatíveis estão listados em Tipos de sistema.

Kubernetes

  • A coleta de logs via DaemonSet requer Kubernetes 1.10.0 ou posterior com suporte à propagação de montagem HostToContainer.

  • A coleta de logs baseada em CRD (alibaba-log-controller) exige Kubernetes 1.16.0 ou superior.

    O Kubernetes 1.7.0 e versões posteriores também são compatíveis com CRDs via apiextensions.k8s.io/v1beta1, mas a estabilidade dessa API beta varia conforme a versão.

Importante

Todos os componentes do Logtail executam com prioridade system-cluster-critical e podem remover pods existentes. Não faça a implantação quando os recursos do cluster forem insuficientes.

docker

Limites para coleta de saída padrão de contêineres:

  • Adicione "log-driver": "json-file" ao arquivo de configuração do docker daemon.json.

  • Para CentOS 7.4 e posterior (exceto CentOS 8.0), defina fs.may_detach_mounts=1. Para mais informações, consulte Bug 1468249, Bug 1441737 e issue 34538.

Meio de armazenamento

Evite armazenamento de rede compartilhado (NAS, OSS), pois isso pode causar truncamento de dados, inconsistência de conteúdo ou suspensão da coleta. Utilize o Elastic Block Storage (EBS).

Coleta de arquivos

Limites

Restrições

Tamanho de um único log

Padrão: 512 KB, ajustável até 8 MB com o parâmetro de inicialização max_read_buffer_size. Definir parâmetros de inicialização do Logtail.

Logs multilinha divididos por uma regex da primeira linha ainda estão sujeitos ao limite de 512 KB por log. Logs que excedem 512 KB são divididos forçosamente. Por exemplo, um log de 1.025 KB é dividido em 512 KB + 512 KB + 1 KB, resultando em múltiplos logs incompletos.

Codificação de arquivo

As codificações UTF-8 e GBK são compatíveis. Recomenda-se UTF-8 para obter o melhor desempenho.

Aviso

Se os arquivos de log usarem outros formatos de codificação, problemas como caracteres corrompidos ou perda de dados poderão ocorrer.

Tamanho do arquivo de log

Ilimitado.

Rotação de arquivo de log

Tamanho padrão da fila de rotação: 20, ajustável com o parâmetro de inicialização logreader_max_rotate_queue_size. Definir parâmetros de inicialização do Logtail.

Especifique o caminho do log no formato xxx.log ou xxx.log*.

Importante

Não misture esses dois formatos na mesma instância do Logtail. Um único arquivo correspondente a múltiplas configurações causa coleta duplicada.

Se houver mais de 20 arquivos não processados, novos logs serão perdidos. Verifique se a cota de gravação do shard do Logstore foi excedida e ajuste a concorrência do Logtail. Valores de parâmetros recomendados.

Comportamento de coleta quando a análise de logs está bloqueada

Quando a análise de logs é bloqueada, o Logtail mantém o descritor de arquivo de log aberto para evitar exclusão de arquivos e perda de dados.

Caso o arquivo sofra rotação múltiplas vezes enquanto a análise estiver bloqueada, o Logtail colocará o arquivo na fila de rotação.

Expressão regular

Expressões regulares compatíveis com Perl são suportadas.

JSON

O JSON padrão, conforme definido em RFC 7159 e ECMA-404, é totalmente compatível. JSON não padrão, como {"name": "\xE5\xAD\xA6"}, não é compatível.

Múltiplas configurações do Logtail para um arquivo

Por padrão, um arquivo corresponde a apenas uma configuração do Logtail. Como coletar várias cópias de logs de um único arquivo.

Importante

Ao coletar múltiplas cópias, a E/S de leitura de arquivo, os recursos de computação e a E/S de rede aumentam linearmente.

Comportamento de abertura de arquivo

O Logtail mantém abertos os arquivos coletados e pendentes para garantir a integridade dos dados. Um arquivo é fechado quando:

  • O arquivo não é modificado há mais de 5 minutos.

  • O arquivo passa por rotação e a coleta é concluída.

  • A configuração de coleta do Logtail é alterada.

Para liberar identificadores de arquivo periodicamente após a exclusão, defina o parâmetro de inicialização force_release_deleted_file_fd_timeout. Definir parâmetros de inicialização do Logtail.

Comportamento inicial de coleta de logs

O Logtail coleta apenas dados incrementais. Ao detectar pela primeira vez a modificação de um arquivo, se ele exceder 1 MB (512 KB para stdout de contêiner), a coleta começa a partir do último 1 MB. Caso contrário, a coleta inicia do começo.

Ajuste esse comportamento com o parâmetro tail_size_kb. Configurações do Logtail (Legado).

O Logtail ignora arquivos não modificados após a aplicação da configuração. Importar arquivos de log históricos.

Comportamento de sobrescrita de arquivo

O Logtail identifica arquivos pelo inode e pelo hash dos primeiros 1.024 bytes. Se qualquer um desses mudar após uma sobrescrita, o arquivo será tratado como novo e coletado desde o início. Caso contrário, ele será ignorado.

Comportamento de movimentação de arquivo

Um arquivo movido que corresponda a uma configuração do Logtail anteriormente não correspondida é tratado como novo e coletado desde o início. Caso contrário, ele será ignorado.

Histórico de coleta de arquivos

O Logtail rastreia o histórico de coleta de arquivos na memória para coletar apenas dados incrementais. Gravações fora do escopo de retenção causam coleta duplicada.

  • Por padrão, o histórico de arquivos do último mês é retido.

  • Se houver mais de 5.000 arquivos históricos no mesmo diretório, apenas registros da última semana serão retidos.

  • Se houver mais de 10.000 arquivos históricos no mesmo diretório, apenas registros do último dia serão retidos.

Logs de texto não padrão

Para linhas de log contendo \0, as versões posteriores a 2.1.10 e 3.0.12 retêm apenas o \0 no meio do log e descartam os caracteres \0 iniciais e finais. Versões anteriores podem truncar no primeiro \0 ou retê-lo inteiramente. Atualize o Logtail para garantir um comportamento consistente. Outros caracteres de escape (códigos de cores ASCII, caracteres não imprimíveis) são relatados como estão.

Coleta de contêineres

Nota

Estes limites se aplicam adicionalmente aos limites de coleta de arquivos.

Limites

Restrições

Comportamento inicial de coleta de logs

Para stdout de contêiner, quando uma modificação de arquivo é detectada pela primeira vez, a coleta começa a partir dos últimos 512 KB se o arquivo exceder 512 KB, ou do início caso contrário. Ajuste com o parâmetro StartLogMaxOffset. Coletar saída padrão de contêiner no modo DaemonSet usando o console.

Link simbólico

Links simbólicos para diretórios e arquivos não são compatíveis com a coleta de arquivos de contêiner.

Ciclo de vida do contêiner

Ciclo de vida mínimo do contêiner: 10 segundos. Para coleta de arquivos de contêiner, o Logtail limita as atualizações do contêiner a 10 vezes a cada 3 minutos. Ajuste com os parâmetros de inicialização docker_config_update_interval e max_docker_config_update_times. Definir parâmetros de inicialização do Logtail.

Rotação de log de saída padrão

O docker ou kubelet rotaciona os arquivos de stdout do contêiner. Tamanho padrão de rotação: 10 MB para kubelet (100 MB para docker no ACK). Se o stdout exceder 10 MB/s, os arquivos rotacionarão rapidamente. Para evitar perda de dados, colete a partir de arquivos do contêiner ou aumente o parâmetro containerLogMaxSize do kubelet.

Driver de log de saída padrão

Se você usar docker como runtime de contêiner, adicione "log-driver": "json-file" ao arquivo de configuração do docker daemon.json.

Gerenciamento de checkpoints

Limites

Restrições

Tempo limite do checkpoint

Os checkpoints são excluídos após 30 dias de inatividade do arquivo. Com preserve:false, os checkpoints são excluídos após 30 minutos de inatividade.

Política de armazenamento de checkpoint

Os checkpoints são salvos a cada 15 minutos e na saída do programa. Ajuste com o parâmetro de inicialização check_point_dump_interval. Definir parâmetros de inicialização do Logtail.

Local de armazenamento do checkpoint

Caminho padrão: /tmp/logtail_checkpoint. Altere com o parâmetro de inicialização check_point_filename. Definir parâmetros de inicialização do Logtail.

Tratamento durante indisponibilidade

A recuperação após indisponibilidade começa a partir do último checkpoint salvo, o que pode causar coleta duplicada. Ajuste a política de salvamento de checkpoints para minimizar duplicatas.

Configurações de coleta do Logtail

Limites

Restrições

Latência de atualização de configuração

Atualizações de configuração via console ou API levam cerca de 30 segundos para chegar ao cliente Logtail.

Carregamento dinâmico de configurações

Compatível. A atualização de uma configuração não afeta as demais.

Número total de configurações carregáveis para uma única instância do Logtail

Sem limite rígido. Máximo recomendado: 100 configurações por servidor.

Saída de flusher de terceiros

Configurações via console ou API estão vinculadas a um Logstore. Ao usar um flusher de terceiros, o Logtail também envia uma cópia para o Logstore associado por padrão.

Multicontas e contas cruzadas

Compatível. Configurar um identificador de usuário e Usar o Logtail para coletar logs de contêiner entre contas Alibaba Cloud.

Múltiplas regiões

Não compatível por padrão. Para ativar, envie um ticket.

Global Accelerator

Compatível. Ative no lado do servidor e configure no cliente. Ativar Global Accelerator.

Grupos de máquinas

Limites

Restrições

Número de máquinas

Sem limite rígido. Máximo recomendado: 100.000. Exceder esse valor causa detecção incorreta de heartbeat.

Número de configurações aplicadas

Sem limite rígido. Máximo recomendado: 1.000.

Desempenho

Limites

Restrições

Throughput de processamento de logs

Limite padrão de tráfego de logs brutos: 20 MB/s (taxa de compressão típica: 5-10x). Exceder esse limite pode causar perda de dados. Ajuste com o parâmetro de inicialização max_bytes_per_sec. Definir parâmetros de inicialização do Logtail.

Desempenho máximo

Throughput de núcleo único:

  • Modo simples: capacidade máxima de processamento de logs de 100 MB/s.

  • Modo Regex: capacidade máxima de processamento padrão de 20 MB/s. Depende da complexidade da expressão regular.

  • O throughput para logs delimitados por separador é limitado a 40 MB/s.

  • Modo JSON: capacidade máxima de processamento de logs de 30 MB/s.

Múltiplas threads de processamento via parâmetro process_thread_count podem aumentar o throughput em 1,5 a 3 vezes.

Número máximo de diretórios e arquivos monitorados

Depende do parâmetro mem_usage_limit (padrão: 384 MB para hosts, 2.048 MB para contêineres). Quatro níveis se aplicam:

  • Número total máximo de diretórios monitorados: ⌊mem_usage_limit/100⌋ × 5.000. Não inclui diretórios especificados na lista de bloqueios da configuração de coleta do Logtail.

  • Número total máximo de diretórios e arquivos monitorados: ⌊mem_usage_limit/100⌋ × 50.000. Não inclui diretórios especificados na lista de bloqueios da configuração de coleta do Logtail, mas inclui arquivos não correspondidos por nenhuma configuração de coleta.

  • Número total de diretórios e arquivos monitorados para uma única configuração de coleta: ⌊mem_usage_limit/100⌋ × 5.000. Não inclui diretórios especificados na lista de bloqueios da configuração de coleta do Logtail, mas inclui arquivos não correspondidos pela configuração.

  • Número total de subdiretórios e arquivos monitorados em um único diretório: ⌊mem_usage_limit/100⌋ × 5.000. Inclui diretórios especificados na lista de bloqueios da configuração de coleta do Logtail e arquivos não correspondidos por nenhuma configuração.

Quando qualquer nível é atingido, o Logtail para de monitorar entradas adicionais. Aumente os limites restringindo os diretórios monitorados ou elevando o mem_usage_limit. Configure o parâmetro mem_usage_limit em Definir parâmetros de inicialização do Logtail.

No Linux, o Logtail usa inotify para reduzir a latência de coleta. Número máximo de diretórios monitorados por inotify (incluindo subdiretórios): 3.000.

Política de tratamento de limite de recursos

Se o uso de recursos do Logtail exceder o limite máximo por 5 minutos, o Logtail reinicia forçosamente. Isso pode causar perda ou duplicação de dados.

Isolamento de dados multilocatário

O Logtail fornece isolamento no nível de configuração. Uma exceção em uma configuração de coleta do Logtail não afeta as outras.

Latência de coleta de logs

Em condições normais, a latência entre a gravação do log e a coleta pelo Logtail é inferior a 1 segundo.

Política de upload de logs

O Logtail agrega e faz upload de logs por arquivo. O upload é acionado quando a contagem de logs excede 4.000, o tamanho total excede 512 KB ou 3 segundos se passam, o que ocorrer primeiro.

Tratamento de erros

Limites

Restrições

Tratamento de erros de rede

Em caso de erros de rede, o Logtail tenta novamente com ajuste automático de intervalo. Casos extremos podem causar coleta duplicada ou perda de dados:

  • Se o servidor receber um pacote, mas o cliente não receber a resposta dentro de 15 segundos, a nova tentativa causará coleta duplicada.

  • Se 5 pacotes corrompidos consecutivos forem recebidos, os dados serão descartados.

Cota de recursos excedida

Se a taxa de envio exceder a cota do Logstore, o Logtail bloqueia e tenta novamente. Aumente o número de shards do Logstore para resolver.

Exceção de tempo do cliente

Se a diferença de tempo entre cliente e servidor exceder 15 minutos, as novas tentativas falharão após 5 vezes e os dados serão descartados. Corrija a hora da máquina cliente.

Projeto ou Logstore inexistente

Os dados são descartados após 5 tentativas falhas. Isso pode ocorrer se o Logstore tiver sido excluído via API. Exclua a configuração correspondente do Logtail para resolver.

Falha na autenticação

Os dados são descartados após 5 tentativas falhas. Causas comuns:

  • Rede instável durante a inicialização do Logtail impede a autenticação.

  • A máquina não consegue estabelecer uma conexão HTTPS com o endpoint do SLS para autenticação.

Outros erros desconhecidos

Após 5 tentativas malsucedidas, os dados são descartados.

Tempo máximo de nova tentativa antes do tempo limite

Se o envio de dados falhar continuamente por mais de 6 horas, os dados serão descartados.

Autoverificação de status

O Logtail reinicia automaticamente em saídas anormais ou quando o uso de recursos excede os limites configurados.

Excesso do número máximo de diretórios e arquivos monitorados

O Logtail não consegue localizar os caminhos de coleta prontamente, o que pode causar perda de dados.

Atraso significativo na coleta

O progresso da coleta de logs fica atrasado em relação à geração de logs. Se mais de 20 arquivos de log não processados sofrerem rotação, ocorrerá perda de dados.