Analysieren Sie Logs mit CloudWatch Logs Insights - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

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.

Analysieren Sie Logs mit CloudWatch Logs Insights

Nachdem Sie Ihrer Anwendung eine CloudWatch Protokollierungsoption hinzugefügt haben, wie im vorherigen Abschnitt beschrieben, können Sie CloudWatch Logs Insights verwenden, um Ihre Log-Streams nach bestimmten Ereignissen oder Fehlern abzufragen.

CloudWatch Logs Insights ermöglicht es Ihnen, Ihre Protokolldaten in CloudWatch Logs interaktiv zu suchen und zu analysieren.

Informationen zu den ersten Schritten mit CloudWatch Logs Insights finden Sie unter Analysieren von Protokolldaten mit CloudWatch Logs Insights.

Ausführen einer Beispielabfrage

In diesem Abschnitt wird beschrieben, wie Sie eine CloudWatch Logs Insights-Beispielabfrage ausführen.

Voraussetzungen

  • Bestehende Protokollgruppen und Protokollstreams, die in CloudWatch Logs eingerichtet wurden.

  • Bestehende Protokolle, die in CloudWatch Logs gespeichert sind.

Wenn Sie Dienste wie AWS CloudTrail Amazon Route 53 oder Amazon verwenden, haben Sie wahrscheinlich bereits Protokolle von diesen Diensten so eingerichtetVPC, dass sie zu CloudWatch Logs gehen. Weitere Informationen zum Senden von Protokollen an CloudWatch Logs finden Sie unter Erste Schritte mit CloudWatch Logs.

Abfragen in CloudWatch Logs Insights geben entweder eine Reihe von Feldern aus Protokollereignissen oder das Ergebnis einer mathematischen Aggregation oder eines anderen Vorgangs zurück, der mit Protokollereignissen ausgeführt wurde. Dieser Abschnitt demonstriert eine Abfrage, die eine Liste von Protokollereignissen zurückgibt.

Um eine CloudWatch Logs Insights-Beispielabfrage auszuführen
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Insights aus.

  3. Der Abfrage-Editor fast am oberen Ende des Bildschirms enthält eine Standardabfrage, die die 20 letzten Protokollereignisse zurückgibt. Wählen Sie oberhalb des Abfrage-Editors eine Protokollgruppe zur Abfrage aus.

    Wenn Sie eine Protokollgruppe auswählen, erkennt CloudWatch Logs Insights automatisch Felder in den Daten in der Protokollgruppe und zeigt sie im rechten Bereich unter Entdeckte Felder an. Dort finden Sie auch ein Balkendiagramm der Protokollereignisse in dieser Protokollgruppe im Zeitverlauf. Dieses Balkendiagramm zeigt die Verteilung der Ereignisse in der Protokollgruppe, die Ihrer Abfrage und Ihrem Zeitraum entspricht, nicht nur die in der Tabelle angezeigten Ereignisse.

  4. Wählen Sie Abfrage ausführen.

    Die Ergebnisse der Abfrage werden angezeigt. In diesem Beispiel sind die Ergebnisse die letzten 20 Protokollereignisse aller Art.

  5. Um alle Felder eines der zurückgegebenen Protokollereignisse anzuzeigen, wählen Sie den Pfeil links neben diesem Protokollereignis aus.

Weitere Informationen zum Ausführen und Ändern von CloudWatch Logs Insights-Abfragen finden Sie unter Ausführen und Ändern einer Beispielabfrage.

Sehen Sie sich Beispielabfragen an

Dieser Abschnitt enthält CloudWatch Logs Insights-Beispielabfragen zur Analyse der Anwendungsprotokolle von Managed Service for Apache Flink. Diese Abfragen suchen nach mehreren Beispielfehlerbedingungen und dienen als Vorlagen für das Schreiben von Abfragen, die andere Fehlerbedingungen finden.

Anmerkung

Ersetzen Sie die Region (us-west-2), Konto-ID (012345678901) und Anwendungsname (YourApplication) in den folgenden Abfragebeispielen mit der Region Ihrer Anwendung und Ihrer Konto-ID.

