Por que não posso enviar dados de log para o CloudWatch Logs com o agente do awslogs?
Não consigo enviar dados de log ao Amazon CloudWatch Logs usando o agente do CloudWatch Logs (awslogs).
Resolução
Antes de começar, confirme se o agente awslogs pode se conectar ao endpoint de API do CloudWatch Logs.
Certifique-se de que sua configuração tenha os seguintes atributos:
- Conectividade com a Internet
- Configurações de grupo de segurança válidas
- Listas válidas de controle de acesso à rede (ACLs de rede)
Importante: essa referência é para o agente anterior do CloudWatch Logs que não é mais compatível. Se você usar o Instance Metadata Service Version 2 (IMDSv2), deverá usar o novo agente unificado do CloudWatch. Mesmo que não esteja usando o IMDSv2, é uma prática recomendada usar o novo agente unificado do CloudWatch em vez do agente de log.
Problemas de impressão digital
Examine as linhas de cabeçalho do arquivo de log de origem. Você define o caminho desse arquivo ao configurar os dados a serem enviados ao CloudWatch.
- Se as primeiras linhas estiverem em branco ou contiverem dados que não sejam de eventos que permaneçam inalterados, pode haver problemas com o hash de identificação do log.
- Se as linhas do cabeçalho forem iguais, atualize a opção file_fingerprint_lines no arquivo de configuração do agente. Certifique-se de especificar as linhas em cada arquivo que são usadas para gerar o hash de identificação.
Verifique se há erros no arquivo de log awslogs
Examine o arquivo de log /var/log/awslogs.log. Certifique-se de anotar todas as mensagens de erro.
Os erros de permissões incluem:
- NoCredentialsError: Unable to locate credentials: se você não adicionou um perfil do AWS Identity and Access Management (IAM) à instância, crie e anexe um perfil do IAM. Se você já adicionou um perfil do IAM à instância, atualize as credenciais do usuário do IAM no arquivo /etc/awslogs/awscli.conf.
- ClientError: An error occurred (AccessDeniedException) when calling the PutLogEvents operation: User: arn:aws:iam::012345678910: / is not authorized to perform: logs:PutLogEvents[...] – Configure o usuário ou perfil do IAM com as permissões necessárias para o CloudWatch Logs.
Erros de carimbo de data/hora incluem:
- Fall back to previous event time: {'timestamp': 1492395793000, 'start_position': 17280L, 'end_position': 17389L}, previousEventTime: 1492395793000, reason: timestamp could not be parsed from message. – Confirme se os eventos de log começam com um carimbo de data/hora. Verifique se datetime_format especificado em /etc/awslogs/awslogs.conf corresponde ao formato de carimbo de data/hora dos eventos de log. Altere datetime_format para corresponder ao formato do carimbo de data/hora conforme necessário.
- No file is found with given path ' ' – Atualize o caminho do arquivo de log no arquivo de configuração do agente para o caminho correto.
Outros problemas de awslogs
- Se os logs pararam de ser enviados após uma alternância de log, verifique os métodos de alternância de log com suporte. Para obter mais informações, consulte Perguntas frequentes sobre o agente do CloudWatch Logs.
- Se logs forem enviados brevemente somente após a reinicialização do agente awslogs, verifique se há duplicatas na seção [logstream] do arquivo de configuração do agente. Cada seção deve ter um nome exclusivo.
- Se o arquivo de log awslogs.log ocupar muito espaço no disco, verifique se há erros no arquivo de log e corrija-os. Se o arquivo de log contiver somente mensagens informativas, especifique um nível de log mais baixo para a opção logging_config_file no arquivo de configuração do agente.
Solução de problemas adicionais
Para obter mais soluções de problemas, anote o instance-id (o ID da sua instância). Em seguida, colete e revise o seguinte com base na sua configuração.
Instalações do Yum:
- Versão do yum
$ yum info awslogs $ yum info aws-cli-plugin-cloudwatch-logs
- arquivo /etc/awslogs/awslogs.conf
- arquivo /etc/awslogs/awscli.conf
- Outros arquivos relevantes em /etc/awslogs/
- arquivo /var/log/awslogs.log
Instalações baseadas em scripts:
- A versão de awslogs, obtida com o seguinte comando:
$ /var/awslogs/bin/awslogs-version.sh
- arquivo /var/awslogs/etc/awslogs.conf
- arquivo /var/awslogs/etc/awscli.conf
- Outros arquivos relevantes em /var/awslogs/etc/
- /var/log/awslogs.log
- /var/log/awslogs-agent-setup.log
Para problemas relacionados a alternância, colete e revise:
- Um trecho dos logs de origem
- Uma lista do conteúdo do diretório de monitoramento de destino. Use o comando ls -la com o caminho de diretório para obter isto:
$ ls -la <Monitoring-Target-Directory-Path>
Informações relacionadas
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 3 anos