Todos os produtos
Search
Central de documentação

Simple Log Service:Gerenciamento de configuração

Última atualização: Oct 09, 2026

Gerencie o ciclo de vida, os parâmetros de inicialização e as configurações de tempo de execução do LoongCollector após a instalação.

Comandos comuns do LoongCollector

Iniciar, parar e reiniciar o LoongCollector

Caso você tenha requisitos específicos de desempenho para a coleta de dados, modifique o arquivo de configuração de parâmetros de inicialização (ilogtail_config.json) antes de iniciar o LoongCollector.
sudo /etc/init.d/loongcollectord start # Start
sudo /etc/init.d/loongcollectord stop # Stop
sudo /etc/init.d/loongcollectord restart # Restart

Verifique o status do LoongCollector

sudo /etc/init.d/loongcollectord status # "loongcollector is running" indicates the agent started successfully.

Verifique a versão do LoongCollector

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

Arquivo de configuração de parâmetros de inicialização (ilogtail_config.json)

  • Configure os parâmetros de inicialização do LoongCollector. Configurações inadequadas podem degradar o desempenho da coleta ou causar erros.

  • Caminho do arquivo: /usr/local/ilogtail/ilogtail_config.json.

  • Casos de uso: O SLS limita o desempenho de coleta do LoongCollector para evitar o consumo excessivo de recursos do servidor e o impacto em outros serviços. Se o desempenho de coleta do LoongCollector não atender aos seus requisitos, modifique os parâmetros de inicialização. Para obter mais informações sobre casos de uso específicos, consulte Resolve common collection issues by modifying configurations.

  • Exemplo de arquivo:

    {
        "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 Simple Log Service (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
    }
  • A tabela a seguir lista os parâmetros de inicialização comuns. Adicione ou modifique-os conforme necessário e mantenha os valores padrão para quaisquer parâmetros não listados.

    Parâmetros de inicialização do ilogtail_config.json

    Parâmetro

    Tipo

    Descrição

    Exemplo

    cpu_usage_limit

    double

    O limiar de uso de CPU, com base em um único núcleo de CPU.

    • Valores válidos: 0,1 até o número de núcleos de CPU na máquina.

    • Valor padrão: 0,4

    Aviso

    O parâmetro cpu_usage_limit é um limite flexível. O uso real de CPU pode exceder esse valor. Se o limite for excedido por cinco minutos consecutivos, o sistema aciona um circuit breaker e reinicia o LoongCollector automaticamente.

    Por exemplo, se você definir este parâmetro como 0,4, o SLS tentará limitar o uso de CPU do coletor a 40% de um único núcleo. Se o uso exceder esse limite, o LoongCollector reiniciará automaticamente.

    Geralmente, um único núcleo pode processar cerca de 100 MB/s no modo minimalista ou 20 MB/s no modo de expressão regular completa.

    "cpu_usage_limit" : 0,4

    mem_usage_limit

    int

    O limiar de uso de memória em megabytes (MB).

    • Valores válidos: 128 MB a 8192 MB

    • Valor padrão: 384 MB (para hosts), 2.048 MB (para componentes do ACK)

    Aviso

    O parâmetro mem_usage_limit é um limite flexível. O uso real de memória pode exceder esse valor. Se o limite for excedido por cinco minutos consecutivos, o sistema aciona um circuit breaker e reinicia o LoongCollector automaticamente.

    O parâmetro mem_usage_limit afeta a taxa de coleta, a quantidade de diretórios e arquivos monitorados e o congestionamento de envio. Para obter mais informações, consulte Limits.

    "mem_usage_limit" : 384

    max_bytes_per_sec

    int

    A taxa máxima de envio para dados brutos, em bytes por segundo.

    • Valores válidos: 1.024 Byte/s a 52.428.800 Byte/s

    • Valor padrão: 20.971.520 Byte/s (20 MB/s = 20 × 1024 × 1024 = 20.971.520 Byte/s)

      Importante

      Um valor maior que 20.971.520 Byte/s (20 MB/s) indica que não há limite de velocidade.

    Por exemplo, se você definir este parâmetro como 1048576, a taxa de envio de dados será de 1 MB/s.

    "max_bytes_per_sec" : 1048576

    process_thread_count

    int

    O número de threads de processamento de dados.

    • Valores válidos: 1 a 64

    • Valor padrão: 1

    Uma única thread geralmente consegue lidar com 24 MB/s de gravação de dados no modo minimalista ou 12 MB/s no modo de expressão regular completa. Em circunstâncias normais, não é necessário ajustar o valor deste parâmetro.

    "process_thread_count" : 1

    send_request_concurrency

    int

    O nível de concorrência assíncrona.

    • Valores válidos: 15 a 80

    • Valor padrão: 15

    Se o TPS de gravação for alto, defina um valor de concorrência assíncrona maior. É possível estimar que uma requisição concorrente suporta aproximadamente de 0,5 MB/s a 1 MB/s de throughput de rede, dependendo da latência da rede.

    Nota

    Definir um valor de concorrência assíncrona muito alto pode consumir portas de rede em excesso, o que exige o ajuste de parâmetros relacionados ao TCP.

    "send_request_concurrency" : 15

    buffer_file_num

    int

    O número máximo de arquivos de cache.

    • Valores válidos: 1 a 100

    • Valor padrão: 25

    Se ocorrerem problemas de rede ou estouro de cota de gravação, o coletor armazena em cache os logs analisados em arquivos locais no diretório de instalação. Ele tenta reenviá-los após a resolução do problema.

    "buffer_file_num" : 25

    buffer_file_size

    int

    O tamanho máximo de um único arquivo de cache em bytes.

    • Valores válidos: 1.048.576 bytes a 104.857.600 bytes

    • Valor padrão: 20.971.520 bytes

    O espaço máximo em disco para arquivos de cache é buffer_file_size * buffer_file_num.

    "buffer_file_size" : 20971520

    buffer_file_path

    String

    O diretório onde os arquivos de cache são armazenados. O valor padrão é vazio, o que significa que o coletor armazena os arquivos de cache no diretório de instalação /usr/local/ilogtail.

    Se você definir este parâmetro, mova manualmente os arquivos chamados logtail_buffer_file_* do diretório original para o novo diretório. Isso garante que o coletor possa ler os arquivos de cache, enviar os dados e, em seguida, exclua os arquivos.

    "buffer_file_path" : ""

    bind_interface

    String

    O nome da placa de interface de rede a ser vinculada. Se deixado em branco, o LoongCollector se vincula automaticamente a uma placa disponível.

    Se você definir este parâmetro para uma placa de interface de rede específica, como eth1, o LoongCollector usará essa placa para enviar os logs.

    Nota

    Recomenda-se o uso de working_interface. Se ambos estiverem configurados, o valor de working_interface terá precedência.

    "bind_interface" : ""

    working_interface

    String

    Nome da placa de rede a ser vinculada. Caso seja deixado em branco, o LoongCollector se vincula automaticamente a uma placa disponível.

    Se você definir este parâmetro para uma placa de interface de rede específica, como eth1, o LoongCollector usará essa placa para enviar os logs.

    "working_interface" : ""

    check_point_filename

    String

    O caminho para salvar o arquivo de ponto de verificação. Valor padrão: /tmp/logtail_check_point.

    "check_point_filename" : "/tmp/logtail_check_point"

    check_point_dump_interval

    int

    O intervalo de atualização do arquivo de ponto de verificação, em segundos. O valor padrão é 900 (15 minutos).

    "check_point_dump_interval" : 900

    user_config_file_path

    String

    O caminho para salvar o arquivo de configuração. Por padrão, o sistema usa o diretório do binário do processo e o nome de arquivo user_log_config.json.

    "user_config_file_path" : "user_log_config.json"

    discard_old_data

    Boolean

    Especifica se o sistema deve descartar logs históricos. Valor padrão: true. Se este parâmetro for definido como true, o sistema descarta logs com mais de 12 horas.

    "discard_old_data" : true

    ilogtail_discard_interval

    int

    O limite de tempo para descartar logs históricos, em segundos. Valor padrão: 43200 (12 horas).

    "ilogtail_discard_interval": 43200

    working_ip

    String

    Especifica o endereço IP reportado pelo servidor. Se deixado em branco, o sistema obtém o endereço IP automaticamente do servidor.

    "working_ip" : ""

    working_hostname

    String

    Especifica o nome de host reportado pelo servidor. Se deixado em branco, o sistema obtém o nome de host automaticamente do servidor.

    "working_hostname" : ""

    max_read_buffer_size

    long

    O tamanho máximo de uma única entrada de log, em bytes. Valor padrão: 524.288 (512 KB). Valor máximo: 8.388.608 (8 MB).

    Se uma única entrada de log exceder 524.288 bytes, aumente o valor deste parâmetro.

    "max_read_buffer_size" : 524288

    oas_connect_timeout

    long

    O tempo limite de conexão para requisições que obtêm configurações de coleta ou informações de AccessKey, em segundos. Valor padrão: 5.

    Aumente este valor para conexões de rede lentas.

    "oas_connect_timeout" : 5

    oas_request_timeout

    long

    O tempo limite total da requisição para obter configurações de coleta ou informações de AccessKey, em segundos. Valor padrão: 10.

    Aumente este valor se as requisições atingirem o tempo limite devido a uma rede lenta.

    "oas_request_timeout" : 10

    data_server_port

    long

    Se você definir data_server_port como 443, o sistema envia os dados para o SLS via HTTPS.

    "data_server_port": 443

    enable_log_time_auto_adjust

    Boolean

    Se você definir enable_log_time_auto_adjust como true, o horário do log se ajustará automaticamente à hora local do servidor.

    Para garantir a segurança dos dados, o SLS valida o timestamp em cada requisição, incluindo as requisições do LoongCollector. Ele rejeita requisições com um timestamp que difira do horário do servidor SLS em mais de 15 minutos. O coletor inclui a hora local do servidor em suas requisições. Se a hora local do servidor for alterada (por exemplo, para um horário futuro para testes), o SLS pode rejeitar as requisições e as gravações de dados podem falhar. Use este parâmetro para permitir que o horário do log se adapte à hora local do servidor.

    Importante
    • Quando este recurso está ativado, o sistema adiciona a diferença entre o horário do SLS e a hora local do servidor ao horário do log. Como o sistema atualize a diferença apenas quando o servidor SLS rejeita uma requisição, o horário do log que você consulta no SLS pode não corresponder ao horário real de gravação.

    • Parte da lógica do LoongCollector depende de um horário de sistema monotonicamente crescente. Recomendamos reiniciar o coletor após ajustar a hora da máquina.

    "enable_log_time_auto_adjust": true

    accept_multi_config

    Boolean

    Especifica se várias configurações de coleta podem coletar logs do mesmo arquivo. Valor padrão: false.

    Por padrão, o sistema coleta um arquivo usando apenas uma configuração de coleta. Use este parâmetro para remover essa restrição. O processamento de cada configuração de coleta é independente. Permitir que várias configurações coletem do mesmo arquivo multiplica o consumo de CPU e memória.

    "accept_multi_config": true

    enable_checkpoint_sync_write

    Boolean

    Especifica se o coletor deve ativar o recurso de gravação síncrona. Valor padrão: false.

    O coletor usa o recurso de gravação síncrona principalmente com o recurso ExactlyOnce. Quando o ExactlyOnce está ativado, o coletor registra informações de ponto de verificação detalhadas e no nível de arquivo no disco local. No entanto, por motivos de desempenho, o coletor não usa a chamada sync por padrão ao gravar pontos de verificação. Se a máquina reiniciar antes de o sistema gravar os dados do buffer no disco, o sistema poderá perder o ponto de verificação. Nesse caso, defina enable_checkpoint_sync_write como true e ative as gravações síncronas. Para obter mais informações, consulte Logtail configuration (Old version).

    "enable_checkpoint_sync_write": false

    enable_env_ref_in_config

    Boolean

    Especifica se o sistema deve ative a substituição de variáveis de ambiente nas configurações de coleta. Valor padrão: false.

    Quando este recurso está ativado, você pode usar ${xxx} na configuração de coleta no console como um espaço reservado para a variável de ambiente xxx. Por exemplo, se você definir o caminho de coleta como /${xxx}/logs e a variável de ambiente for xxx=user, o caminho de coleta efetivo será /user/logs.

    Se a sua configuração precisar usar os caracteres literais ${ ou }, você pode escapá-los usando $${ e $}.

    "enable_env_ref_in_config": false

    logreader_max_rotate_queue_size

    Int

    O comprimento máximo da fila de rotação. Valor padrão: 20. Quando a coleta de logs sofre bloqueios ou atrasos, os arquivos pendentes de coleta mantêm seus identificadores de arquivo e aguardam nesta fila.

    Se a coleta estiver atrasada e você precisar controlar o uso máximo de disco, considere reduzir este valor.

    Aviso

    Se o número de arquivos atrasados exceder este valor, o coletor ignora a coleta de novos arquivos.

    "logreader_max_rotate_queue_size" : 10

    data_endpoint_policy

    string

    A política de alternância para endpoints do SLS. Valores válidos:

    Nota

    Verifique o parâmetro data_server no arquivo ilogtail_config.json e verifique a existência de um endpoint padrão.

    • designated_first (Padrão)

      • Se um endpoint padrão for especificado para uma região e estiver disponível, o sistema usará o endpoint padrão.

      • Se um endpoint padrão for especificado para uma região, mas estiver indisponível, o sistema selecionará automaticamente um endpoint disponível.

      • Se nenhum endpoint padrão for especificado para uma região, o sistema selecionará automaticamente um endpoint disponível.

    • designated_locked

      • Se um endpoint padrão for especificado para uma região, o sistema usará apenas esse endpoint, independentemente de sua disponibilidade.

      • Se nenhum endpoint padrão for especificado para uma região, o sistema selecionará automaticamente um endpoint disponível.

    "data_endpoint_policy" : "designated_first"

    inotify_black_list

    Array<String>

    Uma lista de bloqueios de correspondência exata para o listener inotify. O inotify não monitora os diretórios nesta lista.

    "inotify_black_list": ["/tmp"]

    host_path_blacklist

    String

    Uma lista de bloqueios global para caminhos de host, com correspondência por substring. No Linux, separe várias substrings com dois pontos (:).

    Por exemplo, "host_path_blacklist" : "/volumes/kubernetes.io~csi/nas-" impede a coleta de dados de montagens NAS.

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

    LOGTAIL_LOG_LEVEL

    String

    O nível de log, configurável apenas como uma variável de ambiente. O valor padrão é vazio, o que corresponde a info. Os valores válidos são trace, debug, info, warning, error e fatal.

    LOGTAIL_LOG_LEVEL=info

    FORCE_RELEASE_STOP_CONTAINER_FILE

    Boolean

    • Configuração: Configure este parâmetro apenas como uma variável de ambiente.

    • Descrição: Quando este parâmetro é definido como true, o coletor libera imediatamente o identificador de arquivo do contêiner quando o contêiner da aplicação para. Esta operação impede que o contêiner falhe ao sair devido a um identificador de arquivo pendente.

    • Observações:

      • Esta configuração não garante a integridade da coleta de dados do contêiner.

      • Recomendamos adicionar um atraso de alguns segundos antes que sua aplicação saia para garantir a coleta de todos os logs.

    "FORCE_RELEASE_STOP_CONTAINER_FILE" : "true"

