Ich möchte Fehler bezüglich des Streaming mit Amazon CloudWatch für eine AWS-Elastic-Beanstalk-Umgebung beheben.
Kurzbeschreibung
Das Streaming Ihrer Protokolle an CloudWatch hilft, Ihre Daten zu schützen. Wenn z. B. in Ihrer Elastic-Beanstalk-Umgebung eine Elastic Compute Cloud (Amazon EC2)-Instance ausfällt, können Ihre Protokolle weiterhin über CloudWatch wiederhergestellt werden. Sie können auch den Protokollwechsel verwenden, um sich gegen Datenverlust zu schützen.
Wenn die Instance-Protokolle Ihrer Umgebung auch nach der Aktivierung des Protokollstreamings nicht an CloudWatch gestreamt werden, überprüfen Sie bitte die folgenden häufigen Probleme:
- Ihre IAM-Instance-Profil-Rolle weist nicht die erforderlichen IAM-Berechtigungen auf.
- Ihre Umgebung wurde in einer AWS-Region gestartet, die keine CloudWatch Logs unterstützt.
- Eine Ihrer benutzerdefinierten Protokolldateien existiert nicht im angegebenen Pfad.
Lösung
1. Stellen Sie sicher, dass die Instance-Profil-Rolle Ihrer Elastic-Beanstalk-Umgebung die folgenden Berechtigungen aufweist:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": [
"*"
]
}
]
}
2. Falls Sie benutzerdefinierte Protokolle streamen, verwenden Sie eine Konfigurationsdatei für die direkte Installation des CloudWatch-Logs-Agenten und für die Konfiguration der Dateien. Zudem ist es wichtig, dass Sie das Format und die Einrückung dieser Konfigurationsdatei überprüfen. Weitere Informationen über das Streaming von benutzerdefinierten Protokollen an CloudWatch finden Sie in der Musterkonfigurationsdatei.
3. Überprüfen Sie den Status des CloudWatch-Agenten und die Agentenprotokolle, um herauszufinden, was die Ursachen für Probleme beim Protokollstreaming sind.
So können Sie den Status und die Protokolle des alten CloudWatch-Agenten (awslogsd) überprüfen:
- Agentenstatus: systemctl status awslogsd.service
- Speicherplatz des Agentenprotokolls: /var/log/awslogs.log
So können Sie den aktuellen Status und die Protokolle des CloudWatch-Agenten (amazon-cloudwatch-agent) überprüfen:
- Agentenstatus: systemctl status amazon-cloudwatch-agent.service
- Speicherplatz des Agentenprotokolls: /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
Weitere Informationen zur benutzerdefinierten Anpassung von Protokolldateien in Elastic Beanstalk finden Sie im Abschnitt Wie kann ich meine Protokolldateien in Elastic Beanstalk anpassen?
Ähnliche Informationen
Die Verwendung von Elastic Beanstalk mit Amazon CloudWatch Logs
logs-streamtocloudwatch-linux.config