Após instalar o LoongCollector, gerencie seu ciclo de vida e a configuração de runtime.
Comandos comuns do LoongCollector
Iniciar o LoongCollector
Se houver requisitos específicos de desempenho para 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
Parar o LoongCollector
sudo /etc/init.d/loongcollectord stop
Verificar o status do LoongCollector
sudo /etc/init.d/loongcollectord status # A return value of "loongcollector is running" indicates a successful start.
Consultar a versão do LoongCollector
cat /usr/local/ilogtail/app_info.json # The version information is stored in the loongcollector_version field.
Reiniciar o LoongCollector
sudo /etc/init.d/loongcollectord restart
Desinstalar o LoongCollector
-
No código de exemplo, substitua
${region_id}porcn-hangzhou. Para acelerar o download, substitua${region_id}pela região da sua instância ECS. Para mais informações, consulte Regiões.wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh; -
Execute o comando de desinstalação.
chmod +x loongcollector.sh; sudo ./loongcollector.sh uninstall;
Atualizar o LoongCollector
Atualize o LoongCollector para uma versão mais recente ou migre do Logtail para o LoongCollector. Os comandos de atualização são os mesmos para ambos os cenários.
Atualizar o LoongCollector ou migrar do Logtail para o LoongCollector
O LoongCollector é interrompido durante a atualização e reinicia automaticamente após a conclusão do processo. A atualização sobrescreve apenas arquivos essenciais. Seus arquivos de configuração e checkpoint são preservados para evitar perda de logs.
-
Execute o comando de download no servidor para obter o pacote de instalação mais recente. No código de exemplo, substitua
${region_id}porcn-hangzhou. Para acelerar o download, substitua${region_id}pela região da sua instância ECS. Para mais informações, consulte Regiões.wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh; -
Execute o comando de atualização. Utilize o comando
upgrade. Se utilizar o comandoinstall, a instalação será sobrescrita e a configuração original será perdida.chmod +x loongcollector.sh; sudo ./loongcollector.sh upgrade; -
Se as seguintes informações forem exibidas, a atualização foi bem-sucedida.
Upgrade loongcollector files successfully. Starting loongcollector ... Upgrade loongcollector successfully.
Reverter do LoongCollector para o Logtail
Baixe o script logtail.sh novamente. Não utilize o script logtail.sh antigo.
-
Execute o comando de download no servidor para obter o pacote de instalação. No código de exemplo, substitua
${region_id}porcn-hangzhou. Para acelerar o download, substitua${region_id}pela região da sua instância ECS. Para mais informações, consulte Regiões.wget https://logtail-release-${region_id}.oss-${region_id}.aliyuncs.com/linux64/logtail.sh -O logtail.sh; -
Execute o comando de reversão. Para especificar uma versão, como 1.8.7, consulte o comentário e substitua o número da versão conforme necessário.
chmod +x logtail.sh; sudo ./logtail.sh upgrade; #chmod +x logtail.sh; sudo ./logtail.sh upgrade -v -v 1.8.7;
Arquivo de configuração de parâmetros de inicialização (ilogtail_config.json)
Descrição: Este arquivo configura os parâmetros de inicialização do LoongCollector. Configurações incorretas podem afetar o desempenho da coleta ou causar erros.
Caminho: /usr/local/ilogtail/ilogtail_config.json.
Cenário: O Simple Log Service (SLS) limita o desempenho de coleta do LoongCollector para evitar consumo excessivo de recursos do servidor. Caso o desempenho não atenda às suas necessidades, ajuste os parâmetros de inicialização.
-
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 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 } -
Parâmetros: A tabela a seguir lista apenas os parâmetros de inicialização comuns que podem precisar de configuração. Adicione ou modifique-os conforme necessário. Mantenha os valores padrão para parâmetros não listados na tabela.
Cenários: Os exemplos a seguir mostram cenários e operações comuns.
Planejamento de configuração de desempenho de coleta
Para evitar que o coletor consuma recursos excessivos do servidor e afete outros serviços, o SLS limita seu desempenho de coleta. Para melhorar o desempenho, modifique os parâmetros de inicialização.
Exemplos de parâmetros recomendados
As configurações de parâmetros a seguir são recomendadas para coleta de arquivos JSON comuns. O desempenho dos modos de expressão regular completa e separador é semelhante ao do modo JSON. O modo minimalista tem desempenho cinco vezes superior ao modo JSON. Fatores como complexidade de dados e regras, além da quantidade de diretórios e arquivos de coleta, afetam o consumo de CPU e memória. Ajuste os parâmetros da tabela abaixo conforme necessário.
Adicione ou modifique os valores dos parâmetros em /usr/local/ilogtail/ilogtail_config.json e reinicie o LoongCollector para aplicar as alterações. A tabela a seguir fornece valores recomendados para diferentes taxas de coleta.
Ao configurar parâmetros de inicialização baseados na coluna Taxa de coleta superior a 40 MB/s da tabela, o desempenho da coleta estará próximo do limite.
Parâmetro | Descrição | Taxa de coleta superior a 10 MB/s | Taxa de coleta superior a 20 MB/s | Taxa de coleta superior a 40 MB/s |
cpu_usage_limit | Limiar de uso de CPU, calculado por núcleo.
Um valor de 0,4 significa que o SLS tenta limitar o uso de CPU do coletor a 40% de um único núcleo. Se o uso exceder esse limite, o LoongCollector reinicia automaticamente. Este é um limite flexível. O uso real de CPU pode exceder esse valor. Se o limite for ultrapassado por cinco minutos, um disjuntor é acionado e o LoongCollector reinicia automaticamente. | 1 | 2 | 4 |
mem_usage_limit | Limiar de uso de memória.
A taxa de coleta, a quantidade de diretórios e arquivos monitorados e bloqueios de envio estão relacionados a este parâmetro. Para mais informações, consulte Limites. Este é um limite flexível. O uso real de memória pode exceder esse valor. Se o limite for ultrapassado por cinco minutos, um disjuntor é acionado e o LoongCollector reinicia automaticamente. | 1024 | 2048 | 4096 |
process_thread_count | Número de threads para processamento de dados.
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. Normalmente, não é necessário ajustar este parâmetro. | 2 | 4 | 8 |
send_request_concurrency | Número de requisições assíncronas simultâneas.
Se houver um TPS de gravação elevado, defina um valor de concorrência maior. Estime que uma requisição simultânea suporta de 0,5 MB/s a 1 MB/s de throughput de rede, dependendo da latência da rede. | 20 | 40 | 80 |
Alta latência de rede ou transmissão de logs instável
Você pode enfrentar perda de logs, transmissão duplicada, novas tentativas frequentes pelo LoongCollector ou interrupções e flutuações constantes de rede. As possíveis causas incluem:
Largura de banda insuficiente: Se o volume de logs coletados for alto, a largura de banda inadequada pode causar acúmulo de logs e aumento de latência.
Ambiente de rede instável: Conexões entre regiões ou redes diferentes podem levar a latência de rede ou perda de pacotes.
Solução
Utilize nós de borda do Alibaba Cloud CDN para acelerar a coleta de logs. Este método oferece vantagens significativas em latência e estabilidade de rede em comparação à coleta via rede pública. Este recurso gera cobranças adicionais com base na quantidade de dados transferidos.
Ative o recurso de aceleração de transferência de logs entre domínios no seu projeto.
Pare o LoongCollector. Faça login no servidor onde o LoongCollector está instalado e execute o comando
sudo /etc/init.d/loongcollectord stop.Modifique o endpoint. No arquivo
/usr/local/ilogtail/ilogtail_config.json, substitua o valor do parâmetroendpoint_listdentro do parâmetrodata_serversporlog-global.aliyuncs.com. Isso altera o domínio usado para transmissão de dados para o endpoint de aceleração.Inicie o LoongCollector. Execute o comando
sudo /etc/init.d/loongcollectord start.
Entradas de log grandes são truncadas
Se uma única entrada de log for muito grande, ela poderá ser truncada após a coleta. Isso ocorre porque o tamanho máximo padrão para uma única entrada é de 512 KB (524.288 bytes). Se um log exceder esse tamanho, o SLS o trunca. Para logs multilinha divididos com base em uma expressão regular na primeira linha, o limite de tamanho para cada entrada resultante também é de 512 KB. Se esse limite for excedido, a entrada é dividida forçosamente em várias entradas.
Solução
-
No arquivo
/usr/local/ilogtail/ilogtail_config.json, modifique o valor do parâmetromax_read_buffer_size. Se o parâmetro não existir, adicione-o. O valor máximo para este parâmetro é 8 MB (8.388.608 bytes).Observe que o uso de memória aumenta linearmente. Você deve reservar
max_read_buffer_size × file concurrencyde memória. Reinicie o LoongCollector. Execute o comando
sudo /etc/init.d/loongcollectord restart.
Logs com mais de 15 minutos são perdidos durante a transmissão
A coleta de logs pode parecer estar funcionando, mas alguns logs são perdidos. Isso ocorre quando o timestamp de um log difere do horário atual do servidor SLS em mais de 15 minutos. Para segurança dos dados, o SLS valida o timestamp de cada requisição, incluindo as do LoongCollector, e rejeita requisições com timestamp divergente do horário do servidor em mais de 15 minutos. Se a hora local do servidor for alterada (por exemplo, para um horário futuro em testes), as requisições serão rejeitadas e as gravações de dados falharão.
Solução
-
No arquivo
/usr/local/ilogtail/ilogtail_config.json, altere o valor do parâmetroenable_log_time_auto_adjustparatrue. Se o parâmetro não existir, adicione-o. Esta configuração permite que o horário do log se ajuste automaticamente à hora local do servidor.Quando este recurso está ativado, o deslocamento entre o horário do SLS e a hora local do servidor é adicionado ao horário do log. Como o deslocamento só é atualizado quando uma requisição é rejeitada, o horário consultado no SLS pode não corresponder ao momento exato da gravação.
Reinicie o LoongCollector. Execute o comando
sudo /etc/init.d/loongcollectord restart.
Mudar para um projeto em outra região
Por vários motivos, você pode precisar armazenar logs coletados de um servidor em um novo projeto.
Solução
Para reutilizar a configuração de coleta, salve o conteúdo do arquivo de configuração de coleta antes de prosseguir. O processo de desinstalação exclui este arquivo.
Desinstale o LoongCollector do servidor.
Escolha o método de instalação do LoongCollector apropriado com base na relação entre o novo projeto e o servidor.
-
Se você também precisar transferir dados históricos para o novo projeto, dois métodos estão disponíveis:
Baixe os logs para sua máquina local e use o recurso Importar Arquivos de Log Históricos para transferi-los ao novo projeto.
Use a transformação de dados para copiar dados do projeto antigo para o novo.
Otimizar longos atrasos na transmissão de logs
Este problema ocorre quando o timestamp do log no SLS é mais de três segundos posterior ao horário em que o log foi gerado no servidor. As possíveis causas incluem:
Mais de 100 arquivos sendo coletados simultaneamente, ou mais de 5.000 arquivos no diretório monitorado, consumindo muita memória.
-
Alto tráfego de dados de log (por exemplo, acima de 2 MB/s no modo minimalista ou 1 MB/s no modo de expressão regular) causando alto uso de CPU.
Ative o CloudLens for SLS e verifique o uso de CPU do host atual em Collection Monitoring .
-
A taxa em que o LoongCollector envia dados ao SLS excede 10 MB/s.
Ative o CloudLens for SLS e verifique a taxa de coleta do host atual em Collection Monitoring .
Solução
Ajuste o número de arquivos ou o tráfego de dados com base nas possíveis causas listadas acima. Se não for possível reduzir o uso de memória ou diminuir o tráfego de transmissão, consulte Planejamento de configuração de desempenho de coleta para ajustar o desempenho da coleta.
Outros arquivos de configuração comuns
A seguir estão outros arquivos de configuração e informação usados pelo LoongCollector durante o runtime:
Arquivo de configuração de coleta do LoongCollector (user_log_config.json)
Descrição: Este arquivo registra as informações de configuração de coleta que o LoongCollector obtém do SLS. O arquivo é atualizado sempre que a configuração de coleta muda. Não modifique este arquivo, exceto para configurar manualmente informações sensíveis, como detalhes de AccessKey ou senhas de banco de dados.
Caminho: /usr/local/ilogtail/user_log_config.json.
Cenário: Verifique este arquivo para confirmar se uma configuração de coleta foi entregue ao servidor. Se o arquivo existir e seu conteúdo corresponder à configuração no SLS, a entrega foi bem-sucedida.
Arquivo de registro AppInfo (app_info.json)
Descrição: O arquivo app_info.json registra informações como horário de inicialização do LoongCollector, endereço IP recuperado e hostname. Este arquivo serve apenas para registro. Quaisquer modificações nele não têm efeito.
Caminho: /usr/local/ilogtail/app_info.json.
-
Cenário: Visualize as informações de IP do servidor identificadas pelo SLS durante a coleta para verificar se correspondem às informações de IP no grupo de máquinas baseado em IP no console SLS. Isso é tipicamente usado para resolver falhas de heartbeat em grupos de máquinas baseados em IP.
Se você definiu uma vinculação de hostname a IP no arquivo /etc/hosts do servidor, o endereço IP vinculado é recuperado automaticamente. Se nenhuma vinculação de hostname estiver definida, o IP da primeira placa de rede é recuperado automaticamente. Se o parâmetro working_ip no ilogtail_config.json estiver definido, seu valor será usado como o IP do servidor.
Log de runtime do LoongCollector (loongcollector.LOG)
Descrição: O arquivo loongcollector.LOG registra os logs de runtime do LoongCollector. Os níveis de log, do menor para o maior, são INFO, WARN e ERROR.
Caminho: /usr/local/ilogtail/loongcollector.LOG.
Cenário: Se ocorrer um erro de coleta, primeiro consulte Diagnosticar e monitorar o LoongCollector para verificar erros. Em seguida, solucione o problema consultando os tipos de erro de coleta de logs e o log de runtime do LoongCollector.
Arquivo de User ID
Descrição: Este arquivo 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. Indica que esta conta tem permissão para acessar e coletar logs deste servidor.
Caminho: /etc/ilogtail/users/{ID da conta Alibaba Cloud}.
Cenário: Configure um user ID apenas ao coletar logs de instâncias ECS fora da Alibaba Cloud, servidores autogerenciados ou servidores de outros provedores de nuvem. Se múltiplas contas precisarem coletar logs do mesmo servidor, crie múltiplos arquivos de user ID nesse servidor.
Arquivo de identificador personalizado
Descrição: Este arquivo é usado para configurar um identificador personalizado. Esse identificador serve como conteúdo para um grupo de máquinas de identificador personalizado, ajudando o SLS a descobrir o LoongCollector no servidor e estabelecer um heartbeat.
Caminho: /etc/ilogtail/user_defined_id.
Cenário: Esta configuração é necessária ao usar um grupo de máquinas de identificador personalizado. Para mais informações, consulte Associar um grupo de máquinas a uma configuração de coleta do LoongCollector.
Arquivo CheckPoint
Descrição: O mecanismo de checkpoint registra a posição atual da coleta para garantir a integridade dos logs.
Caminho: O caminho padrão é
/tmp/logtail_checkpoint.Cenário: Gerencie o arquivo de checkpoint modificando o arquivo de parâmetros de inicialização. Para mais informações, consulte Limites.
FAQ
Como atualizar quando o servidor não consegue se conectar à internet
-
No servidor onde você precisa atualizar o
LoongCollector, executeuname -mpara determinar a arquitetura do sistema. Em seguida, em um servidor com acesso à rede pública, execute o comando correspondente. Substitua${region_id}pela região do seu projeto.-
Arquitetura 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; -
Arquitetura 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;
-
-
Copie o script de instalação e o pacote para o servidor onde você precisa atualizar o
LoongCollectore execute o seguinte comando:chmod +x loongcollector.sh;./loongcollector.sh upgrade-local;