Quero solucionar erros relacionados à transmissão do Amazon CloudWatch para um ambiente do AWS Elastic Beanstalk.
Breve descrição
Transmitir os seus logs para o CloudWatch pode ajudar a proteger os seus dados. Por exemplo, se o ambiente Elastic Beanstalk sofrer o encerramento de uma instância do Elastic Compute Cloud (Amazon EC2), você ainda poderá recuperar os logs do CloudWatch. Você também pode usar a rotação de logs para se proteger contra perda de dados.
Se os logs de instância do ambiente não estiverem sendo transmitidos para o CloudWatch mesmo depois da ativação da transmissão dos logs, você deverá analisar os seguintes problemas comuns:
- A função do seu perfil de instância do IAM não tem as permissões necessárias do IAM.
- Você iniciou o ambiente em uma região da AWS que não é compatível com o CloudWatch Logs.
- Um dos arquivos de log personalizados não existe no caminho que você especificou.
Resolução
1. Verifique se a função do seu perfil de instância do ambiente do Elastic Beanstalk tem as seguintes permissões:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": [
"*"
]
}
]
}
2. Se você estiver transmitindo logs personalizados, use um arquivo de configuração para instalar diretamente o agente do CloudWatch Logs e configurar os arquivos. Além disso, você deve verificar o formato e a indentação desse arquivo de configuração. Para obter mais informações a transmisão de fluxo de logs personalizados para o CloudWatch, consulte o exemplo de arquivo de configuração.
3. Verifique o status e os logs do agente do CloudWatch para descobrir as causas dos problemas de transmissão de logs.
Para verificar o status e os logs do antigo agente do CloudWatch (awslogsd):
- status do agente: systemctl status awslogsd.service
- localização do registro do agente: /var/log/awslogs.log
Para verificar o status e os logs mais recentes do agente do CloudWatch (amazon-cloudwatch-agent):
- status do agente: systemctl status amazon-cloudwatch-agent.service
- localização dos logs do agente: /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
Para obter mais informações sobre como personalizar arquivos de log no Elastic Beanstalk, consulte Como posso personalizar os arquivos de log no Elastic Beanstalk?
Informações relacionadas
Usar o Amazon CloudWatch Logs com o AWS Elastic Beanstalk
logs-streamtocloudwatch-linux.config