Ajuste de desempenho

O SLS limita o consumo de recursos do LoongCollector para evitar que ele afete outros serviços. Modifique os parâmetros de inicialização para melhorar o desempenho da coleta.

Valores de parâmetros recomendados

Recomendamos os valores a seguir para a coleta de arquivos JSON comuns. O modo de expressão regular completa e o modo separador têm desempenho semelhante ao modo JSON, enquanto o modo minimalista é cerca de cinco vezes mais rápido. A complexidade dos dados, a complexidade das regras e a quantidade de diretórios e arquivos monitorados afetam o consumo de CPU e memória. Ajuste os parâmetros de acordo com seus requisitos.

Adicione ou modifique os valores dos parâmetros em /usr/local/ilogtail/ilogtail_config.json e reinicie o LoongCollector para que as alterações tenham efeito. A tabela a seguir fornece valores recomendados para diferentes taxas de coleta.

Nota

Ao configurar os parâmetros de inicialização com base na coluna Taxa de coleta maior que 40 MB/s da tabela, o desempenho da coleta se aproxima de seu limite.

Parâmetro

Descrição

Taxa > 10 MB/s

Taxa > 20 MB/s

Taxa > 40 MB/s

cpu_usage_limit

O limiar de uso de CPU, com base em um único núcleo de CPU.

  • Valores válidos: 0,1 até o número de núcleos de CPU na máquina.

  • Valor padrão: 0,4

