Por que o agente unificado do CloudWatch não está enviando eventos de logs?

5 minuto de leitura
0

Estou usando o agente unificado do CloudWatch para enviar logs para o Amazon CloudWatch Logs, mas não consigo ver os logs no console do CloudWatch Logs. Por que o agente unificado do CloudWatch não está enviando eventos de logs?

Breve descrição

Os seguintes problemas podem impedir que o agente unificado do CloudWatch envie eventos de logs:

  • Metadados fora de sincronia causados pela criação de uma imagem de máquina da Amazon (AMI) após a instalação do agente do CloudWatch
  • Uso de uma versão desatualizada do agente do CloudWatch
  • Falha na conexão com o endpoint do CloudWatch Logs
  • Configurações incorretas de conta, região ou grupo de logs
  • Permissões insuficientes do AWS Identity and Access Management (IAM)
  • Erros de execução do agente do CloudWatch
  • Problemas de data e hora

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

Importante: as etapas de solução de problemas a seguir não se aplicam ao Container Insights. Para saber mais sobre a solução de problemas do Container Insights, consulte Troubleshooting Container Insights(Solução de problemas do Container Insights) e How can I troublesoot pod status in Amazon EFKS? (Como posso solucionar problemas de status do pod no Amazon EKS?)

Reveja o método de instalação do agente do CloudWatch

É recomendável instalar o agente do CloudWatch na execução usando o AWS CloudFormation, o AWS Systems Manager Agent (SSM Agent), scripts de dados do usuário ou a AWS CLI. Também recomenda‑se criar uma AMI antes de instalar o agente do CloudWatch. As AMIs normalmente capturam informações exclusivas da instância original, e os metadados ficam fora de sincronia. Isso pode fazer com que o agente do CloudWatch não funcione conforme o esperado. Metadados fora de sincronia são o motivo pelo qual muitas instâncias do Windows exigem o Sysprep ao trabalhar com AMIs. Para mais informações, consulte How can I use Sysprep to create and install custom reusable Windows AMIs in Amazon EC2? (Como posso usar o Sysprep para criar e instalar AMIs personalizadas e reutilizáveis do Windows no Amazon EC2?)

Verifique se você está utilizando a versão mais recente do agente do CloudWatch

Baixe e leia os arquivos README do agente do CloudWatch para ver as notas da versão e saber o número da versão mais recente. Se você estiver usando uma versão mais antiga do agente do CloudWatch, atualize sua versão. A versão mais recente pode incluir atualizações que resolvam o problema que você está enfrentando.

Teste a conectividade com seu endpoint do CloudWatch Logs

Teste a conectividade com o endpoint do CloudWatch Logs usando um dos comandos a seguir:

telnet logs.<region>.amazonaws.com 443
nc -zv logs.<region>.amazonaws.com 443

Se houver falhas de conectividade, certifique-se de que:

  • As regras do grupo de segurança e as regras da lista de controle de acesso (ACL) da rede permitem conectividade
  • Sua instância consegue acessar o endpoint público usando um gateway da Internet ou um gateway de conversão de endereços de rede (NAT)
  • O endpoint resolve para um endereço IP da VPC e o grupo de segurança do endpoint permite o acesso da instância de origem, se você estiver usando endpoints da VPC

Revise suas configurações de conta, região e grupo de logs

No arquivo de configuração do agente do CloudWatch:

  • Certifique-se de que a região especificada corresponda à região do console
  • Verifique se os logs foram verificados na conta correta

Você também pode usar o arquivo common‑config.toml para substituir os padrões do sistema do agente do CloudWatch. Esses padrões incluem o proxy, a região e informações das credenciais do agente. O arquivo está disponível nos locais a seguir.

Linux:

/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml

-ou-

/etc/amazon/amazon-cloudwatch-agent/common-config.toml

Windows:

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml

verifique suas permissões do IAM

O agente do CloudWatch usa credenciais do usuário do IAM ou da política de perfil do IAM para enviar eventos de logs para o CloudWatch. Antes que um evento de logs possa ser publicado, você deve criar um grupo de logs e um fluxo de logs. Se não existir grupo de logs ou fluxo de logs, o agente do CloudWatch os criará.

Confirme se sua política inclui as seguintes permissões do IAM:

"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"

Adicione todas as permissões do IAM ausentes na política do usuário ou na política do perfil.

Observação: Ao criar perfis e usuários do IAM, é recomendável usar as políticas CloudWatchAgentServerPolicy e CloudWatchAgentAdminPolicy criadas pela Amazon em vez de políticas personalizadas.

Resolva erros de execução do agente do CloudWatch

Verifique se o agente do CloudWatch está em execução. Se não estiver, verifique se há erros no arquivo do log e resolva-os. Os arquivos de log estão nos locais a seguir.

Linux:

/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

Windows:

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log

Observação: Os logs podem ser especificados em um local logfile personalizado. Verifique o arquivo de configuração do agente para identificar qualquer local de log personalizado.

No arquivo de configuração do agente, habilite o registro detalhado de depuração usando o parâmetro debug. Se você estiver usando o parâmetro run_as_user, confirme se o usuário tem permissões para acessar o caminho do local do log. Sem as permissões necessárias, o agente do CloudWatch não pode gravar logs no local.

Resolva problemas de data e hora

Verifique se os eventos de logs tem carimbos de data e hora de mais de 14 dias atrás ou de mais de duas horas no futuro. O comando PutLogEvents não permite lotes de log com esses períodos de tempo.

Além disso, verifique se o serviço de horário do sistema da instância está configurado corretamente. Para mais informações, consulte Definir o horário da sua instância do Linux ou Definir o horário para uma instância do Windows.


Informações relacionadas

Solução de problemas do agente do CloudWatch

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos