Überwachen Sie die Anwendungsaktivität mithilfe von CloudWatch Logs Insights - 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.

Überwachen Sie die Anwendungsaktivität mithilfe von CloudWatch Logs Insights

Erstellt von Ram Kandaswamy (AWS)

Übersicht

Dieses Muster bietet eine Lösung für die automatische Erkennung und Warnung bei Anwendungsausnahmen mithilfe von Amazon CloudWatch Logs Insights. Durch die Implementierung automatisierter Protokollanalysen und Warnmeldungen können Sie Anwendungsprobleme in Ihrer Produktionsumgebung schnell erkennen und darauf reagieren.

Protokolle spielen eine entscheidende Rolle bei der Überwachung des Systemverhaltens, der Identifizierung von Problemen und der Sicherstellung einer optimalen Leistung. Während eines Migrationsprozesses sind Protokolldateien von unschätzbarem Wert, wenn es darum geht, die Funktionsfähigkeit des Systems in der neuen Umgebung zu überprüfen, Kompatibilitätsprobleme zu erkennen und unerwartetes Verhalten zu identifizieren. Probleme können betriebs- oder sicherheitsbedingt sein. Bei sicherheitsrelevanten Problemen ist es wichtig, die frühzeitige Erkennung von unbefugten Zugriffsversuchen oder verdächtigen Aktivitäten zu ermöglichen, um die Sicherheit und die Einhaltung gesetzlicher Vorschriften zu gewährleisten. Diese Fähigkeit ist besonders wichtig, wenn es um sensible Daten oder kritische Systeme geht.

Dieses Muster ist besonders nützlich für Teams, die eine hohe Anwendungsverfügbarkeit aufrechterhalten und schnell auf Produktionsprobleme reagieren müssen. Es ist für verschiedene Branchen und Anwendungsfälle relevant. In der Telekommunikation ermöglicht es beispielsweise die schnelle Identifizierung von Fehlkonfigurationen oder Ausfällen im Netzwerk und die Erkennung suboptimaler Routing-Pfade, um potenzielle Engpässe zu lokalisieren. Im Bereich Internet der Dinge (IoT) können Greengrass-Komponenten Protokolle veröffentlichen CloudWatch, sodass mit dieser Technik relevante Protokolldetails extrahiert und in einem umfassenden Dashboard dargestellt werden können.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Eine Produktionsanwendung, die aktiv bereitgestellt wird AWS-Konto

  • Grundlegendes Verständnis des Protokollierungsformats und der Ausnahmemuster der Produktionsanwendung

  • Anwendungsprotokolle, die für das Streaming zu Amazon CloudWatch Logs konfiguriert sind

Einschränkungen

  • Einige AWS-Services sind nicht in allen verfügbar AWS-Regionen. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie unter AWS Dienste nach Regionen. Informationen zu bestimmten Endpunkten finden Sie unter Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.

Architektur

Das folgende Diagramm zeigt, wie CloudWatch Logs Insights Ressourcenprotokolle auswertet und eine entsprechende Datenvisualisierung an ein Dashboard sendet. CloudWatch

CloudWatch Logs Insights wertet Ressourcenprotokolle aus und sendet die Datenvisualisierung an das Dashboard.

Das Diagramm zeigt den folgenden Workflow:

  1. Die Ressourcen veröffentlichen Protokolle in CloudWatch Logs. Zu den Ressourcen können AWS Ressourcen wie Amazon Elastic Compute Cloud (Amazon EC2) -Instances oder Amazon Simple Storage Service (Amazon S3) -Buckets gehören. Ein anderes Beispiel sind lokale Systeme, auf denen ein CloudWatch Agent installiert ist und auf denen Protokolle veröffentlicht werden können. CloudWatch

  2. CloudWatch Logs Insights filtert nach der entsprechenden Musterzeichenfolge. Beispiele für Suchmusterzeichenfolgen sind „Fehler“, „Ausnahme“ oder ein bestimmter regulärer Ausdruck.

  3. In der Regel fügen das Produktionsunterstützungsteam oder die Entwickler die Mustervisualisierung dem CloudWatch Dashboard hinzu.

Automatisierung und Skalierung

Entwickler können die Lösung dieses Musters automatisieren, indem sie das AWS Cloud Development Kit (AWS CDK),, oder verwenden AWS CloudFormation, AWS SDKs um mehrere Zeichenkettenmuster zu verarbeiten. Teams können diese Automatisierung in ihre kontinuierlichen Integrations- und Bereitstellungsprozesse (CI/CD) DevOps integrieren.

Tools

AWS-Services

  • Amazon CloudWatch Logs hilft Ihnen dabei, die Protokolle all Ihrer Systeme und Anwendungen zu zentralisieren, AWS-Services sodass Sie sie überwachen und sicher archivieren können.

  • AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

  • AWS Key Management Service (AWS KMS) hilft Ihnen dabei, kryptografische Schlüssel zu erstellen und zu kontrollieren, um Ihre Daten zu schützen.

Bewährte Methoden

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Konfigurieren Sie IAM-Berechtigungen.

