View a markdown version of this page

Überwachung von Lambda-Webfunktionen - 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 von Lambda-Webfunktionen

AWS Lambda Web Functions veröffentlichen Metriken und Protokolle auf Amazon CloudWatch. Verwenden Sie sie, um Leistungsengpässe zu identifizieren, Fehler zu debuggen und Alarme einzurichten, die Sie benachrichtigen, wenn die Fehlerraten bei Bereitstellungen auf Canary oder bei Verkehrsverschiebungen steigen.

Für eine Webfunktion, die Anfragen in mehr als einer bearbeitet AWS-Region, sammelt Lambda Metriken und Protokolle in jeder Region, in der Anfragen ausgeführt werden. Es zentralisiert die Anforderungsmetriken und protokolliert sie in der Heimatregion der Webfunktion, sodass Sie die gesamte Anwendung von einem Ort aus überwachen können. Nutzungs- und Drosselungsmetriken bleiben in der Region, in der sie ausgegeben werden, da die darin beschriebenen Kontingente für jede Region gelten.

Jede Art von Telemetrie beantwortet eine andere Frage:

Verwenden Sie zur Fehlerbehebung in der Region, in der eine Anfrage ausgeführt wurde, die Protokollgruppe Regional/aws/lambda/web/function-name.local, in der Ausführungsumgebungen Protokolle schreiben. Lambda zentralisiert die Protokolle asynchron in der /aws/lambda/web/function-name Protokollgruppe in der Heimatregion. Hinweise zu Heimatregionen und Replikation finden Sie unter. Multi-Region Einsatz

Das folgende Diagramm zeigt, wie Lambda Telemetrie über Regionen hinweg schreibt und zentralisiert. Anforderungsmetriken im AWS/Lambda/Web Namespace und die Protokolle werden in der Heimatregion zentralisiert. Die Nutzungsmetriken im AWS/Lambda/Web/Usage Namespace verbleiben in jeder Region.

Lambda in jeder Region schreibt Protokolle und Nutzungsmetriken in dieser Region. Lambda zentralisiert Anforderungsmetriken und protokolliert asynchron in der Heimatregion. Nutzungsmetriken bleiben in jeder Region.

Abrechnung per Telemetrie

Telemetrie für Webfunktionen wird wie folgt abgerechnet:

Telemetrie Fakturierung
Von Lambda veröffentlichte Metriken Kostenlos. Lambda veröffentlicht die Metriken in den AWS/Lambda/Web/Usage Namespaces AWS/Lambda/Web und ist für Sie kostenlos.
Protokolle Sie zahlen die Standardgebühren von Amazon CloudWatch Logs für das Schreiben und Speichern von Protokollen in der .local Protokollgruppe in jeder Region. Sie zahlen auch für das Speichern der Kopien in der zentralen Protokollgruppe in der Heimatregion. Lambda kopiert jedes Protokollereignis kostenlos in die Heimatregion. Die erste Zentralisierung des Protokollereignisses ist kostenlos.
Benutzerdefinierte Metriken Für benutzerdefinierte Metriken, die Sie mit dem eingebetteten Metrikformat veröffentlichen, fallen Amazon CloudWatch Logs-Aufnahmegebühren und Gebühren für CloudWatch benutzerdefinierte Kennzahlen an. Die erste Zentralisierung des Protokollereignisses ist kostenlos. Weitere Informationen finden Sie unter Veröffentlichen von benutzerdefinierten Metriken mit dem eingebetteten Metrikformat.

Aktuelle Preise finden Sie unter CloudWatchAmazon-Preise.

Überlegungen zur Telemetrie

Informieren Sie sich über die folgenden Verhaltensweisen, bevor Sie Dashboards, Alarme oder Automatisierungen für die Telemetrie von Web Function erstellen.

AWS X-Ray Nachverfolgung

Wenn eine Anfrage einen X-Amzn-Trace-Id Header enthält, leitet Lambda ihn unverändert an Ihre Anwendung weiter. Lambda fügt Anfragen, die keinen enthalten, keinen Trace-Header hinzu, und Web Functions erstellen keine Lambda-Servicesegmente. Da Anrufer diesen Header setzen, behandeln Sie seinen Wert als Clienteingabe. Um Traces aufzuzeichnen, senden Sie Trace-Daten aus Ihrem Code direkt an X-Ray, z. B. mit der AWS Distribution für OpenTelemetry, und geben Sie Ihrer Ausführungsrolle Schreibzugriff. X-Ray

Latenz bei der Zentralisierung

Metriken und Protokolle erreichen die Heimatregion asynchron. Im Steady-State-Modus zentralisiert Lambda Metriken und Protokolle in der Regel innerhalb weniger Minuten. Telemetrie kann später während einer Betriebsunterbrechung eintreffen.