Analysieren Sie den Betrieb: Verteilung der Aufgaben

Die folgende CloudWatch Logs Insights-Abfrage gibt die Anzahl der Aufgaben zurück, die der Apache Flink Job Manager auf die Taskmanager verteilt. Sie müssen den Zeitrahmen der Abfrage so einstellen, dass er einer Jobausführung entspricht, sodass die Abfrage keine Aufgaben aus früheren Jobs zurückgibt. Informationen zur Parallelität finden Sie unter Implementieren Sie die Anwendungsskalierung in Managed Service für Apache Flink.

fields @timestamp, message | filter message like /Deploying/ | parse message " to flink-taskmanager-*" as @tmid | stats count(*) by @tmid | sort @timestamp desc | limit 2000

Die folgende CloudWatch Logs Insights-Abfrage gibt die Unteraufgaben zurück, die jedem Task Manager zugewiesen sind. Die Gesamtzahl der Unteraufgaben ist die Summe der Parallelität jeder Aufgabe. Die Aufgabenparallelität wird aus der Operatorparallelität abgeleitet und entspricht standardmäßig der Parallelität der Anwendung, sofern Sie sie nicht im Code durch Angabe von setParallelism ändern. Informationen zur Einstellung der Operatorparallelität finden Sie unter Einstellen der Parallelität: Operatorebene in der Dokumentation von Apache Flink.

fields @timestamp, @tmid, @subtask | filter message like /Deploying/ | parse message "Deploying * to flink-taskmanager-*" as @subtask, @tmid | sort @timestamp desc | limit 2000

Informationen zu Aufgabenplanung finden Sie unter Aufträge und Planung in der Apache-Flink-Dokumentation.

Operationen analysieren: Änderung der Parallelität

Die folgende CloudWatch Logs Insights-Abfrage gibt Änderungen an der Parallelität einer Anwendung zurück (z. B. aufgrund der automatischen Skalierung). Diese Abfrage gibt auch manuelle Änderungen an der Parallelität der Anwendung zurück. Weitere Informationen zum Auto Scaling finden Sie unter Verwenden Sie die automatische Skalierung in Managed Service für Apache Flink.

fields @timestamp, @parallelism | filter message like /property: parallelism.default, / | parse message "default, *" as @parallelism | sort @timestamp asc

Fehler analysieren: Zugriff verweigert

Die folgende CloudWatch Logs Insights-Abfrage gibt Access Denied Protokolle zurück.

fields @timestamp, @message, @messageType | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /AccessDenied/ | sort @timestamp desc

Fehler analysieren: Quelle oder Senke nicht gefunden

Die folgende CloudWatch Logs Insights-Abfrage gibt ResourceNotFound Protokolle zurück. ResourceNotFoundprotokolliert das Ergebnis, wenn eine Kinesis-Quelle oder -Senke nicht gefunden wird.

fields @timestamp,@message | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /ResourceNotFoundException/ | sort @timestamp desc

Fehler analysieren: Fehler im Zusammenhang mit Anwendungsaufgaben

Die folgende CloudWatch Logs Insights-Abfrage gibt die aufgabenbezogenen Fehlerprotokolle einer Anwendung zurück. Diese Protokolle entstehen, wenn der Status einer Anwendung von RUNNING zu wechselt RESTARTING.

fields @timestamp,@message | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /switched from RUNNING to RESTARTING/ | sort @timestamp desc

Bei Anwendungen, die Apache Flink Version 1.8.2 und früher verwenden, führen aufgabenbezogene Fehler dazu, dass der Anwendungsstatus stattdessen von RUNNING zu wechselt FAILED. Wenn Sie Apache Flink 1.8.2 und frühere Versionen verwenden, verwenden Sie die folgende Abfrage, um nach Fehlern im Zusammenhang mit der Anwendungsaufgabe zu suchen:

fields @timestamp,@message | filter applicationARN like /arn:aws:kinesisanalyticsus-west-2:012345678901:application\/YourApplication/ | filter @message like /switched from RUNNING to FAILED/ | sort @timestamp desc