Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Erstellen Sie einen benutzerdefinierten Log-Parser für Amazon ECS mithilfe eines Firelens-Log-Routers - AWS Prescriptive Guidance

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.

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 Log-Parser für Amazon ECS mithilfe eines Firelens-Log-Routers

Erstellt von Varun Sharma () AWS

Übersicht

Firelens ist ein Log-Router für Amazon Elastic Container Service (AmazonECS) und AWS Fargate. Sie können Firelens verwenden, um Container-Logs von Amazon ECS zu Amazon CloudWatch und anderen Zielen (z. B. Splunk oder Sumo Logic) weiterzuleiten. Firelens arbeitet mit Fluentd oder Fluent Bit als Logging-Agent, was bedeutet, dass Sie ECSAmazon-Aufgabendefinitionsparameter verwenden können, um Logs 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 läuft, zu übertragen. ECS 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

Voraussetzungen

  • Ein aktives Amazon Web Services (AWS) -Konto.

  • AWSBefehlszeilenschnittstelle (AWSCLI), auf Ihrem lokalen Computer installiert und konfiguriert.

  • Docker, auf Ihrem lokalen Computer installiert und konfiguriert.

  • Eine bestehende Spring Boot-basierte containerisierte Anwendung in Amazon Elastic Container Registry (Amazon). ECR 

Architektur

Verwendung eines Firelens-Protokollrouters zum Übertragen von Protokollen CloudWatch von einer Anwendung, die auf Amazon ausgeführt wird. ECS

Technologie-Stack

  • CloudWatch

  • Amazon ECR

  • Amazon ECS

  • Fargate

  • Docker

  • Fluent Bit

Tools

  • Amazon ECR — Amazon Elastic Container Registry (AmazonECR) ist ein AWS verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.

  • Amazon ECS — Amazon Elastic Container Service (AmazonECS) ist ein hoch skalierbarer, schneller Container-Management-Service, der es einfach macht, Container in einem Cluster auszuführen, zu stoppen und zu verwalten.

  • AWSIdentity and Access Management (IAM) — IAM ist ein Webdienst zur sicheren Steuerung des Zugriffs auf AWS Dienste.

  • AWSCLI— AWS Command Line Interface (AWSCLI) ist ein Open-Source-Tool, mit dem Sie mithilfe von Befehlen in Ihrer Befehlszeilen-Shell mit AWS Diensten interagieren können.

  • Docker — Docker ist eine offene Plattform für die Entwicklung, den Versand und die Ausführung 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 zum Erstellen einer IAM Richtlinie.

  • Task.json— Enthält ein Beispiel für eine Aufgabendefinition für AmazonECS.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie ein ECR Amazon-Repository.

Melden Sie sich bei der AWS Management Console an, öffnen Sie die ECR Amazon-Konsole und erstellen Sie ein Repository namensfluentbit_custom.

Weitere Informationen dazu finden Sie in der ECR Amazon-Dokumentation unter Erstellen eines Repositorys.

Systemadministrator, Entwickler

Entpacken Sie das customFluentBit ZIP-Paket.

 

  1. Laden Sie das customFluentBit.zip Paket (angehängt) auf Ihren lokalen Computer herunter. 

  2. Entpacken Sie das Paket in das customFluentBit Verzeichnis, indem Sie den folgenden Befehl ausführen: unzip -d customFluentBit.zip

  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.

  2. Öffnen Sie die ECR Amazon-Konsole, wählen Sie das fluentbit_custom Repository aus und wählen Sie dann Push-Befehle anzeigen

  3. Laden Sie Ihr Projekt hoch. 

  4. Nachdem der Upload abgeschlossen ist, kopieren Sie die BuildsURL. Dies URL ist erforderlich, wenn Sie einen Container in Amazon erstellen ECS

Weitere Informationen dazu finden Sie unter Pushing a Docker-Image in der ECR Amazon-Dokumentation. 

Systemadministrator, Entwickler

Erstellen Sie ein benutzerdefiniertes Fluent Bit-Bild

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie ein ECR Amazon-Repository.

Melden Sie sich bei der AWS Management Console an, öffnen Sie die ECR Amazon-Konsole und erstellen Sie ein Repository namensfluentbit_custom.

