Desidero risolvere gli errori relativi allo streaming di Amazon CloudWatch per un ambiente AWS Elastic Beanstalk.
Breve descrizione
Lo streaming dei log su CloudWatch può contribuire a salvaguardare i dati. Ad esempio, se nel tuo ambiente Elastic Beanstalk si verifica un'istanza di Elastic Compute Cloud (Amazon EC2) terminata, puoi comunque recuperare i log da CloudWatch. È inoltre possibile utilizzare la rotazione dei log per proteggersi dalla perdita di dati.
Se i log delle istanze del tuo ambiente non vengono trasmessi a CloudWatch anche dopo aver attivato lo streaming dei log, devi esaminare i seguenti problemi comuni:
- Il ruolo del profilo dell'istanza IAM non dispone delle autorizzazioni IAM richieste.
- Hai lanciato il tuo ambiente in una Regione AWS che non supporta CloudWatch Logs.
- Uno dei tuoi file di log personalizzati non esiste nel percorso specificato.
Risoluzione
1. Verifica che il ruolo del profilo dell'istanza dell'ambiente Elastic Beanstalk disponga delle seguenti autorizzazioni:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": [
"*"
]
}
]
}
2. Se stai trasmettendo log personalizzati, utilizza un file di configurazione per installare direttamente l'agente CloudWatch Logs e configurare i file. Inoltre, è necessario verificare il formato e l'indentazione di quel file di configurazione. Per ulteriori informazioni sullo streaming di log personalizzati su CloudWatch, consulta il file di configurazione di esempio.
3. Controlla lo stato dell'agente CloudWatch e i log degli agenti per scoprire le cause dei problemi di streaming dei log.
Per controllare lo stato e i log del vecchio agente CloudWatch (awslogsd):
- stato dell'agente: systemctl status awslogsd.service
- posizione del log dell'agente: /var/log/awslogs.log
Per controllare lo stato e i log più recenti dell'agente CloudWatch (amazon-cloudwatch-agent):
- stato dell'agente: systemctl status amazon-cloudwatch-agent.service
- posizione dei log dell'agente: /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
Per ulteriori informazioni sulla personalizzazione dei file di log in Elastic Beanstalk, vedi Come posso personalizzare i miei file di log in Elastic Beanstalk?
Informazioni correlate
Utilizzare Elastic Beanstalk con i file di log Amazon CloudWatch
logs-stream su cloudwatch-linux.config