

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.

# Erstellen Sie einen benutzerdefinierten Protokollparser für Amazon ECS mithilfe eines Firelens-Protokollrouters
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router"></a>

*Varun Sharma, Amazon Web Services*

## Zusammenfassung
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-summary"></a>

Firelens ist ein Protokollrouter für Amazon Elastic Container Service (Amazon ECS) und AWS Fargate. [Sie können Firelens verwenden, um Container-Logs von Amazon ECS an Amazon CloudWatch und andere Ziele (z. B. [Splunk](https://www.splunk.com/) oder Sumo Logic) weiterzuleiten.](https://www.sumologic.com/) Firelens arbeitet mit [Fluentd oder Fluent](https://www.fluentd.org/) [Bit](https://fluentbit.io/) als Protokollierungsagent, was bedeutet, dass Sie [Amazon ECS-Aufgabendefinitionsparameter](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) verwenden können, um Protokolle weiterzuleiten.

Wenn Sie sich dafür entscheiden, Protokolle auf Quellenebene zu analysieren, können Sie Ihre Protokolldaten analysieren und Abfragen durchführen, um effizienter und effektiver auf betriebliche Probleme zu reagieren. Da verschiedene Anwendungen unterschiedliche Protokollierungsmuster haben, müssen Sie einen benutzerdefinierten Parser verwenden, der die Protokolle strukturiert und die Suche am Zielort erleichtert.

Dieses Muster verwendet einen Firelens-Protokollrouter mit einem benutzerdefinierten Parser, um Protokolle CloudWatch von einer Spring Boot-Beispielanwendung, die auf Amazon ECS ausgeführt wird, zu übertragen. Anschließend können Sie Amazon CloudWatch Logs Insights verwenden, um die Protokolle auf der Grundlage benutzerdefinierter Felder zu filtern, die vom benutzerdefinierten Parser generiert werden. 

## Voraussetzungen und Einschränkungen
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-prereqs"></a>

**Voraussetzungen**
+ Ein aktives Amazon Web Services (AWS) -Konto.
+ AWS-Befehlszeilenschnittstelle (AWS CLI), auf Ihrem lokalen Computer installiert und konfiguriert.
+ Docker, auf Ihrem lokalen Computer installiert und konfiguriert.
+ Eine bestehende Boot-based containerisierte Spring-Anwendung in Amazon Elastic Container Registry (Amazon ECR). 

## Architektur
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-architecture"></a>

![Verwendung eines Firelens-Protokollrouters zum Übertragen von Protokollen CloudWatch von einer Anwendung, die auf Amazon ECS ausgeführt wird.](https://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/e82b4992-c4e0-4af5-b87e-cb0b1c1ed8c9/images/ef60e087-965a-40e9-9f80-35edbda2befe.png)


**Technologie-Stack**
+ CloudWatch
+ Amazon ECR
+ Amazon ECS
+ Fargate
+ Docker
+ Fluent Bit

## Tools
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-tools"></a>
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) — Amazon Elastic Container Registry (Amazon ECR) ist ein von AWS verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) — Amazon Elastic Container Service (Amazon ECS) ist ein hoch skalierbarer, schneller Container-Management-Service, der das Ausführen, Stoppen und Verwalten von Containern in einem Cluster vereinfacht.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) — IAM ist ein Webservice zur sicheren Steuerung des Zugriffs auf AWS-Services.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) — AWS Command Line Interface (AWS CLI) ist ein Open-Source-Tool, mit dem Sie mithilfe von Befehlen in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
+ [Docker](https://www.docker.com/) — Docker ist eine offene Plattform für die Entwicklung, den Versand und den Betrieb von Anwendungen.

**Code**

Die folgenden Dateien sind an dieses Muster angehängt:
+ `customFluentBit.zip`— Enthält die Dateien zum Hinzufügen der benutzerdefinierten Analyse und Konfigurationen.
+ `firelens_policy.json`— Enthält das Richtliniendokument zur Erstellung einer IAM-Richtlinie.
+ `Task.json`— Enthält eine Beispielaufgabendefinition für Amazon ECS.

## Epen
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-epics"></a>

### Erstellen Sie ein benutzerdefiniertes Fluent Bit-Bild
<a name="create-a-custom-fluent-bit-image"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie ein Amazon-ECR-Repository. | Melden Sie sich bei der AWS-Managementkonsole an, öffnen Sie die Amazon ECR-Konsole und erstellen Sie ein Repository namens`fluentbit_custom`.<br />Weitere Informationen dazu finden Sie unter [Erstellen eines Repositorys](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html) in der Amazon ECR-Dokumentation. | Systemadministrator, Entwickler | 
| Entpacken Sie das benutzerdefinierte FluentBit.zip Paket. |  1. Laden Sie das `customFluentBit.zip` Paket (angehängt) auf Ihren lokalen Computer herunter. <br />2. Entpacken Sie das Paket in das `customFluentBit` Verzeichnis, indem Sie den folgenden Befehl ausführen: `unzip -d customFluentBit.zip`<br />3. Das Verzeichnis enthält die folgenden Dateien, die für das Hinzufügen der benutzerdefinierten Analyse und Konfigurationen erforderlich sind:`parsers/springboot_parser.conf`— Enthält die Parser-Direktive und definiert das reguläre Ausdrucksmuster (Regex) für den benutzerdefinierten Parser. Sie können das Regex-Muster für Ihren spezifischen Parser hinzufügen. `conf/parse_springboot.conf`— Enthält den Filter und die Service-Direktive.Das Dockerfile |  | 
| Erstellen Sie das benutzerdefinierte Docker-Image. | 1. Ändern Sie das Verzeichnis in `customFluentBit`.<br />2. Öffnen Sie die Amazon ECR-Konsole, wählen Sie das `fluentbit_custom` Repository aus und wählen Sie dann **Push-Befehle anzeigen**. <br />3. Laden Sie Ihr Projekt hoch. <br />4. Kopieren Sie nach Abschluss des Uploads die URL des Builds. Diese URL ist erforderlich, wenn Sie einen Container in Amazon ECS erstellenWeitere Informationen dazu finden Sie unter [Pushing a Docker-Image](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) in der Amazon ECR-Dokumentation.  | Systemadministrator, Entwickler | 

### Den Amazon ECS-Cluster einrichten
<a name="set-up-the-amazon-ecs-cluster"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen Amazon-ECS-Cluster. | Erstellen Sie einen Amazon ECS-Cluster, indem Sie den Anweisungen im Abschnitt *Nur Netzwerkvorlage* unter [Cluster erstellen](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html) in der Amazon ECS-Dokumentation folgen.Stellen Sie sicher, dass Sie **Create VPC** wählen, um eine neue Virtual Private Cloud (VPC) für Ihren Amazon ECS-Cluster zu erstellen. | Systemadministrator, Entwickler | 

### Die Amazon ECS-Aufgabe einrichten
<a name="set-up-the-amazon-ecs-task"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
|  Richten Sie die IAM-Rolle für die Amazon ECS-Aufgabenausführung ein. | Erstellen Sie mithilfe der `AmazonECSTaskExecutionRolePolicy` verwalteten Richtlinie eine Amazon ECS-IAM-Rolle für die Ausführung von Aufgaben. Weitere Informationen dazu finden Sie in der [Amazon ECS-Dokumentation unter IAM-Rolle für die Ausführung von Aufgaben](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) in Amazon ECS.Stellen Sie sicher, dass Sie den Amazon-Ressourcennamen (ARN) der IAM-Rolle aufzeichnen. | Systemadministrator, Entwickler | 
|  Fügen Sie die IAM-Richtlinie der IAM-Rolle für die Amazon ECS-Aufgabenausführung hinzu. | 1. Erstellen Sie mithilfe des `firelens_policy.json` (angehängten) Richtliniendokuments eine IAM-Richtlinie. Weitere Informationen dazu finden Sie in der IAM-Dokumentation unter [Richtlinien auf der Registerkarte JSON erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor).<br />2. Fügen Sie diese Richtlinie der IAM-Rolle für die Amazon ECS-Aufgabenausführung hinzu, die Sie zuvor erstellt haben. Weitere Informationen dazu finden Sie unter [Hinzufügen von IAM-Richtlinien (AWS CLI)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policy-cli) in der IAM-Dokumentation.  | Systemadministrator, Entwickler | 
| Richten Sie die Amazon ECS-Aufgabendefinition ein. | 1. Aktualisieren Sie die folgenden Abschnitte in der `Task.json` Beispielaufgabendefinition (im Anhang):Aktualisieren Sie das `executionRoleArn` und `taskRoleArn` mit dem ARN der IAM-Rolle zur AufgabenausführungAktualisieren Sie das Image `containerDefinitions` mit dem benutzerdefinierten Fluent Bit Docker-Image, das Sie zuvor erstellt habenAktualisieren Sie das Image `containerDefinitions` mit dem Namen Ihres Anwendungs-Images<br />2. Öffnen Sie die Amazon ECS-Konsole, wählen Sie **Aufgabendefinitionen**, wählen Sie **Neue Aufgabendefinition erstellen** und wählen Sie dann **Fargate** auf der Seite **Kompatibilitäten auswählen aus**.    <br />3. **Wählen Sie **Configure via Json**, fügen Sie die aktualisierte `Task.json` Datei in den Textbereich ein und wählen Sie dann Speichern.**<br />4. Erstellen Sie die Aufgabendefinition.Weitere Informationen dazu finden Sie unter [Erstellen einer Aufgabendefinition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html) in der Amazon ECS-Dokumentation. | Systemadministrator, Entwickler | 

### Führen Sie die Amazon ECS-Aufgabe aus
<a name="run-the-amazon-ecs-task"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Führen Sie die Amazon ECS-Aufgabe aus.  | Wählen Sie in der Amazon ECS-Konsole **Clusters**, wählen Sie den Cluster aus, den Sie zuvor erstellt haben, und führen Sie dann die eigenständige Aufgabe aus.<br />Weitere Informationen dazu finden Sie unter [Ausführen einer eigenständigen Aufgabe](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_run_task.html) in der Amazon ECS-Dokumentation. | Systemadministrator, Entwickler | 

### Überprüfen Sie die CloudWatch Protokolle
<a name="verify-the-cloudwatch-logs"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Überprüfen Sie die Protokolle.  | 1. Öffnen Sie die CloudWatch Konsole, wählen Sie **Protokollgruppen** und dann`/aws/ecs/containerinsights/{{cluster_ARN}}/firelens/application`.<br />2. Überprüfen Sie die Protokolle, insbesondere die benutzerdefinierten Felder, die vom benutzerdefinierten Parser hinzugefügt wurden.<br />3. Wird verwendet CloudWatch , um Protokolle auf der Grundlage der benutzerdefinierten Felder zu filtern. | Systemadministrator, Entwickler | 

## Zugehörige Ressourcen
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-resources"></a>
+ [Docker-Grundlagen für Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html) 
+ [Amazon ECS auf AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) 
+ [Konfiguration grundlegender Serviceparameter](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/basic-service-params.html) 

## Anlagen
<a name="attachments-e82b4992-c4e0-4af5-b87e-cb0b1c1ed8c9"></a>

[Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, laden Sie die folgende Datei herunter und entpacken Sie sie: attachment.zip](samples/p-attach/e82b4992-c4e0-4af5-b87e-cb0b1c1ed8c9/attachments/attachment.zip)