Wenn Sie einen Endpunkt erstellen, der in mehr als einer Region ausgeführt wird, richtet Lambda die Metrikzentralisierung für jede Replikatregion ein. CloudWatch Es kann mehrere Minuten dauern, bis der Endpunkt in einer Region aktiv wird, bis mit der Zentralisierung der Metriken aus dieser Region begonnen wird. Die zuvor ausgegebenen Metriken verbleiben dann nur in dieser Region und werden später nicht zur Heimatregion hinzugefügt.

Berücksichtigen Sie diese Latenz bei der Bereitstellungsautomatisierung. Wenn eine Pipeline eine Webfunktion oder einen Endpunkt erstellt und dann sofort Metriken oder Protokolle in der Heimatregion überprüft, sollten Sie Zeit bis zum Eintreffen der ersten Telemetriedaten einplanen, anstatt deren Fehlen als Fehler zu behandeln.

Telemetrie in jeder Region

Lambda schreibt Telemetrie in jede Region, in der Anfragen ausgeführt werden, und zentralisiert dann einen Teil davon in der Heimatregion. Worauf Sie sich in jeder Region verlassen können, hängt von der Art der Telemetrie ab:

Metriken anfordern () AWS/Lambda/Web

Lambda kann diese Metriken auch in anderen Regionen schreiben, in denen Anfragen ausgeführt werden. Sie können ohne vorherige Ankündigung geändert oder entfernt werden. Wir empfehlen Ihnen daher, sich nicht auf sie zu verlassen und stattdessen die zentralen Werte in der Heimatregion für Alarme, Dashboards und Automatisierung zu verwenden. Die zentralisierten Werte beinhalten Anfragen aus allen Regionen, die der Endpunkt bedient.

Nutzungs- und Drosselungsmetriken () AWS/Lambda/Web/Usage

Diese Metriken existieren nur in der Region, in der die Anfrage bearbeitet wurde. Sie sind in jeder Region alarmiert. Details hierzu finden Sie unter Regionale Nutzungs- und Drosselungsmetriken.

Protokolle

In jeder Region enthält die .local Protokollgruppe nur die Protokolle aus dieser Region. Diese Protokolle sind vor Abschluss der Zentralisierung verfügbar und werden nicht durch Verzögerungen bei der Zentralisierung beeinträchtigt, was sie für die Behebung regionaler Probleme nützlich macht. Die zentralisierte Protokollgruppe in der Heimatregion enthält Protokolle aus allen Regionen. Erstellen Sie gemeinsame Abfragen, Abonnements und Aufbewahrungsrichtlinien für die zentralisierte Protokollgruppe. Details hierzu finden Sie unter Protokollgruppen.

Betriebsunterbrechungen

Störungen der Infrastruktur, wie z. B. ein Ausfall der Availability Zone, können die Telemetrie verzögern, und einige Messwerte und Protokollereignisse können verloren gehen. Wenn die Heimatregion beeinträchtigt ist, können zentralisierte Messwerte und Protokolle in der Heimatregion verzögert oder nicht verfügbar sein. Nutzungsmetriken und .local Protokollgruppen in anderen Regionen hängen nicht von der Zentralisierung ab und empfangen weiterhin Telemetriedaten aus diesen Regionen.

Telemetrie wird nach bestem Wissen und Gewissen ausgegeben. In seltenen Fällen kann die Telemetrie gelöscht oder dupliziert werden. Behandeln Sie die Web-Funktionstelemetrie nicht als Prüfprotokoll. Um Konfigurationsänderungen und Aufrufe zu überprüfen, verwenden Sie. AWS CloudTrail Weitere Informationen finden Sie unter Protokollieren von API-Aufrufen für Webfunktionen mit AWS CloudTrail.

Erforderliche -Berechtigungen

Für die Protokollierung sind die Amazon CloudWatch Logs-Berechtigungen logs:CreateLogGroup und logs:PutLogEvents die Ausführungsrolle Ihrer Web-Funktion erforderlich. logs:CreateLogStream Ohne sie kann Lambda keine Protokollgruppen erstellen oder Protokollereignisse schreiben, und die Ausgabe Ihrer Anwendung geht verloren. Eine Beispielrichtlinie finden Sie unter Rolle „Ausführung“.

Lambda veröffentlicht die Metriken in den AWS/Lambda/Web/Usage Namespaces AWS/Lambda/Web und selbst, sodass sie keine Genehmigung in der Ausführungsrolle benötigen, einschließlich. cloudwatch:PutMetricData Das eingebettete Metrikformat wird ebenfalls nicht PutMetricData direkt aufgerufen, erfordert jedoch dieselben Amazon CloudWatch Logs-Berechtigungen, da Lambda die Metriken aus Ihren Protokollereignissen extrahiert.