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.
Protokolle für Edge-Funktionen
Sie können Amazon CloudWatch Logs verwenden, um Protokolle für Ihre Edge-Funktionen, sowohl Lambda @Edge als auch CloudFront Functions, abzurufen. Sie können über die CloudWatch Konsole oder die Logs-API auf die CloudWatch Protokolle zugreifen.
Wichtig
Wir empfehlen Ihnen, die Protokolle zu verwenden, um die Art der Anfragen nach Ihren Inhalten zu verstehen, und nicht, um alle Anfragen vollständig zu erfassen. CloudFront liefert Edge-Funktionsprotokolle nach bestem Wissen und Gewissen. Der Protokolleintrag für eine bestimmte Anfrage wird möglicherweise viel später übermittelt, als die Anfrage tatsächlich verarbeitet wurde; in seltenen Fällen kann es auch sein, dass ein Protokolleintrag gar nicht übermittelt wird. Wenn ein Protokolleintrag nicht in den Protokollen für Edge-Funktionen enthalten ist, stimmt die Anzahl der Einträge in den Protokollen für Edge-Funktionen nicht mit deren Anzahl in den Abrechnungs- und Nutzungsberichten für AWS überein.
Lambda@Edge-Protokolle
Lambda @Edge sendet automatisch CloudWatch Funktionsprotokolle an Logs und erstellt Protokollstreams dort, AWS-Regionen wo die Funktionen aufgerufen werden. Wenn Sie eine Funktion in erstellen oder ändern AWS Lambda, können Sie entweder den Standardnamen der CloudWatch Protokollgruppe verwenden oder ihn anpassen.
-
Der Standardname für die Protokollgruppe
ist der Name, den Sie bei der Erstellung der Funktion angegeben haben.<FunctionName>
/aws/lambda/
Beim Senden von CloudWatch Protokollen an fügt Lambda @Edge dem Funktionsnamen automatisch das<FunctionName>
us-east-1
Präfix hinzu, sodass der Protokollgruppenname lautet/aws/lambda/us-east-1.
. Dieses Präfix entspricht dem AWS-Region Ort, an dem die Funktion erstellt wurde. Dieses Präfix bleibt Teil des Protokollgruppennamens, auch in anderen Regionen, in denen die Funktion aufgerufen wird.<FunctionName>
-
Wenn Sie einen benutzerdefinierten Protokollgruppennamen angeben, wie z. B.
/
, fügt Lambda @Edge das Regionspräfix nicht hinzu. Der Name der Protokollgruppe bleibt in allen anderen Regionen, in denen die Funktion aufgerufen wird, derselbe.MyLogGroup
Anmerkung
Wenn Sie eine benutzerdefinierte Protokollgruppe erstellen und denselben Namen wie den Standard angeben/aws/lambda/
, fügt Lambda @Edge dem Funktionsnamen das <FunctionName>
us-east-1
Präfix hinzu.
Neben der Anpassung des Protokollgruppennamens unterstützen Lambda @Edge -Funktionen auch JSON- und Klartext-Protokollformate sowie Filterung auf Protokollebene. Weitere Informationen finden Sie unter Konfiguration erweiterter Protokollierungssteuerungen für die Lambda-Funktion im AWS Lambda Entwicklerhandbuch.
Anmerkung
Lambda@Edge drosselt Protokolle basierend auf dem angeforderten Volumen und der Größe der Protokolle.
Sie müssen die CloudWatch Protokolldateien in der richtigen Region überprüfen, um Ihre Lambda @Edge -Funktionsprotokolldateien zu sehen. Um die Regionen zu sehen, in denen Ihre Lambda @Edge -Funktion ausgeführt wird, sehen Sie sich in der CloudFront Konsole Diagramme mit den Metriken für die Funktion an. Metriken werden für jede -Region angezeigt. Auf derselben Seite können Sie eine Region auswählen und Protokolldateien für diese anzeigen, um Probleme zu untersuchen.
Weitere Informationen zur Verwendung von CloudWatch Logs mit Lambda @Edge -Funktionen finden Sie in den folgenden Themen:
-
Weitere Informationen zum Anzeigen von Diagrammen im Bereich Überwachung der CloudFront Konsole finden Sie unterÜberwachen Sie CloudFront Metriken mit Amazon CloudWatch.
-
Informationen zu den Berechtigungen, die zum Senden von Daten an CloudWatch Logs erforderlich sind, finden Sie unterRichten Sie IAM-Berechtigungen und -Rollen für Lambda @Edge ein.
-
Weitere Informationen zum Hinzufügen der Protokollierung zu einer Lambda@Edge-Funktion finden Sie unter AWS Lambda -Funktionsprotokollierung in Node.js oder AWS Lambda -Funktionsprotokollierung in Python im AWS Lambda -Entwicklerhandbuch.
-
Informationen zu CloudWatch Logs-Kontingenten (früher als Limits bezeichnet) finden Sie unter CloudWatch Logs-Kontingente im Amazon CloudWatch Logs-Benutzerhandbuch.
CloudFront Funktionen, Protokolle
Wenn der Code einer CloudFront Funktion console.log()
Anweisungen enthält, sendet CloudFront Functions diese Protokollzeilen automatisch an CloudWatch Logs. Wenn es keine console.log()
Anweisungen gibt, wird nichts an CloudWatch Logs gesendet.
CloudFront Functions erstellt immer Log-Streams in der Region USA Ost (Nord-Virginia) (us-east-1
), unabhängig davon, an welchem Edge-Standort die Funktion ausgeführt wurde. Der Name der Protokollgruppe hat das Format /aws/cloudfront/function/
. Dabei ist <FunctionName>
der Name, den Sie der Funktion bei der Erstellung gegeben haben. Der Name des Protokollstreams ist im Format <FunctionName>
YYYY/M/D/
.UUID
Im Folgenden wird ein Beispiel für eine Protokollnachricht gezeigt, die an CloudWatch Logs gesendet wurde. Jede Zeile beginnt mit einer ID, die eine CloudFront Anfrage eindeutig identifiziert. Die Nachricht beginnt mit einer START
Zeile, die die CloudFront Verteilungs-ID enthält, und endet mit einer END
Zeile. Zwischen den Zeilen END
und START
befinden sich die durch console.log()
-Anweisungen in der Funktion erzeugten Protokollzeilen.
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADAXZZ
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== Example function log output
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
Anmerkung
CloudFront Functions sendet CloudWatch nur Protokolle für Funktionen in der LIVE
Phase, die als Reaktion auf Produktionsanfragen und -antworten ausgeführt werden. Wenn Sie eine Funktion testen, sendet CloudFront keine Protokolle an CloudWatch. Die Testausgabe enthält Informationen über Fehler, Rechenauslastung und Funktionsprotokolle (console.log()
Anweisungen), aber diese Informationen werden nicht an gesendet CloudWatch.
CloudFront Functions verwendet eine dienstbezogene AWS Identity and Access Management (IAM-) Rolle, um Protokolle an Logs in Ihrem CloudWatch Konto zu senden. Eine serviceverknüpfte Rolle ist eine IAM-Rolle, die direkt mit einer verknüpft ist. AWS-Service Mit Diensten verknüpfte Rollen sind vom Dienst vordefiniert und enthalten alle Berechtigungen, die der Dienst benötigt, um andere AWS-Services Rollen für Sie aufzurufen. CloudFront Functions verwendet die AWSServiceRoleForCloudFrontLoggerdienstverknüpfte Rolle. Weitere Informationen zu dieser Rolle finden Sie unter Serviceverknüpfte Rollen für Lambda@Edge (Lambda@Edge verwendet dieselbe serviceverknüpfte Rolle).
Wenn eine Funktion aufgrund eines Überprüfungs- oder Ausführungsfehlers fehlschlägt, werden die Informationen in Standardprotokollen und Echtzeitprotokollen protokolliert. Spezifische Informationen zu dem Fehler finden Sie in den x-edge-detailed-result-type
Feldern x-edge-result-type
x-edge-response-result-type
, und.