Streaming von Integritätsinformationen der Elastic Beanstalk-Umgebung an Amazon CloudWatch Logs - AWS Elastic Beanstalk

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.

Streaming von Integritätsinformationen der Elastic Beanstalk-Umgebung an Amazon CloudWatch Logs

Wenn Sie erweiterte Integritätsberichte für Ihre Umgebung aktivieren, können Sie die Umgebung so konfigurieren, dass sie Integritätsinformationen an CloudWatch Logs streamt. Dieses Streaming ist unabhängig vom Streaming von Amazon EC2-Instance-Protokollen. Dieses Thema beschreibt Informationen zum Streaming des Umgebungszustands. Weitere Informationen zum Streaming von Instance-Protokollen finden Sie unter Verwenden von Elastic Beanstalk mit Amazon CloudWatch Logs.

Wenn Sie das Streaming der Umgebungsintegrität konfigurieren, erstellt Elastic Beanstalk eine CloudWatch Logs-Protokollgruppe für die Umgebungsintegrität. Der Name der Protokollgruppe ist /aws/elasticbeanstalk/environment-name/environment-health.log. Innerhalb dieser Protokollgruppe erstellt Elastic Beanstalk Protokollstreams mit dem Namen YYYY-MM-DD#<hash-suffix> (möglicherweise mehr als einen Protokollstream pro Datum).

Wenn sich der Integritätsstatus der Umgebung ändert, fügt Elastic Beanstalk einen Datensatz in den Integritätsprotokoll-Stream ein. Der Datensatz stellt den Zustandsübergang dar – den neuen Status und eine Beschreibung der Ursache für die Änderung. Beispielsweise könnte sich der Zustand einer Umgebung auf "Severe“ (Schwerwiegend) ändern, weil der Load Balancer ausgefallen ist. Eine Beschreibung der erweiterten Zustandsstatus finden Sie unter Farben und Status in Zustandsangaben.

Voraussetzungen für das Streaming der Umgebungsintegrität an CloudWatch Logs

Um das Streaming der Umgebungsintegrität nach CloudWatch Logs zu aktivieren, müssen Sie die folgenden Bedingungen erfüllen:

  • Platform (Plattform) – Sie müssen eine Plattformversion verwenden, die erweiterte Integritätsberichte unterstützt.

  • Permissions (Berechtigungen) – Sie müssen bestimmte Berechtigungen im Zusammenhang mit der Protokollierung an Elastic Beanstalk erteilen, sodass es in Ihrem Namen agieren kann, um die Integritätsinformationen für Ihre Umgebung zu streamen. Wenn Ihre Umgebung keine Servicerolle verwendet, die Elastic Beanstalk dafür erstellt hat (aws-elasticbeanstalk-service-role), und auch nicht die serviceverknüpfte Rolle Ihres Kontos (AWSServiceRoleForElasticBeanstalk), stellen Sie sicher, dass Sie Ihrer benutzerdefinierten Servicerolle die folgenden Berechtigungen hinzufügen.

    { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*" }

Streaming von Umgebungsintegritätsprotokollen an CloudWatch Logs

Sie können das Streaming der Umgebungsintegrität an CloudWatch Logs mithilfe der Elastic Beanstalk-Konsole, der EB CLI oder der Konfigurationsoptionen aktivieren.

Streamen von Umgebungsintegritätsprotokollen mit der Elastic Beanstalk-Konsole

So streamen Sie Umgebungsintegritätsprotokolle an CloudWatch Logs
  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. 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.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Monitoring (Überwachung) die Option Edit (Bearbeiten).

  5. Stellen Sie sicher, dass unter Health reporting (Zustandsberichte) das System auf Enhanced (Erweitert) gesetzt ist.

  6. Unter Health event streaming to CloudWatch Logs (Streaming von Zustandsereignissen an CloudWatch-Protokolle):

    • 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.

  7. 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 Monitoring (Überwachung) zurückkehren und dort den Link Log Group (Protokollgruppe) suchen. Klicken Sie auf diesen Link, um Ihre Umgebungsintegritätsprotokolle in der CloudWatch-Konsole anzuzeigen.

Streamen von Umgebungszustandsprotokollen mit der EB-CLI

Um das Streaming von Umgebungsintegritätsprotokollen an CloudWatch Logs mit der EB CLI zu aktivieren, verwenden Sie den Befehl eb logs.

$ eb logs --cloudwatch-logs enable --cloudwatch-log-source environment-health

Sie können auch eb logs verwenden, um Protokolle von CloudWatch Logs abzurufen. Der folgende Befehl beispielsweise ruft alle Zustandsprotokolle für Ihre Umgebung auf und speichert diese in ein Verzeichnis unter .elasticbeanstalk/logs.

$ eb logs --all --cloudwatch-log-source environment-health

Streamen von Umgebungszustandsprotokollen mit Konfigurationsdateien

Wenn Sie eine Umgebung erstellen oder aktualisieren, können Sie eine Konfigurationsdatei zum Einrichten und Konfigurieren des Streamings von Umgebungsintegritätsprotokollen an CloudWatch Logs verwenden. Um das nachfolgende Beispiel zu verwenden, kopieren Sie den Text in eine Datei mit der Dateinamenerweiterung .config im Verzeichnis .ebextensions auf der obersten Ebene Ihres Anwendungs-Quell-Bundles. Das Beispiel konfiguriert Elastic Beanstalk so, dass das Streaming der Umgebungsintegritätsprotokolle aktiviert ist, dass die Protokolle nach dem Beenden der Umgebung beibehalten und für 30 Tage gespeichert werden.

Beispiel Konfigurationsdatei für das Streaming des Zustands
############################################################################ ## Sets up Elastic Beanstalk to stream environment health information ## to Amazon CloudWatch Logs. ## Works only for environments that have enhanced health reporting enabled. ############################################################################ option_settings: aws:elasticbeanstalk:cloudwatch:logs:health: HealthStreamingEnabled: true ### Settings below this line are optional. # DeleteOnTerminate: Delete the log group when the environment is # terminated. Default is false. If false, the health data is kept # RetentionInDays days. DeleteOnTerminate: false # RetentionInDays: The number of days to keep the archived health data # before it expires, if DeleteOnTerminate isn't set. Default is 7 days. RetentionInDays: 30

Standardwerte und gültige Werte für die Option finden Sie unter aws:elasticbeanstalk:cloudwatch:logs:health.