Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Elastic Beanstalk mit Amazon Logs verwenden CloudWatch
In diesem Thema werden die Überwachungsfunktionen erklärt, die der Amazon CloudWatch Logs-Service Elastic Beanstalk zur Verfügung stellen kann. Es führt Sie auch durch die Konfiguration und listet die Speicherorte der Protokolle für jede Elastic Beanstalk-Plattform auf.
Durch die Implementierung von CloudWatch Logs können Sie die folgenden Monitoring-Aktivitäten durchführen:
-
Überwachen und archivieren Sie Ihre Elastic Beanstalk Beanstalk-Anwendungs-, System- und benutzerdefinierten Protokolldateien aus den EC2 Amazon-Instances Ihrer Umgebungen.
-
Konfigurieren Sie Alarme, die es Ihnen erleichtern, auf bestimmte Log-Stream-Ereignisse zu reagieren, die Ihre Metrikfilter extrahieren.
Der CloudWatch Logs-Agent, der auf jeder EC2 Amazon-Instance in Ihrer Umgebung installiert ist, veröffentlicht für jede von Ihnen konfigurierte Protokollgruppe metrische Datenpunkte an den CloudWatch Service. Jede Protokollgruppe wendet ihre eigenen Filtermuster an, um zu bestimmen, an welche Log-Stream-Ereignisse CloudWatch als Datenpunkte gesendet werden sollen. Protokollstreams, die zur selben Protokollgruppe gehören, besitzen dieselben Einstellungen für die Aufbewahrung, Überwachung und Zugriffskontrolle. Sie können Elastic Beanstalk so konfigurieren, dass Logs automatisch an den CloudWatch Service gestreamt werden, wie unter beschrieben. Die Streaming-Instanz protokolliert in CloudWatch Logs Weitere Informationen zu CloudWatch Logs, einschließlich Terminologie und Konzepten, finden Sie im Amazon CloudWatch Logs-Benutzerhandbuch.
Wenn Sie Enhanced Health für Ihre Umgebung aktivieren, können Sie zusätzlich zu Instance-Logs die Umgebung so konfigurieren, dass Integritätsinformationen in CloudWatch Logs gestreamt werden. Siehe Streaming von Integritätsinformationen der Elastic Beanstalk-Umgebung an Amazon CloudWatch Logs.
Themen
- Voraussetzungen für das Streaming von CloudWatch Instanzprotokollen in Logs
- So richtet Elastic Beanstalk Logs ein CloudWatch
- Die Streaming-Instanz protokolliert in CloudWatch Logs
- Fehlerbehebung bei der Integration CloudWatch von Logs
- Streaming von Integritätsinformationen der Elastic Beanstalk-Umgebung an Amazon CloudWatch Logs
Voraussetzungen für das Streaming von CloudWatch Instanzprotokollen in Logs
Um das Streaming von Protokollen von den EC2 Amazon-Instances Ihrer Umgebung zu CloudWatch Logs zu aktivieren, müssen Sie die folgenden Bedingungen erfüllen.
-
Platform (Plattform) – Da diese Funktion nur in Plattformversionen zur Verfügung steht, die mit oder nach diesem Release
veröffentlicht wurden, müssen Sie Ihre Umgebung aktualisieren, falls Sie eine frühere Plattformversion verwenden. -
Wenn Sie die AWSElasticBeanstalkWebTieroder von AWSElasticBeanstalkWorkerTierElastic Beanstalk verwaltete Richtlinie nicht in Ihrem Elastic Beanstalk Beanstalk-Instance-Profil haben, müssen Sie Folgendes zu Ihrem Profil hinzufügen, um diese Funktion zu aktivieren.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": [ "*" ] } ] }
So richtet Elastic Beanstalk Logs ein CloudWatch
Elastic Beanstalk installiert auf jeder erstellten Instance einen CloudWatch Log-Agent mit den Standardkonfigurationseinstellungen. Weitere Informationen finden Sie in der CloudWatch Logs Agent Reference.
Wenn Sie das Streaming von CloudWatch Instance-Logs zu Logs aktivieren, sendet Elastic Beanstalk Logdateien von den Instances Ihrer Umgebung an CloudWatch Logs. Unterschiedliche Plattformen streamen unterschiedliche Protokolle. In der folgenden Tabelle finden Sie die Protokolle nach Plattform sortiert.
Plattform/Plattformzweig |
Logs (Protokolle) |
---|---|
Docker/ Plattformzweig: Docker auf Amazon Linux 2 mit 64 Bit |
|
Docker/ Platform Branch: ECS Läuft auf 64-Bit-Amazon Linux 2 |
|
Go . NETCore unter Linux Java/Plattformzweig: Corretto auf Amazon Linux 2 mit 64 Bit |
|
Node.js Python |
|
Tomcat PHP |
|
. NETauf Windows Server |
|
Ruby |
|
Anmerkung
Am 18. Juli 2022 hat Elastic Beanstalk den Status aller Plattformbranchen, die auf Amazon Linux AMI (AL1) basieren, auf eingestellt gesetzt. Weitere Informationen zur Migration zu einem aktuellen und vollständig unterstützten Plattformzweig für Amazon Linux 2023 finden Sie unter Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2.
In der folgenden Tabelle sind die Protokolldateien, die von Instances auf Plattformbranches gestreamt wurden, die auf Amazon Linux AMI (vor Amazon Linux 2) basieren, nach Plattform aufgelistet.
Plattform/Plattformzweig |
Logs (Protokolle) |
---|---|
Docker/ Plattformzweig: Docker auf Amazon Linux mit 64 Bit |
|
Docker/ Plattformzweig: Multi-Container-Docker auf Amazon Linux mit 64 Bit |
|
Glassfish (Docker vorkonfiguriert) |
|
Go |
|
Java/ Plattformzweig: Java 8 auf Amazon Linux mit 64 Bit Plattformzweig: Java 7 auf Amazon Linux mit 64 Bit |
|
Tomcat |
|
Node.js |
|
PHP |
|
Python |
|
Ruby/ Plattformzweig: Puma mit Ruby auf Amazon Linux mit 64 Bit |
|
Ruby/ Plattformzweig: Passenger mit Ruby auf Amazon Linux mit 64 Bit |
|
Elastic Beanstalk konfiguriert Protokollgruppen in CloudWatch Logs für die verschiedenen Protokolldateien, die gestreamt werden. Um bestimmte Protokolldateien aus CloudWatch Logs abzurufen, müssen Sie den Namen der entsprechenden Protokollgruppe kennen. Das Namensschema der Protokollgruppe hängt vom Betriebssystem der Plattform ab.
Für Linux-Plattformen stellen Sie der Protokolldatei auf der Instance das Präfix /aws/elasticbeanstalk/
voraus, um den Protokollgruppennamen zu erhalten. Um beispielsweise die Datei environment_name
/var/log/nginx/error.log
abzurufen, geben Sie die Protokollgruppe /aws/elasticbeanstalk/
an.environment_name
/var/log/nginx/error.log
Für Windows-Plattformen finden Sie in der folgenden Tabelle die Protokollgruppen für alle Protokolldateien.
Protokolldatei auf der Instance |
Protokollgruppe |
---|---|
|
|
|
|
|
|
Die Streaming-Instanz protokolliert in CloudWatch Logs
Sie können das Streaming von CloudWatch Instance-Logs in Logs über die Elastic Beanstalk Beanstalk-Konsole, den EB CLI oder die Konfigurationsoptionen aktivieren.
Bevor Sie es aktivieren, richten Sie die IAM Berechtigungen für die Verwendung mit dem CloudWatch Logs-Agenten ein. Sie können die folgende benutzerdefinierte Richtlinien an das Instance-Profil anhängen, das Sie Ihrer Umgebung zuweisen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "*" ] } ] }
Streaming von Instance-Protokollen mit der Elastic Beanstalk-Konsole
Um Instanzprotokolle in Logs zu CloudWatch streamen
Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole
und wählen Sie in der Liste Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
Anmerkung
Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Updates, monitoring and logging (Updates, Überwachung und Protokolle) die Option Edit (Bearbeiten) aus.
-
Gehen Sie unter Instance-Log-Streaming zu CloudWatch Logs wie folgt vor:
-
Aktivieren Sie Log streaming (Protokoll-Streaming).
-
Setzen Sie Retention (Aufbewahrungsdauer) auf die Anzahl an Tagen, wie lange die Protokolle aufbewahrt werden sollen.
-
Wählen Sie die Einstellung Lifecycle (Lebenszyklus), die bestimmt, ob die Protokolle gespeichert werden, nachdem die Umgebung beendet wurde.
-
-
Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.
Nachdem Sie das Protokoll-Streaming aktiviert haben, können Sie zur Konfigurationskategorie oder -seite Software zurückkehren und dort den Link Log Groups (Protokollgruppen) suchen. Klicken Sie auf diesen Link, um Ihre Logs in der CloudWatch Konsole zu sehen.
Instanz-Log-Streaming mit der EB CLI
Verwenden Sie den eb logs Befehl, um das Streaming von CloudWatch Instanzprotokollen in Logs mithilfe des EB CLI zu aktivieren.
$ eb logs --cloudwatch-logs enable
Sie können ihn auch verwendeneb logs, um Logs aus CloudWatch Logs abzurufen. Sie können alle Instance-Protokolle der Umgebung abrufen, oder die vielen Optionen des Befehls verwenden, um Untergruppen abzurufender Protokolle anzugeben. Der folgende Befehl beispielsweise ruft den vollständigen Satz an Instance-Protokollen für Ihre Umgebung auf und speichert diese in ein Verzeichnis unter .elasticbeanstalk/logs
.
$ eb logs --all
Mit der Option --log-group
können Sie Instance-Protokolle einer bestimmten Protokollgruppe abrufen, die einer bestimmten Protokolldatei einer Instance entspricht. Dazu müssen Sie den Namen der Protokollgruppe kennen, die der abzurufenden Protokolldatei entspricht. Sie finden diese Informationen in So richtet Elastic Beanstalk Logs ein CloudWatch .
Streaming von Instance-Protokollen mit Konfigurationsdateien
Wenn Sie eine Umgebung erstellen oder aktualisieren, können Sie eine Konfigurationsdatei verwenden, um das Streaming von CloudWatch Instanzprotokollen in Logs einzurichten und zu konfigurieren. Die folgende Beispiel-Konfigurationsdatei ermöglicht ein standardmäßiges Streaming der Instance-Protokolle. Elastic Beanstalk streamt den Standardsatz an Protokolldateien für die Plattform Ihrer Umgebung. Um das Beispiel zu verwenden, kopieren Sie den Text in eine Datei mit der Erweiterung .config
im Verzeichnis .ebextensions
auf der obersten Ebene Ihres Anwendungsquellpakets.
option_settings: - namespace: aws:elasticbeanstalk:cloudwatch:logs option_name: StreamLogs value: true
Benutzerdefiniertes Streaming von Protokolldateien
Die Elastic Beanstalk Beanstalk-Integration mit CloudWatch Logs unterstützt nicht direkt das Streaming von benutzerdefinierten Protokolldateien, die Ihre Anwendung generiert. Um benutzerdefinierte Logs zu streamen, verwenden Sie eine Konfigurationsdatei, um den CloudWatch Agenten direkt zu installieren und die Dateien für die Übertragung zu konfigurieren. Eine Beispielkonfigurationsdatei finden Sie unter logs-streamtocloudwatch-linux.config
Anmerkung
Das Beispiel funktioniert nicht auf der Windows-Plattform.
Weitere Informationen zur Konfiguration von CloudWatch Logs finden Sie in der Referenz zur CloudWatch Agentenkonfigurationsdatei im CloudWatch Amazon-Benutzerhandbuch.
Fehlerbehebung bei der Integration CloudWatch von Logs
Wenn Sie einige der erwarteten Instanzprotokolle der Umgebung nicht unter Logs finden können, können Sie die folgenden häufigen Probleme untersuchen: CloudWatch
-
Ihrer IAM Rolle fehlen die erforderlichen IAM Berechtigungen.
-
Sie haben Ihre Umgebung in einer Umgebung gestartet AWS-Region , die CloudWatch Logs nicht unterstützt.
-
Eine Ihrer benutzerdefinierten Protokolldateien existiert nicht unter dem von Ihnen angegebenen Pfad.