Weitere Informationen dazu finden Sie in der ECR Amazon-Dokumentation unter Erstellen eines Repositorys.

Systemadministrator, Entwickler

Entpacken Sie das customFluentBit ZIP-Paket.

 

  1. Laden Sie das customFluentBit.zip Paket (angehängt) auf Ihren lokalen Computer herunter. 

  2. Entpacken Sie das Paket in das customFluentBit Verzeichnis, indem Sie den folgenden Befehl ausführen: unzip -d customFluentBit.zip

  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.

  2. Öffnen Sie die ECR Amazon-Konsole, wählen Sie das fluentbit_custom Repository aus und wählen Sie dann Push-Befehle anzeigen

  3. Laden Sie Ihr Projekt hoch. 

  4. Nachdem der Upload abgeschlossen ist, kopieren Sie die BuildsURL. Dies URL ist erforderlich, wenn Sie einen Container in Amazon erstellen ECS

Weitere Informationen dazu finden Sie unter Pushing a Docker-Image in der ECR Amazon-Dokumentation. 

Systemadministrator, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie einen ECS Amazon-Cluster.

Erstellen Sie einen ECS Amazon-Cluster, indem Sie den Anweisungen im Abschnitt Nur Netzwerkvorlage unter Cluster erstellen in der ECS Amazon-Dokumentation folgen.

Anmerkung

Stellen Sie sicher, dass Sie Create wählenVPC, um eine neue virtuelle private Cloud (VPC) für Ihren ECS Amazon-Cluster zu erstellen.

Systemadministrator, Entwickler

Richten Sie den ECS Amazon-Cluster ein

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie einen ECS Amazon-Cluster.

Erstellen Sie einen ECS Amazon-Cluster, indem Sie den Anweisungen im Abschnitt Nur Netzwerkvorlage unter Cluster erstellen in der ECS Amazon-Dokumentation folgen.

Anmerkung

Stellen Sie sicher, dass Sie Create wählenVPC, um eine neue virtuelle private Cloud (VPC) für Ihren ECS Amazon-Cluster zu erstellen.

Systemadministrator, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten

Richten Sie die ECS IAM Amazon-Aufgabenausführungsrolle ein.

Erstellen Sie mithilfe der AmazonECSTaskExecutionRolePolicy verwalteten Richtlinie eine ECS IAM Amazon-Aufgabenausführungsrolle. Weitere Informationen dazu finden Sie unter Amazon ECS Task Execution IAM Role in der ECS Amazon-Dokumentation.

Anmerkung

Stellen Sie sicher, dass Sie den Amazon-Ressourcennamen (ARN) der IAM Rolle aufzeichnen.

Systemadministrator, Entwickler

Ordnen Sie die IAM Richtlinie der ECS IAM Amazon-Aufgabenausführungsrolle zu.

  1. Erstellen IAM Sie mithilfe des firelens_policy.json (angehängten) Richtliniendokuments eine Richtlinie. Weitere Informationen dazu finden Sie in der IAM Dokumentation unter Richtlinien erstellen auf der JSON Registerkarte.

  2. Fügen Sie diese Richtlinie der ECS IAM Amazon-Aufgabenausführungsrolle hinzu, die Sie zuvor erstellt haben. Weitere Informationen dazu finden Sie in der IAM Dokumentation unter IAMRichtlinien hinzufügen (AWSCLI)

Systemadministrator, Entwickler

Richten Sie die ECS Amazon-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 Aufgabenausführungsrolle

    • Aktualisieren Sie das Image containerDefinitions mit dem benutzerdefinierten Fluent Bit Docker-Image, das Sie zuvor erstellt haben

    • Aktualisieren Sie das Image containerDefinitions mit dem Namen Ihres Anwendungs-Images

  2. Öffnen Sie die ECS Amazon-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.    

  3. Wählen Sie „Über Json konfigurieren“, fügen Sie die aktualisierte Task.json Datei in den Textbereich ein und wählen Sie dann „Speichern“.

  4. Erstellen Sie die Aufgabendefinition.

