Überwachung für Lambda SnapStart - AWS Lambda

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.

Überwachung für Lambda SnapStart

Sie können Ihre SnapStart Lambda-Funktionen mit Amazon CloudWatch, AWS X-Ray, und dem Zugreifen auf Echtzeit-Telemetriedaten für Erweiterungen mithilfe der Telemetrie API überwachen.

Anmerkung

Die AWS_LAMBDA_LOG_STREAM_NAME Umgebungsvariablen AWS_LAMBDA_LOG_GROUP_NAME und sind in SnapStart Lambda-Funktionen nicht verfügbar.

CloudWatch für SnapStart

Es gibt einige Unterschiede beim CloudWatch Logstream-Format für SnapStart Funktionen:

  • Initialisierungsprotokolle – Wenn eine neue Ausführungsumgebung erstellt wird, enthält REPORT das Feld Init Duration nicht. Das liegt daran, dass Lambda SnapStart Funktionen initialisiert, wenn Sie eine Version erstellen, und nicht beim Funktionsaufruf. Bei SnapStart Funktionen befindet sich das Init Duration Feld im Datensatz. INIT_REPORT Dieser Datensatz zeigt die Dauer von Init-Phase, einschließlich der Dauer aller beforeCheckpoint-Laufizeit-Hooks an.

  • Aufrufprotokolle – Wenn eine neue Ausführungsumgebung erstellt wird, enthält REPORT die Felder Restore Duration und Billed Restore Duration:

    • Restore Duration: Die Zeit, die Lambda benötigt, um einen Snapshot wiederherzustellen, die Laufzeit (JVM) zu laden und alle afterRestore-Laufzeit-Hooks auszuführen. Der Prozess der Wiederherstellung von Snapshots kann Zeit beinhalten, die für Aktivitäten außerhalb der MicroVM aufgewendet wird. Diese Zeit wird in Restore Duration erfasst.

    • Billed Restore Duration: Die Zeit, die Lambda benötigt, um die Laufzeit (JVM) zu laden und alle afterRestore-Hooks auszuführen. Die Zeit, die für die Wiederherstellung eines Snapshots benötigt wird, wird Ihnen nicht in Rechnung gestellt.

Anmerkung

Die Gebühren für die Dauer gelten für Code, der im Funktions-Handler ausgeführt wird, Initialisierungscode, der außerhalb des Handlers deklariert ist, die Zeit, die zum Laden der Laufzeit (JVM) benötigt wird, und Code, der in einem Laufzeit-Hook ausgeführt wird. Weitere Informationen finden Sie unter SnapStart Preisgestaltung.

Die Kaltstartdauer ist die Summe von Restore Duration + Duration.

Das folgende Beispiel ist eine Lambda Insights-Abfrage, die die Latenzperzentile für Funktionen zurückgibt. SnapStart Weitere Informationen zu Lambda-Insights-Abfragen finden Sie unter Beispiel-Workflow mit Abfragen zur Fehlerbehebung einer Funktion.

filter @type = "REPORT" | parse @log /\d+:\/aws\/lambda\/(?<function>.*)/ | parse @message /Restore Duration: (?<restoreDuration>.*?) ms/ | stats count(*) as invocations, pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 50) as p50, pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 90) as p90, pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 99) as p99, pct(@duration+coalesce(@initDuration,0)+coalesce(restoreDuration,0), 99.9) as p99.9 group by function, (ispresent(@initDuration) or ispresent(restoreDuration)) as coldstart | sort by coldstart desc

Aktives X-Ray Tracing für SnapStart

Sie können X-Ray verwenden, um Anfragen an SnapStart Lambda-Funktionen zu verfolgen. Es gibt einige Unterschiede zu den X-Ray-Untersegmenten für SnapStart Funktionen:

  • Es gibt kein Initialization Untersegment für SnapStart Funktionen.

  • Das Teilsegment Restore zeigt die Zeit an, die Lambda benötigt, um einen Snapshot wiederherzustellen, die Laufzeit (JVM) zu laden und vorhandene afterRestore-Laufzeit-Hooks auszuführen. Der Prozess der Wiederherstellung von Snapshots kann Zeit beinhalten, die für Aktivitäten außerhalb der MicroVM aufgewendet wird. Diese Zeit wird im Restore-Untersegment erfasst. Die Zeit, die Sie außerhalb der microVM für die Wiederherstellung eines Snapshots aufwenden, wird Ihnen nicht in Rechnung gestellt.

Telemetrie-API-Ereignisse für SnapStart

Lambda sendet die folgenden SnapStart Ereignisse anTelemetrie API:

  • platform.restoreStart – Zeigt die Zeit an, zu der die Restore-Phase gestartet wurde.

  • platform.restoreRuntimeDone – Zeigt an, ob die Restore-Phase erfolgreich war. Lambda sendet diese Nachricht, wenn die Laufzeit eine restore/next-Laufzeit-API-Anfrage sendet. Es gibt drei mögliche Status: erfolgreich, fehlgeschlagen und Timeout.

  • platform.restoreReport – Zeigt an, wie lange die Restore-Phase gedauert hat und wie viele Millisekunden Ihnen während dieser Phase in Rechnung gestellt wurden.

Amazon-API-Gateway- und Funktions-URL-Metriken

Wenn Sie eine Web-API mit API Gateway erstellen, können Sie die IntegrationLatencyMetrik verwenden, um die end-to-end Latenz zu messen (die Zeit zwischen der Weiterleitung einer Anfrage an das Backend durch API Gateway und dem Empfang einer Antwort vom Backend).

Wenn Sie eine Lambda-Funktions-URL verwenden, können Sie die UrlRequestLatencyMetrik verwenden, um die end-to-end Latenz zu messen (die Zeit zwischen dem Empfang einer Anfrage durch die Funktions-URL und dem Zeitpunkt, zu dem die Funktions-URL eine Antwort zurückgibt).