Um valor de 0,4 significa que o SLS tentará limitar o uso de CPU do coletor a 40% de um único núcleo. Se o uso exceder esse limite, o LoongCollector reiniciará automaticamente.

Este é um limite flexível. O uso real de CPU pode exceder esse valor. Se o limite for excedido por cinco minutos consecutivos, o sistema aciona um circuit breaker e reinicia o LoongCollector automaticamente.

1

2

4

mem_usage_limit

O limiar de uso de memória.

  • Valores válidos: 128 MB a 8192 MB

  • Valor padrão: 384 MB

Este parâmetro afeta a taxa de coleta, a quantidade de diretórios e arquivos monitorados e o congestionamento de envio. Para obter mais informações, consulte Limits.

Este é um limite flexível. O uso real de memória pode exceder esse valor. Se o limite for excedido por cinco minutos consecutivos, o sistema aciona um circuit breaker e reinicia o LoongCollector automaticamente.

1024

2048

4096

process_thread_count

O número de threads para processamento de dados.

  • Valores válidos: 1 a 64

  • Valor padrão: 1

Uma única thread consegue lidar com 24 MB/s de gravação de dados no modo minimalista ou 12 MB/s no modo de expressão regular completa. Em circunstâncias normais, não é necessário ajustar o valor deste parâmetro.

