Come posso risolvere gli errori relativi allo streaming di CloudWatch per un ambiente Elastic Beanstalk?

2 minuti di lettura
0

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

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa