

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.

# Protokolle von Amazon EC2-Instances in Ihrer Elastic Beanstalk Umgebung anzeigen
<a name="using-features.logging"></a>

In diesem Thema werden die Arten von Instance-Logs erklärt, die Elastic Beanstalk bereitstellt. Es enthält auch detaillierte Anweisungen zum Abrufen und Verwalten dieser Dateien.

Die Amazon EC2-Instances der Elastic Beanstalk-Umgebung generieren Protokolle, die Sie zur Behebung von Fehlern mit der Anwendung oder mit Konfigurationsdateien aufrufen können. Protokolle, die vom Webserver, dem Anwendungsserver und den Skripten der Elastic Beanstalk-Plattform erstellt und lokal auf einzelnen Instances gespeichert CloudFormation werden. Sie können diese über die [Environment Management Console](environments-console.md) oder die EB CLI ganz einfach abrufen. Sie können Ihre Umgebung auch so konfigurieren, dass Protokolle in Echtzeit an Amazon CloudWatch Logs gestreamt werden.

Als Protokollfragmente werden die letzten 100 Zeilen der am häufigsten verwendeten Protokolldateien bezeichnet, z. B. Elastic Beanstalk-Betriebsprotokolle sowie Protokolle vom Webserver oder Anwendungsserver. Wenn Sie Protokollfragmente in der Environment Management Console oder mit **eb logs** anfordern, verkettet eine Instance der Umgebung die letzten Protokolleinträge zu einer einzigen Textdatei und lädt diese in Amazon S3 hoch.

Bei Bundle-Protokollen handelt es sich um vollständige Protokolle für ein breiteres Spektrum an Protokolldateien, darunter Protokolle von "yum" und "cron" und verschiedene Protokolle von CloudFormation. Bei der Anforderung von Bundle-Protokollen komprimiert eine Instance der Umgebung die vollständigen Protokolldateien in ein ZIP-Archiv und lädt dieses in Amazon S3 hoch.

Damit rotierte Protokolle in Amazon S3 hochgeladen werden können, müssen die Instances der Umgebung über ein [Instance-Profil](concepts-roles-instance.md) mit Schreibberechtigung für den Elastic Beanstalk Amazon S3-Bucket verfügen. Diese Berechtigungen sind im Instance-Standardprofil enthalten, zu dessen Erstellung Sie von Elastic Beanstalk aufgefordert werden, wenn Sie zum ersten Mal eine Umgebung in der Elastic Beanstalk-Konsole starten.

**So rufen Sie Instance-Protokolle ab:**

1. Öffnen Sie die [Elastic Beanstalk Beanstalk-Konsole](https://console.aws.amazon.com/elasticbeanstalk) und wählen Sie in der Liste **Regionen** Ihre aus. AWS-Region

1. Wählen Sie im Navigationsbereich **Environments (Umgebungen)** aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

1. Wählen Sie im Navigationsbereich **Protokolle** aus.

1. Wählen Sie **Request Logs (Protokolle anfordern)** und wählen Sie dann den Typ der Protokolle, die abgerufen werden sollen. Um Protokollfragmente abzurufen, wählen Sie **Last 100 Lines** aus. Für den Abruf von Bundle-Protokollen wählen Sie **Full Logs** aus.

1. Wenn Elastic Beanstalk mit dem Abrufen Ihrer Protokolle fertig ist, wählen Sie **Download (Herunterladen)** aus.

Elastic Beanstalk speichert Tail- und Bundle-Protokolle in einem Amazon S3-Bucket und generiert eine vordefinierte Amazon S3-URL, über die Sie auf Ihre Protokolle zugreifen können. Elastic Beanstalk löscht die Dateien von Amazon S3 nach 15 Minuten.

**Warnung**  
Jeder im Besitz der vorsignierten Amazon S3-URL kann vor dem Löschen auf die Dateien zugreifen. Geben Sie nur vertrauenswürdigen Parteien Zugriff auf die URL.

**Anmerkung**  
Ihre Benutzerrichtlinie muss die Berechtigung `s3:DeleteObject` haben. Elastic Beanstalk verwendet Ihre Benutzerberechtigungen, um die Protokolle von Amazon S3 zu löschen.

Damit Protokolle erhalten bleiben, können Sie Ihre Umgebung so konfigurieren, dass Protokolle nach dem Rotieren automatisch in Amazon S3 veröffentlicht werden. Befolgen Sie zum Rotieren von Protokollen in Amazon S3 die Anleitung unter [Konfigurieren der Anzeige von Instance-Protokollen](environments-cfg-logging.md#environments-cfg-logging-console). Instances in der Umgebung versuchen dann, Protokolle hochzuladen, die einmal pro Stunde rotiert wurden.

Wenn die Anwendung Protokolle an einem Speicherort generiert, der nicht zur Standardkonfiguration der Umgebungsplattform gehört, können Sie die Standardkonfiguration mithilfe von Konfigurationsdateien erweitern (`[.ebextensions](ebextensions.md)`). Die Protokolldateien der Anwendung können zu Protokollfragmenten, zu Bundle-Protokollen oder zur Protokollrotation hinzugefügt werden.

Für Echtzeit-Log-Streaming und Langzeitspeicherung konfigurieren Sie Ihre Umgebung so, dass [Logs an Amazon CloudWatch Logs gestreamt](#health-logs-cloudwatchlogs) werden.

Informationen zur KI-gestützten Analyse Ihrer Umgebungsprotokolle, Ereignisse und des Zustands Ihrer Instances zur Identifizierung von Ursachen und Lösungen für Integritätsprobleme finden Sie unter[KI-gestützte Umgebungsanalyse](health-ai-analysis.md).

**Topics**
+ [Speicherort der Protokolle auf Amazon EC2-Instances](#health-logs-instancelocation)
+ [Speicherort der Protokolle in Amazon S3](#health-logs-s3location)
+ [Protokollrotations-Einstellungen auf Linux](#health-logs-logrotate)
+ [Erweitern der Standardkonfiguration für Protokollaufgaben](#health-logs-extend)
+ [Protokolldateien nach Amazon CloudWatch Logs streamen](#health-logs-cloudwatchlogs)

## Speicherort der Protokolle auf Amazon EC2-Instances
<a name="health-logs-instancelocation"></a>

Protokolle werden an Standardspeicherorten auf den Amazon EC2-Instances Ihrer Umgebung gespeichert. Elastic Beanstalk erzeugt die folgenden Protokolle.

**Amazon Linux 2**
+ `/var/log/eb-engine.log`

**Amazon Linux-AMI (AL1)**

**Anmerkung**  
 [Am 18. Juli 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **hat Elastic Beanstalk den Status aller Plattformbranches, 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](using-features.migration-al.md).
+ `/var/log/eb-activity.log`
+ `/var/log/eb-commandprocessor.log`

**Windows Server**
+ `C:\Program Files\Amazon\ElasticBeanstalk\logs\`
+ `C:\cfn\log\cfn-init.log`

Diese Protokolle enthalten Meldungen über Bereitstellungsaktivitäten, einschließlich solcher über Konfigurationsdateien ([`.ebextensions`](ebextensions.md)).

Jede Anwendung und jeder Webserver speichert Protokolle in einem eigenen Ordner:
+ **Apache** – `/var/log/httpd/`
+ **IIS** – `C:\inetpub\wwwroot\`
+ **Node.js** – `/var/log/nodejs/`
+ **nginx** – `/var/log/nginx/`
+ **Passenger** – `/var/app/support/logs/`
+ **Puma** – `/var/log/puma/`
+ **Python** – `/opt/python/log/`
+ **Tomcat** – `/var/log/tomcat/`

## Speicherort der Protokolle in Amazon S3
<a name="health-logs-s3location"></a>

Wenn Sie Protokollfragmente oder Bundle-Protokolle aus Ihrer Umgebung anfordern oder wenn Instances rotierte Protokolle hochgeladen haben, werden diese in Ihrem Elastic Beanstalk-Bucket in Amazon S3 gespeichert. Elastic Beanstalk erstellt einen Bucket, der `elasticbeanstalk-region-account-id` nach jeder AWS Region benannt ist, in der Sie Umgebungen erstellen. In diesem Bucket werden Protokolle unter dem Pfad `resources/environments/logs/logtype/environment-id/instance-id` gespeichert. 

Beispielsweise werden Logs von der Instanz `i-0a1fd158` in der Elastic Beanstalk Beanstalk-Umgebung unter AWS Region `e-mpcwnwheky` `us-west-2` im Account `123456789012` an den folgenden Orten gespeichert:
+ **Tail Logs** –

  `s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/tail/e-mpcwnwheky/i-0a1fd158`
+ **Bundle Logs** –

  `s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/bundle/e-mpcwnwheky/i-0a1fd158`
+ **Rotated Logs** –

  `s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/publish/e-mpcwnwheky/i-0a1fd158`

**Anmerkung**  
Die Umgebungs-ID finden Sie in der Environment Management Console.

Elastic Beanstalk löscht Tail- und Bundle-Protokolle von Amazon S3 automatisch 15 Minuten nach ihrer Erstellung. Rotierte Protokolle bleiben bestehen, bis Sie sie löschen oder nach Amazon Glacier verschieben.

## Protokollrotations-Einstellungen auf Linux
<a name="health-logs-logrotate"></a>

Auf Linux-Plattformen verwendet Elastic Beanstalk `logrotate`, um Protokolle periodisch zu rotieren. Nach der lokalen Rotation des Protokolls erfasst es die Protokollrotationsaufgabe und lädt es in Amazon S3 hoch (sofern dies konfiguriert ist). Lokal rotierte Protokolle werden standardmäßig nicht in Protokollfragmente oder Bundle-Protokolle aufgenommen.

Elastic Beanstalk-Konfigurationsdateien für `logrotate` finden Sie unter `/etc/logrotate.elasticbeanstalk.hourly/`. Diese Rotationseinstellungen sind plattformspezifisch und können sich in späteren Versionen der Plattform ändern. Führen Sie `man logrotate` aus, um weitere Informationen zu den verfügbaren Einstellungen sowie Beispielkonfigurationen zu erhalten.

Die Konfigurationsdateien werden von Cron-Aufträgen in `/etc/cron.hourly/` aufgerufen. Führen Sie zum Erhalten weiterer Informationen zu `cron` `man cron` aus.

## Erweitern der Standardkonfiguration für Protokollaufgaben
<a name="health-logs-extend"></a>

In Elastic Beanstalk werden Dateien in den Unterordnern von `/opt/elasticbeanstalk/tasks` (Linux) oder `C:\Program Files\Amazon\ElasticBeanstalk\config` (Windows Server) auf der Amazon EC2-Instance verwendet, um Aufgaben für Protokollfragmente, Bundle-Protokolle und Protokollrotation zu konfigurieren.

**Auf Amazon Linux:**
+ **Tail Logs** –

  `/opt/elasticbeanstalk/tasks/taillogs.d/`
+ **Bundle Logs** –

  `/opt/elasticbeanstalk/tasks/bundlelogs.d/`
+ **Rotated Logs** –

  `/opt/elasticbeanstalk/tasks/publishlogs.d/`

**Auf Windows Server:**
+ **Tail Logs** –

  `c:\Program Files\Amazon\ElasticBeanstalk\config\taillogs.d\`
+ **Bundle Logs** –

  `c:\Program Files\Amazon\ElasticBeanstalk\config\bundlelogs.d\`
+ **Rotated Logs** –

  `c:\Program Files\Amazon\ElasticBeanstalk\config\publogs.d\`

Beispielsweise werden mit der Datei `eb-activity.conf` auf Linux zwei Protokolldateien zur Protokollfragmentaufgabe hinzugefügt:

**`/opt/elasticbeanstalk/tasks/taillogs.d/eb-activity.conf `**

```
/var/log/eb-commandprocessor.log
/var/log/eb-activity.log
```

Sie können Umgebungskonfigurationsdateien (`[.ebextensions](ebextensions.md)`) verwenden, um Ihre eigenen `.conf`-Dateien diesen Ordnern hinzuzufügen. Eine `.conf`-Datei listet für Ihre Anwendung spezifische Protokolldateien auf, die Elastic Beanstalk zu den Protokolldateiaufgaben hinzufügt.

Verwenden Sie den Abschnitt `files`, um Konfigurationsdateien zu den Aufgaben hinzuzufügen, die geändert werden sollen. Der folgende Konfigurationstext fügt beispielsweise eine Protokollkonfigurationsdatei zu den einzelnen Instances Ihrer Umgebung hinzu. Die Protokollkonfigurationsdatei `cloud-init.conf` fügt `/var/log/cloud-init.log` zu Protokollfragmenten hinzu.

```
files:
  "/opt/elasticbeanstalk/tasks/taillogs.d/cloud-init.conf" :
    mode: "000755"
    owner: root
    group: root
    content: |
      /var/log/cloud-init.log
```

Fügen Sie diesen Text zu einer Datei mit der Dateinamenerweiterung `.config` zu Ihrem Quell-Bundle in einen Ordner namens `.ebextensions` hinzu.

```
~/workspace/my-app
|-- .ebextensions
|   `-- tail-logs.config
|-- index.php
`-- styles.css
```

Auf Linux-Plattformen können Sie bei der Konfiguration von Protokollaufgaben auch Platzhalterzeichen einsetzen. Mithilfe dieser Konfigurationsdatei werden alle Dateien mit der Erweiterung `.log`, die sich im Ordner `log` des Anwendungsstamms befinden, zu Bundle-Protokollen hinzugefügt.

```
files: 
  "/opt/elasticbeanstalk/tasks/bundlelogs.d/applogs.conf" :
    mode: "000755"
    owner: root
    group: root
    content: |
      /var/app/current/log/*.log
```

Konfiguration von Protokollaufgaben unterstützen keine Platzhalterzeichen auf Windows-Plattformen.

**Anmerkung**  
Wenn Sie sich mit den Verfahren zur Anpassung von Protokollen vertraut machen möchten, können Sie mithilfe der [EB-CLI](eb-cli3.md) eine Beispielanwendung bereitstellen. Dazu erstellt die EB-CLI ein lokales Anwendungsverzeichnis, in dem `.ebextentions`-Unterverzeichnis mit einer Beispielkonfiguration enthalten ist. Sie können die Protokolldateien der Beispielanwendung auch dazu verwenden, die in diesem Thema beschriebene Protokollabruffunktion zu untersuchen.

Weitere Informationen zur Verwendung von Konfigurationsdateien finden Sie unter [Erweiterte Umgebungsanpassung mit Konfigurationsdateien (`.ebextensions`)](ebextensions.md).

So wie Sie Protokollfragmente und Bundle-Protokolle erweitern können, so können Sie auch Protokollrotation mit einer Konfigurationsdatei erweitern. Jedes Mal, wenn Elastic Beanstalk seine eigenen Protokolle rotiert und auf Amazon S3 hochlädt, rotiert es auch Ihre zusätzlichen Protokolle und lädt sie hoch. Die Protokollrotation-Erweiterung verhält sich abhängig vom Betriebssystem der Plattform anders. In den folgenden Abschnitten werden diese beiden Fälle beschrieben.

### Erweitern der Protokollrotation auf Linux
<a name="health-logs-extend-rotation-linux"></a>

Wie in [Protokollrotations-Einstellungen auf Linux](#health-logs-logrotate) erläutert, verwendet Elastic Beanstalk `logrotate` zum Rotieren von Protokollen auf Linux-Plattformen. Wenn Sie die Protokolldateien Ihrer Anwendung für Protokollrotation konfigurieren, muss die Anwendung keine Kopien von Protokolldateien erstellen. Elastic Beanstalk konfiguriert `logrotate` so, dass bei jeder Rotation eine Kopie der Protokolldateien Ihrer Anwendung erstellt wird. Aus diesem Grund muss die Anwendung die Protokolldateien entsperrt halten, wenn sie nicht aktiv in sie schreibt.

### Ausdehnen der Protokollrotation auf Windows Server
<a name="health-logs-extend-rotation-windows"></a>

Auf Windows Server muss die Anwendung die Protokolldateien regelmäßig rotieren, wenn Sie Ihre Anwendung für Protokollrotation konfigurieren. Elastic Beanstalk sucht nach Dateien mit Namen, die mit dem von Ihnen konfigurierten Muster beginnen, und markiert sie zum Hochladen in Amazon S3. Darüber hinaus werden Punkte im Dateinamen ignoriert und Elastic Beanstalk betrachtet den Namen bis zum Punkt als Basis-Protokolldateinamen.

Elastic Beanstalk lädt alle Versionen einer Basis-Protokolldatei hoch, mit Ausnahme der neuesten, da es diese als aktive Protokolldatei der Anwendung betrachtet, die möglicherweise gesperrt sein kann. Ihre Anwendung kann daher die aktive Protokolldatei zwischen Rotationen gesperrt halten.

Beispiel: Ihre Anwendung schreibt in eine Protokolldatei mit dem Namen `my_log.log` und Sie geben diesen Namen in der `.conf`-Datei an. Die Anwendung rotiert die Datei in regelmäßigen Abständen. Während des Elastic Beanstalk-Rotationszyklus findet die Anwendung die folgenden Dateien im Ordner der Protokolldatei: `my_log.log`, `my_log.0800.log` und `my_log.0830.log`. Elastic Beanstalk betrachtet sie alle als Versionen des gleichen Basisnamens `my_log`. Die Datei `my_log.log` hat die neueste Änderungszeit, daher lädt Elastic Beanstalk nur die beiden anderen Dateien, `my_log.0800.log` und `my_log.0830.log`, hoch.

## Protokolldateien nach Amazon CloudWatch Logs streamen
<a name="health-logs-cloudwatchlogs"></a>

Sie können Ihre Umgebung in der Elastic Beanstalk Beanstalk-Konsole oder mithilfe von [Konfigurationsoptionen](command-options.md) so konfigurieren, dass CloudWatch Logs zu Amazon Logs gestreamt werden. Mit CloudWatch Logs streamt jede Instance in Ihrer Umgebung Logs in Protokollgruppen, die Sie so konfigurieren können, dass sie für Wochen oder Jahre aufbewahrt werden, auch wenn Ihre Umgebung beendet wurde.

Die gestreamten Protokollsätze sind je nach Umgebung unterschiedlich, enthalten aber immer das Protokoll `eb-engine.log` sowie die Zugriffsprotokolle des nginx- oder Apache-Proxy-Servers, der vor der Anwendung ausgeführt wird.

Sie können das Protokoll-Streamen in der Elastic Beanstalk-Konsole entweder beim [Erstellen der Umgebung](environments-create-wizard.md#environments-create-wizard-software) oder [für eine vorhandene Umgebung](environments-cfg-logging.md#environments-cfg-logging-console) konfigurieren. Sie können die folgenden Optionen von der Konsole aus festlegen: Log-Streaming in CloudWatch Logs aktivieren/deaktivieren, die Anzahl der Aufbewahrungstage festlegen und aus Lifecyle-Optionen wählen. Im folgenden Beispiel werden Protokolle auch dann für sieben Tage gespeichert, wenn die Umgebung beendet wird.

![\[Bildschirmbild der CloudWatch Logs-Einstellungen in der Elastic Beanstalk Beanstalk-Konsole.\]](http://docs.aws.amazon.com/de_de/elasticbeanstalk/latest/dg/images/log-streaming-screen.png)


Mit der folgenden [Konfigurationsdatei](ebextensions.md) wird das Protokoll-Streaming aktiviert und die Protokolle bleiben 180 Tage erhalten, auch bei beendeter Umgebung.

**Example .ebextensions/log-streaming.config**  

```
option_settings:
  aws:elasticbeanstalk:cloudwatch:logs:
    StreamLogs: true
    DeleteOnTerminate: false
    RetentionInDays: 180
```