2

4

8

max_bytes_per_sec

A taxa máxima de envio de dados brutos, em bytes por segundo.

  • Valores válidos: 1.024 Byte/s a 52.428.800 Byte/s

  • Valor padrão: 20.971.520 Byte/s

Importante

Um valor maior que 20.971.520 Byte/s (20 MB/s) indica que não há limite de velocidade.

209715200

209715200

209715200

send_request_concurrency

A quantidade de concorrência assíncrona.

  • Valores válidos: 15 a 80

  • Valor padrão: 15

Se o TPS de gravação for alto, defina um valor de concorrência assíncrona maior. É possível estimar que cada requisição concorrente consegue lidar com 0,5 MB/s a 1 MB/s de throughput de rede, dependendo da latência da rede.

20

40

80

Outros arquivos de configuração comuns

O LoongCollector usa os seguintes arquivos de configuração e informação durante a execução.

Configuração de coleta (user_log_config.json)

  • Descrição: Registra a configuração de coleta que o LoongCollector obtém do Simple Log Service (SLS). O sistema atualize o arquivo sempre que a configuração de coleta muda. Não modifique este arquivo, exceto para configurar manualmente informações confidenciais, como uma AccessKey ou senhas de banco de dados.

  • Caminho: /usr/local/ilogtail/user_log_config.json.

  • Caso de uso: Verifique este arquivo e confirme se o servidor recebeu uma configuração de coleta com sucesso. Se este arquivo existir e seu conteúdo corresponder à configuração de coleta no SLS, o SLS entregou a configuração com sucesso.

