O heartbeat de um grupo de máquinas monitora a comunicação entre um servidor e o Simple Log Service (SLS). Se o heartbeat estiver anormal, o servidor não conseguirá enviar dados para o SLS.
Causas de problemas de heartbeat
O LoongCollector usa os seguintes itens de configuração para identificar o projeto de destino e reportar heartbeats. Para resolver problemas de heartbeat, verifique esses itens e confirme a conectividade de rede.
Conta Alibaba Cloud proprietária do projeto SLS: Esta conta deve ter permissões para acessar e coletar logs do servidor.
Região e tipo de conexão do projeto: O endpoint do SLS é gerado dinamicamente com base na região e no tipo de conexão. Garanta que o servidor consiga se conectar a esse endpoint. Network connection types and endpoints.
Identificador personalizado ou endereço IP: O LoongCollector estabelece um heartbeat associando o servidor a um grupo de máquinas por meio de um endereço IP ou identificador personalizado.
Processo de estabelecimento de heartbeat
O LoongCollector lê sua configuração para obter os IDs da conta Alibaba Cloud, o endpoint (gerado a partir da região e do tipo de conexão) e o endereço IP ou identificador personalizado do servidor.
O LoongCollector reporta um heartbeat para um projeto na região especificada.
Os projetos que atendem aos critérios comparam o endereço IP ou identificador personalizado em seus grupos de máquinas com as informações reportadas.
Se as informações coincidirem, o heartbeat será estabelecido e o status no grupo de máquinas correspondente mudará para OK.
Cenários comuns de problemas de heartbeat
Heartbeat de novo servidor está como FAIL
A conexão inicial pode levar algum tempo para ser estabelecida. Aguarde cerca de dois minutos e atualize o status. Se o heartbeat permanecer como FAIL:
-
Verifique se você selecionou o cenário correto de instalação do LoongCollector. Se estiver incorreto, desinstale e reinstale o LoongCollector.
Método de instalação
Cenário aplicável
Aplica-se quando o servidor é uma instância ECS na mesma conta e na mesma region do projeto.
Aplica-se quando o servidor é uma instância ECS na mesma conta, mas em uma region diferente da do projeto.
Aplica-se quando o servidor é uma instância ECS na mesma region do projeto, mas sob uma conta diferente.
-
Aplica-se quando o servidor não é uma instância ECS (on-premises ou outro provedor de cloud).
-
Também se aplica quando a instância ECS e o projeto estão em contas diferentes e em regions diferentes. Nesse caso, trate o servidor como on-premises.
-
-
No servidor, execute
sudo /etc/init.d/loongcollectord statuspara verificar o status do LoongCollector. Se a saída forloongcollector is running, ele foi iniciado. Caso contrário, inicie-o:Se você usar o Logtail, execute
sudo /etc/init.d/ilogtaild statuspara verificar seu status esudo /etc/init.d/ilogtaild startpara iniciá-lo.sudo /etc/init.d/loongcollectord start -
Em um cenário de contas cruzadas, configure um arquivo de ID de usuário para conceder à conta do projeto permissões de acesso ao servidor e coleta de logs.
-
Verifique a região e o tipo de conexão e confirme se o servidor consegue alcançar o endpoint. Confira se a
regionem/usr/local/ilogtail/ilogtail_config.jsoncorresponde à Region ID do projeto SLS. Se não corresponder, modifique a configuração: -
Verifique o identificador personalizado ou o endereço IP:
Faça login no console do Simple Log Service. Na lista de projetos, clique em o projeto de destino.
No painel de navegação à esquerda, escolha Resources > Machine Groups. Na página Machine Groups, clique em o grupo de máquinas alvo.
-
Na página Machine Group Configurations, verifique o Machine Group Identifier e execute a ação correspondente:
Identificador personalizado
Verifique se o arquivo
/etc/ilogtail/user_defined_idexiste no servidor. Crie-o se estiver ausente.-
Escreva uma string personalizada neste arquivo como identificador personalizado. Este exemplo usa
user-defined-test-1.# Write a custom string to the specified file. echo "user-defined-test-1" > /etc/ilogtail/user_defined_id No console, defina o valor de Custom Identifier como a string personalizada. Neste exemplo, o valor é
user-defined-test-1.
Endereço IP
Adicione o valor
ipde/usr/local/ilogtail/app_info.jsonno servidor ao campo IP Address no console.Lógica de recuperação de endereço IP: Se um mapeamento de hostname para endereço IP estiver configurado no arquivo /etc/hosts do servidor, o endereço IP mapeado será usado. Se nenhum mapeamento estiver configurado, o endereço IP da primeira placa de interface de rede (NIC) será utilizado. Se o parâmetro
working_ipestiver definido no arquivo /usr/local/ilogtail/ilogtail_config.json, seu valor será usado como endereço IP do servidor. Garanta que seja possível recuperar um endereço IP usando pelo menos um desses métodos. Caso contrário, o campoipficará vazio e não será possível estabelecer um heartbeat.
Heartbeat alterado de OK para FAIL
Um heartbeat anteriormente bem-sucedido confirma que sua configuração inicial estava correta. Se o grupo de máquinas usar um identificador personalizado, as configurações são estáticas e o problema provavelmente está relacionado à rede — verifique a conectividade com o endpoint do SLS. Se o grupo de máquinas usar um endereço IP, um status FAIL geralmente indica uma alteração ou conflito de IP.
-
Reinicie o LoongCollector no servidor para recuperar o endereço IP mais recente.
Se você usar o Logtail, o comando de reinicialização é:
sudo /etc/init.d/ilogtaild restartsudo /etc/init.d/loongcollectord restart -
Visualize o campo
ipem/usr/local/ilogtail/app_info.jsonno servidor.Lógica de recuperação de endereço IP: Se um mapeamento de hostname para endereço IP estiver configurado no arquivo /etc/hosts do servidor, o endereço IP mapeado será usado. Se nenhum mapeamento estiver configurado, o endereço IP da primeira placa de interface de rede (NIC) será utilizado. Se o parâmetro
working_ipestiver definido no arquivo /usr/local/ilogtail/ilogtail_config.json, seu valor será usado como endereço IP do servidor. Faça login no console do Simple Log Service. Na lista de projetos, clique em o projeto de destino.
No painel de navegação à esquerda, escolha Resources > Machine Groups. Na página Machine Groups, clique em o grupo de máquinas alvo.
Na página Machine Group Configurations, verifique se o campo IP Address contém o valor do campo
ipdo arquivo/usr/local/ilogtail/app_info.json. Se não contiver, adicione o valor do campoipao campo IP Address.Se o endereço IP corresponder, mas o heartbeat permanecer como FAIL, o IP pode estar instável ou em conflito. Considere alternar para um identificador personalizado.
Falha de heartbeat após alteração do tipo de identificador
Se conflitos ou alterações de endereço IP tornarem os grupos de máquinas baseados em IP inadequados, alterne para um identificador personalizado. Essa alteração não afeta a conectividade de rede, as informações da conta ou as configurações de região. Garanta que o identificador personalizado esteja configurado corretamente:
Confirme se o arquivo
/etc/ilogtail/user_defined_idexiste. Crie-o se estiver ausente.-
Escreva uma string personalizada neste arquivo como identificador personalizado. Este exemplo usa
user-defined-test-1.# Write a custom string to the specified file. echo "user-defined-test-1" > /etc/ilogtail/user_defined_id Faça login no console do Simple Log Service. Na lista de projetos, clique em o projeto de destino.
No painel de navegação à esquerda, escolha Resources > Machine Groups. Na página Machine Groups, clique em o grupo de máquinas alvo.
-
Na página Machine Group Configurations, confirme os seguintes parâmetros. Se estiverem incorretos, clique em Modify no canto superior direito para atualizá-los.
Machine Group Identifier: Custom Identifier.
Identificador personalizado: A string personalizada. Neste exemplo, o valor é
user-defined-test-1.
FAQ
Por que o heartbeat está como FAIL mesmo com a configuração correta?
Se as configurações estiverem corretas e a rede funcionando, o heartbeat ainda poderá estar como FAIL pelos seguintes motivos:
-
O intervalo de heartbeat sofre throttling porque nenhuma configuração de coleta foi aplicada na região por um longo período.
Para reduzir a carga do service, o agente diminui a frequência de solicitações de configuração quando uma região não retorna configurações. O intervalo pode aumentar para até 12 minutos. Se isso exceder o limiar de tempo limite do heartbeat, o status mudará para FAIL.
Solução: Ignore o status FAIL e aplique uma configuração de coleta ao grupo de máquinas. O heartbeat será recuperado na próxima solicitação. Para restaurá-lo imediatamente, reinicie o agente.
-
A configuração em execução não corresponde ao arquivo
ilogtail_config.jsonatual.Exemplo: O agente inicia com uma configuração não padrão e, em seguida, o arquivo
ilogtail_config.jsoné modificado sem reiniciar o agente.-
Como verificar:
A solução mais simples é reiniciar o agente. Ele carrega automaticamente a configuração mais recente.
Verifique os logs: Se quiser evitar interromper a coleta, verifique o arquivo
/usr/local/ilogtail/ilogtail.LOG. A partir do início do arquivo, pesquise porload logtail config file. A entrada correspondente mostra a configuração ativa. Verifique se ela corresponde ao seu arquivo local.
**Como resolvo o erro fetch ecs token fail Timeout was reached reportado pelo LoongCollector?**
Esse erro ocorre quando o LoongCollector não consegue acessar o service de metadados da ECS em 100.100.100.200.
Na instância ECS, execute o seguinte comando para testar a conectividade com o service de metadados:
curl http://100.100.100.200/latest/meta-data/instance-id
Se o comando não conseguir se conectar, verifique se a configuração do grupo de segurança da ECS permite o acesso ao service de metadados da ECS.
Como solucionar tempos limite quando uma instância ECS acessa um endpoint interno do SLS na mesma região?
Primeiro, confirme se a instância ECS e o projeto do Simple Log Service estão na mesma região. Em seguida, teste a resolução de DNS e a conectividade com os endpoints internos do OSS e do SLS:
curl -v http://${oss_internal_endpoint}
curl -v http://${sls_project_name}.${sls_internal_endpoint}
Substitua ${oss_internal_endpoint}, ${sls_project_name} e ${sls_internal_endpoint} pelos valores de endpoint interno da sua região e projeto.
Verifique se o firewall iptables ou softwares de segurança como o Tailscale estão bloqueando faixas de rede interna da Alibaba Cloud, incluindo 100.64.0.0/10 e 100.115.0.0/16. Se alguma regra bloquear qualquer uma dessas faixas, adicione-a à lista de permissões. Verifique também se a configuração de DNS aponta para os servidores DNS internos da Alibaba Cloud 100.100.2.136 e 100.100.2.138.
Como resolver um endereço IP incorreto reportado pelo LoongCollector quando o NodeLocalDNS é usado em um cluster ACK?
O NodeLocalDNS pode fazer com que o LoongCollector selecione um endereço IP de uma interface de rede virtual. Em /usr/local/ilogtail/ilogtail_config.json, adicione ou atualize o parâmetro working_ip com o endereço IP físico correto do nó. Reinicie o LoongCollector para aplicar a configuração:
sudo /etc/init.d/loongcollectord restart
Se você usar o coletor de dados Logtail, reinicie-o em vez disso:
sudo /etc/init.d/ilogtaild restart
**Como resolver o erro ClientNotRunning durante a instalação automática do Logtail quando o aliyun.service não está em execução?**
A instalação automática do Logtail requer o service Cloud Assistant. Na instância ECS, execute o seguinte comando para ativar e iniciar o service:
systemctl enable aliyun.service --now
Após o início do service, repita a instalação automática do componente de coleta no Simple Log Service.
**Como resolver o erro daemon not found, but found orphaned workers quando o LoongCollector falha ao iniciar?**
Esse erro pode indicar processos anormais de componentes ou recursos insuficientes no servidor. Verifique os dados de monitoramento de memória e CPU do servidor para determinar se a utilização de recursos está muito alta. Em seguida, use o Component Management para atualizar o componente LoongCollector para a versão mais recente disponível.
Se o problema persistir após a atualização, desinstale o componente LoongCollector e instale-o novamente. No grupo de máquinas, verifique se o heartbeat de um grupo de máquinas está normal e confirme se sua configuração de coleta está correta.
à direita do nome do projeto para abrir a página de visão geral do projeto.