Gehen Sie wie folgt vor, um IAM-Berechtigungen zu konfigurieren:

  1. Identifizieren Sie die IAM-Rollen, die von Ihrer Anwendung zum Schreiben von Protokollen und von Benutzern oder Diensten verwendet werden, die Dashboards, Abfragen und Alarme erstellen.

  2. Fügen Sie für die Anwendungsrolle die folgenden API-Aktionen und Ressourcen zu einer Richtlinie hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  3. Um CloudWatch Ressourcen zu verwalten, fügen Sie einer Richtlinie Folgendes hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutDashboard", "cloudwatch:GetDashboard", "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "cloudwatch:PutMetricAlarm" ], "Resource": "*" } ] }

Informationen zum Erstellen von IAM-Richtlinien oder zum Hinzufügen von Berechtigungen zu vorhandenen Richtlinien finden Sie unter Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien und Bearbeiten von IAM-Richtlinien im IAM-Benutzerhandbuch. Weitere Informationen finden Sie unter Identitäts- und Zugriffsmanagement für Amazon CloudWatch Logs und Referenz zu CloudWatch Logs-Berechtigungen im Amazon CloudWatch Logs-Benutzerhandbuch.

AWS-Administrator DevOps, AWS, AWS-Systemadministrator, Cloud-Administrator, Cloud-Architekt, DevOps Ingenieur

Erstellen Sie eine -Protokollgruppe.

Verwenden Sie eine der folgenden Optionen, um eine Protokollgruppe zu erstellen:

  • Erstellen oder öffnen Sie eine CloudFormation Vorlagendatei (YAML- oder JSON-Format) mit der .json Erweiterung .yaml oder. (Der folgende Code verwendet das YAML-Format.) Fügen Sie dem Abschnitt Ressourcen Ihrer Vorlage die folgende Ressourcendefinition hinzu:

    MyLogGroup: Type: AWS::Logs::LogGroup Properties: LogGroupName: my-log-group

    Weitere Informationen finden Sie unter Schnellstart: Verwenden Sie für AWS CloudFormation die ersten Schritte mit CloudWatch Logs im Amazon CloudWatch Logs-Benutzerhandbuch.

AWS-Administrator DevOps, AWS, AWS-Systemadministrator, Cloud-Administrator, Cloud-Architekt, DevOps Ingenieur

Generieren Sie eine CloudWatch Logs Insights-Abfrage.

So erstellen und speichern Sie eine CloudWatch Logs Insights-Abfrage:

  1. Öffnen Sie die CloudWatch Konsole.

  2. Navigieren Sie zu Logs Insights.

  3. Erstellen Sie Ihre Abfrage mit einer der folgenden Methoden:

    • Beginnen Sie mit einer Beispielabfrage aus dem Abschnitt Abfragen.

    • Schreiben Sie eine benutzerdefinierte Abfrage.

    • Ändern Sie die folgende Beispielabfrage:

      fields @timestamp, @message | filter @message like /(?i)exception/|stats count() by bin(30s)

      Diese Abfrage überprüft die Protokolldatei, extrahiert den Zeitstempel und den Nachrichteninhalt, filtert nach dem Wort „Ausnahme“ (ohne Berücksichtigung von Groß- und Kleinschreibung) und zählt Ereignisse in 30-Sekunden-Intervallen.

AWS-Administrator DevOps, AWS, AWS-Systemadministrator, Cloud-Administrator, Cloud-Architekt, DevOps Ingenieur

Erstellen Sie eine Visualisierung in einem CloudWatch Dashboard.

Gehen Sie wie folgt vor, um ein CloudWatch Dashboard zum Erstellen einer Visualisierung zu verwenden:

  1. Öffnen Sie die CloudWatch Konsole und erstellen Sie ein CloudWatch Dashboard (falls Sie noch keines haben) oder öffnen Sie ein vorhandenes Dashboard.

  2. Fügen Sie Ihre Visualisierung zur Ausnahmeüberwachung hinzu. Balken-, Linien- und Kreisdiagramme sind je nach Ihren Geschäftsanforderungen verfügbar. Weitere Informationen finden Sie unter Verwenden von Widgets auf CloudWatch Dashboards im Amazon CloudWatch Logs-Benutzerhandbuch. Für Datenvisualisierungen in Echtzeit können Sie ein Widget an Ihre Anforderungen anpassen.

Weitere Informationen zu Dashboard-Optionen und -Funktionen finden Sie unter Verwenden von CloudWatch Amazon-Dashboards und Erstellen flexibler CloudWatch Dashboards mit Dashboard-Variablen im Amazon CloudWatch Logs-Benutzerhandbuch.

AWS-Administrator DevOps, AWS, AWS-Systemadministrator, Cloud-Administrator, Cloud-Architekt, DevOps Ingenieur

Fehlerbehebung

ProblemLösung

Die Abfrageergebnisse können nicht angezeigt werden oder die Abfrage scheint defekt zu sein

Beginnen Sie mit einer funktionierenden Abfrage, die anhand einer Beispielabfrage geändert wurde. Nehmen Sie kleine inkrementelle Änderungen an Teilen der Abfrage vor (z. B. an einem Filter oder Feld) und nutzen Sie die Funktion zum Generieren von CloudWatch Protokollabfragen.

Protokollgruppen, die keine Protokolldatenströme erstellen

Stellen Sie in der IAM-Richtlinie sicher, dass die Ressource für die CreateLogStreamund die CreateLogGroupOperationen mit einem Platzhalterzeichen versehen ist. (*) Ohne diese Platzhalterberechtigung ist der create Vorgang nicht erfolgreich.

Zugehörige Ressourcen