Arquivo AppInfo (app_info.json)

  • Descrição: Registra o horário de inicialização do LoongCollector, o endereço IP obtido e o nome de host. Este arquivo é somente leitura; quaisquer modificações não terão efeito.

  • Caminho: /usr/local/ilogtail/app_info.json.

  • Caso de uso: Visualize o endereço IP do servidor identificado pelo SLS para verificar se ele corresponde ao endereço IP no grupo de máquinas baseado em IP. Use isso normalmente para solucionar falhas de heartbeat em grupos de máquinas baseados em IP.

    O LoongCollector obtém o endereço IP na seguinte ordem de precedência: o parâmetro working_ip no ilogtail_config.json, a vinculação de nome de host a IP no arquivo /etc/hosts do servidor e o endereço IP da primeira placa de interface de rede.

Log de tempo de execução do LoongCollector (loongcollector.LOG)

  • Descrição: Registra os logs de tempo de execução do LoongCollector. Os níveis de log, do mais baixo ao mais alto, são INFO, WARN e ERROR.

  • Caminho: /usr/local/ilogtail/loongcollector.LOG.

  • Caso de uso: Se ocorrer um erro de coleta, primeiro use Diagnose and monitor LoongCollector para verificar se há erros. Em seguida, solucione o problema usando o log collection error types e o log de tempo de execução do LoongCollector.

Arquivo de ID de usuário

  • Descrição: Contém o ID da conta Alibaba Cloud do projeto ao qual os logs coletados pertencem. O nome do arquivo é o ID da conta, sem sufixo. Sua presença indica que esta conta tem permissão para coletar logs deste servidor.

  • Caminho: /etc/ilogtail/users/{ID da conta Alibaba Cloud}.

  • Caso de uso: Configure um ID de usuário apenas ao coletar logs de instâncias ECS em outras contas, servidores autogerenciados ou servidores de outros provedores de cloud. Se várias contas precisarem coletar logs do mesmo servidor, crie vários arquivos de ID de usuário nesse servidor.

Arquivo de identificador personalizado

  • Descrição: Configura um identificador personalizado usado como valor para um grupo de máquinas de identificador personalizado, o que ajuda o SLS a descobrir o LoongCollector no servidor e estabelecer um heartbeat.

  • Caminho: /etc/ilogtail/user_defined_id.

  • Caso de uso: Necessário ao usar um grupo de máquinas de identificador personalizado. Para obter mais informações, consulte Associate a machine group with a collection configuration.

Arquivo de ponto de verificação

  • Descrição: Registra a posição atual da coleta para garantir a integridade dos dados.

  • Caminho: O caminho padrão é /tmp/logtail_check_point.

  • Caso de uso: Gerencie o arquivo de ponto de verificação modificando o arquivo de parâmetros de inicialização. Para obter mais informações, consulte Limits.