Weitere Informationen dazu finden Sie in der ECS Amazon-Dokumentation unter Erstellen einer Aufgabendefinition.

Systemadministrator, Entwickler

Richten Sie die ECS Amazon-Aufgabe ein

AufgabeBeschreibungErforderliche Fähigkeiten

Richten Sie die ECS IAM Amazon-Aufgabenausführungsrolle ein.

Erstellen Sie mithilfe der AmazonECSTaskExecutionRolePolicy verwalteten Richtlinie eine ECS IAM Amazon-Aufgabenausführungsrolle. Weitere Informationen dazu finden Sie unter Amazon ECS Task Execution IAM Role in der ECS Amazon-Dokumentation.

Anmerkung

Stellen Sie sicher, dass Sie den Amazon-Ressourcennamen (ARN) der IAM Rolle aufzeichnen.

Systemadministrator, Entwickler

Ordnen Sie die IAM Richtlinie der ECS IAM Amazon-Aufgabenausführungsrolle zu.

  1. Erstellen IAM Sie mithilfe des firelens_policy.json (angehängten) Richtliniendokuments eine Richtlinie. Weitere Informationen dazu finden Sie in der IAM Dokumentation unter Richtlinien erstellen auf der JSON Registerkarte.

  2. Fügen Sie diese Richtlinie der ECS IAM Amazon-Aufgabenausführungsrolle hinzu, die Sie zuvor erstellt haben. Weitere Informationen dazu finden Sie in der IAM Dokumentation unter IAMRichtlinien hinzufügen (AWSCLI)

Systemadministrator, Entwickler

Richten Sie die ECS Amazon-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 Aufgabenausführungsrolle

    • Aktualisieren Sie das Image containerDefinitions mit dem benutzerdefinierten Fluent Bit Docker-Image, das Sie zuvor erstellt haben

    • Aktualisieren Sie das Image containerDefinitions mit dem Namen Ihres Anwendungs-Images

  2. Öffnen Sie die ECS Amazon-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.    

  3. Wählen Sie „Über Json konfigurieren“, fügen Sie die aktualisierte Task.json Datei in den Textbereich ein und wählen Sie dann „Speichern“.

  4. Erstellen Sie die Aufgabendefinition.

Weitere Informationen dazu finden Sie in der ECS Amazon-Dokumentation unter Erstellen einer Aufgabendefinition.

Systemadministrator, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten

Führen Sie die ECS Amazon-Aufgabe aus.

Wählen Sie in der ECS Amazon-Konsole Clusters aus, wählen Sie den Cluster aus, den Sie zuvor erstellt haben, und führen Sie dann die eigenständige Aufgabe aus.

Weitere Informationen dazu finden Sie unter Ausführen einer eigenständigen Aufgabe in der ECS Amazon-Dokumentation.

Systemadministrator, Entwickler

Führen Sie die ECS Amazon-Aufgabe aus

AufgabeBeschreibungErforderliche Fähigkeiten

Führen Sie die ECS Amazon-Aufgabe aus.

Wählen Sie in der ECS Amazon-Konsole Clusters aus, wählen Sie den Cluster aus, den Sie zuvor erstellt haben, und führen Sie dann die eigenständige Aufgabe aus.

Weitere Informationen dazu finden Sie unter Ausführen einer eigenständigen Aufgabe in der ECS Amazon-Dokumentation.

Systemadministrator, Entwickler
AufgabeBeschreibungErforderliche 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.

  2. Überprüfen Sie die Protokolle, insbesondere die benutzerdefinierten Felder, die vom benutzerdefinierten Parser hinzugefügt wurden.

  3. Wird verwendet CloudWatch , um Protokolle auf der Grundlage der benutzerdefinierten Felder zu filtern.

Systemadministrator, Entwickler

Überprüfen Sie die CloudWatch Protokolle

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

  2. Überprüfen Sie die Protokolle, insbesondere die benutzerdefinierten Felder, die vom benutzerdefinierten Parser hinzugefügt wurden.

  3. Wird verwendet CloudWatch , um Protokolle auf der Grundlage der benutzerdefinierten Felder zu filtern.

Systemadministrator, Entwickler

Zugehörige Ressourcen

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.