Media CDN protokolliert jede HTTP-Anfrage in Cloud Logging. Dazu gehören clientseitige Anfragen an die EdgeCacheService
-Ressource und Anfragen von der EdgeCacheOrigin
-Ressource an den konfigurierten Ursprung für Cache-Füllungen. Logs werden in der Regel nahezu in Echtzeit gesendet. Dazu gehört, dass die Daten in Logging abgefragt und in Cloud Storage und Pub/Sub exportiert werden können.
Folgende Informationen sind in Ihnen enthalten:
- Allgemeine Informationen, die in den meisten Google Cloud-Logs angezeigt werden, wie Wichtigkeit, Projekt-ID, Projektnummer und Zeitstempel.
- HttpRequest-Logfelder
Zusätzliche Metadaten zur Anfrage innerhalb von structPayload, einschließlich:
- ASN des Clients
- Clientstandortdaten
- ID (Stadt) der Caches, die zum Ausführen der Antwort verwendet werden
- „Zeit bis zum ersten Byte“ (TTFB) und „Zeit bis zum letzten Byte“ (TTLB) in Millisekunden für die Antwort auf HTTP-Ebene
- TLS SNI-Hostname
- Verwendete TLS-Version
- Informationen zu Common Media Client Data (CMCD)
Cache-spezifische Felder
Das jsonPayload
-Objekt eines Media CDN-Logs enthält Metadaten, die angeben, wie Media CDN ein Objekt bereitstellt, ob das Objekt im Cache gespeichert wurde und welche Fehlerzustände aufgetreten sind.
Diese Felder sowie Beispielwerte sind in der folgenden Tabelle aufgeführt.
Feld | Beispielwert | Details |
---|---|---|
backendInitialLatency | 0.126644940s | Die Dauer, die das Backend benötigt, um auf eine Anfrage zu antworten. Gemessen ab dem Zeitpunkt, an dem das CDN die Weiterleitung der Anfrage an den Ursprung beendet hat, bis das CDN beginnt, Antwortbytes vom Ursprung zu empfangen. Dieses Feld erscheint in den Logs nur, wenn der Cache von einer |
backendLatency | 0.126666342s | Die Dauer, die das Backend benötigt, um vollständig auf eine Anfrage zu antworten. Gemessen ab dem Zeitpunkt, an dem das CDN die Weiterleitung der Anfrage an den Ursprung beendet hat, bis das CDN die vollständige Antwort vom Backend erhalten hat. Dieses Feld erscheint in den Logs nur, wenn der Cache von einer |
cacheId | maa-123456 |
Der IATA-Code (Flughafencode) der dem Cache nächstgelegenen Stadt und eine intransparente Kennzeichnung der Cache-Instanz. Wenn mehrere Cache-Ebenen erforderlich sind, um die Anforderung aufgrund eines vollständigen oder teilweisen Cache-Fehlers zu bedienen, wird die Kette der Cache-Speicherorte angegeben, z. B. del-234567, bom-345678, sin-456789 , wobei der Cache ganz rechts dem Nutzer am nächsten ist. |
cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | Ein intransparenter Fingerabdruck des Cache-Schlüssels. Anfragen, die demselben Cache-Schlüssel zugeordnet sind, z. B. Anfragen, bei denen Suchparameter nicht enthalten sind oder nicht der Host enthalten ist, sollten denselben Fingerabdruck haben. Wenn die Gesamtzahl der Anfragen der Gesamtzahl der Fingerabdrücke ähnelt, kann dies darauf hindeuten, dass Ihre Cache-Schlüssel zu spezifisch sind. |
cacheMode | USE_ORIGIN_HEADERS | Der cdnPolicy.cacheMode , der auf der Route konfiguriert wurde, die dieser Anfrage entspricht.
|
cacheStatus | Cache hit: Full cache miss: |
Der Cache-Status an jedem Cache-Knoten zwischen dem Nutzer und dem Ursprungsschild, wobei der Wert ganz rechts den Cache darstellt, der dem Nutzer am nächsten ist. Weitere Informationen zur Interpretation dieses Felds finden Sie unter Cache-Statuswerte. |
clientAsn | Die ASN (autonome Systemnummer), die auf der IP-Adresse des verbindenden Clients basiert. | |
clientCity | Mountain View | Der Name der Stadt, aus der die Anfrage stammt, z. B. Mountain View, Kalifornien. Er kann auch den Anfrage- und Antwortheadern hinzugefügt werden und spiegelt die Headervariable |
clientRegionCode | US | Das Land oder die Region, das bzw. die der IP-Adresse des Clients zugeordnet ist. Dies ist ein Unicode-CLDR-Regionscode wie US oder FR. Für die meisten Länder entsprechen diese Codes den ISO-3166-2-Codes. Er kann auch den Anfrage- und Antwortheadern hinzugefügt werden und spiegelt die Headervariable |
cmcd | Die CMCD-Schlüssel in der Clientanfrage, die zur Bestimmung der clientseitigen Dienstqualität beitragen. Media CDN unterstützt Daten, die über HTTP-Anfrageheader oder Abfrageparameter übertragen werden, und protokolliert keine Werte für die folgenden Schlüssel: dl (Deadline), nor (nächste Objektanfrage), nrr (nächste Bereichsanfrage), ot (Objekttyp), rtp (angeforderter maximaler Durchsatz), sf (Streamingformat), su (Start), tb (höchste Bitrate) oder v (CMCD-Version).
|
|
enforcedSecurityPolicy | Die Google Cloud Armor-Edge-Sicherheitsrichtlinie, die auf die Anfrage des Clients angewendet wurde. Dazu gehören zusätzliche Informationen über den Namen der Richtlinie, die Priorität und die ergriffene Maßnahme. | |
httpTtfb | 0.157228207s | Die Dauer ab dem Zeitpunkt, an dem der Proxy beginnt, Anfragebyte zu empfangen, bis das erste Byte der Antwort gesendet (nicht empfangen) wird. |
latency | 0.157415635s | Die Dauer ab dem Zeitpunkt, an dem der Proxy beginnt, Anfragebytes zu empfangen, bis er die Antwort an den Client geschrieben hat. |
location | Der Header Location in der Antwort.
|
|
metroIataCode | MAA | Der IATA-Code (Flughafencode) der Stadt, die dem Proxy am nächsten liegt. |
origin | Die Ressource EdgeCacheOrigin , von der die Antwort weitergeleitet wurde.
|
|
originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | Die eindeutige Kennung, die der Anfrage zugewiesen wurde, die ursprünglich diese Antwort erzeugt hat.
Wird nur ausgefüllt, wenn sie sich von der request_id für im Cache gespeicherte Antworten unterscheidet.
|
originIp | Die IP-Adresse, mit der die Ressource EdgeCacheOrigin kontaktiert wird, von der die Antwort weitergeleitet wurde.
|
|
proxyRegionCode | US | Das Land (oder die Region), in dem sich der Proxy befindet. Dies ist ein Unicode-CLDR-Regionscode wie US oder FR. Für die meisten Länder entsprechen diese Codes den ISO-3166-2-Codes. |
proxyStatus | Eine Liste der vermittelnden HTTP-Proxys im Antwortpfad. Der Wert ist in RFC 9209 definiert.
Dies entspricht der dynamischen Headervariablen proxy_status .
|
|
rangeHeader | Der Header Range in der Anfrage.
|
|
requestId | 4bde6381-cd17-47e1-8c2a-1aaa424a1156 | Die eindeutige Kennung, die der Anfrage vom Proxy zugewiesen ist. |
tlsCipherSuite | 009C | Die Cipher Suite, die während des TLS-Handshakes ausgehandelt wird. Der Wert besteht aus vier Hexadezimalziffern, die von der IANA TLS Cipher Suite Registry definiert werden, z. B. 009C für TLS_RSA_WITH_AES_128_GCM_SHA256. Bei unverschlüsselten Clientverbindungen ist dieser Wert leer. |
tlsSniHostname | Angabe des Servernamens (wie in RFC 6066 definiert), falls vom Client während des TLS- oder QUIC-Handshake angegeben. Der Hostname wird in Kleinbuchstaben konvertiert und alle nachgestellten Punkte werden entfernt. | |
tlsVersion | TLS 1.3 | Die TLS-Version, die während des SSL-Handshakes zwischen dem Client und dem CDN ausgehandelt wird. Mögliche Werte sind TLS 1, TLS 1.1, TLS 1.2 und TLS 1.3. |
Beispiel für einen Logeintrag
Im Folgenden finden Sie ein Beispiel für einen Logeintrag für eine Antwort, die aus dem Cache bereitgestellt wird:
{ "insertId": "617fa16e-0000-2ac9-9993-d4f547fe67d4@a1", "jsonPayload": { "@type": "type.googleapis.com/google.cloud.edgecache.v1.EdgeCacheLogEntry", "tlsVersion": "TLS 1.3", "tlsCipherSuite": "009C", // hex digits for the cipher negotiated "cacheId": "maa-132eed13faa13", "clientAsn": "9299", // AS the client is associated with "origin": "example_origin", "clientRegionCode": "IN", "metroIataCode": "bom", "clientCity": "Mumbai", // City name, in English "latency": "0.005105200s", "proxyStatus": "Google-Edge-Cache", "httpTtfb": "0.005056080s", "cacheMode": "FORCE_CACHE_ALL", "cacheKeyFingerprint": "c360ac18849b6336", "cacheStatus": "hit,stale", "enforcedSecurityPolicy": { "outcome": "ACCEPT", "configuredAction": "ACCEPT", "name": "example_policy", "priority": 1000 }, "originalRequestId": "19d92668-3948-49d8-9244-25f8252043e5", "proxyRegionCode": "IN", "requestId": "4bde6381-cd17-47e1-8c2a-1aaa424a1156", "originIp": "74.125.128.128" }, "httpRequest": { "requestMethod": "GET", "requestUrl": "https://example.com/image.jpg", "requestSize": "3545", "status": 200, "responseSize": "3716", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36", "remoteIp": "62.36.0.43", "protocol": "HTTP/2" }, "resource": { "type": "edgecache.googleapis.com/EdgeCacheRouteRule", "labels": { "matched_path": "/", "path_matcher_name": "routes", "service_name": "example_service", "resource_container": "projects/123456789", "location": "global", "route_destination": "projects/123456789/locations/global/edgeCacheOrigins/example_origin", "route_type": "ORIGIN" } }, "timestamp": "2022-11-19T00:24:13.695328200Z", "logName": "projects/my-project/logs/edgecache.googleapis.com%2Fedge_cache_request", "receiveTimestamp": "2022-11-19T00:24:16.715871645Z" }
Es gibt mehrere Möglichkeiten, das Anfrage-Logging zu konfigurieren. Sie können die Logs optional nach Bedarf erfassen oder filtern, um das Logvolumen und die allgemeinen Logging-Gebühren zu reduzieren.
Aufbewahrungsrichtlinien
Logging unterstützt die Festlegung benutzerdefinierter Aufbewahrungsrichtlinien, auch auf einer Pro-Senke-Basis.
Nächste Schritte
- Weitere Informationen zum Einrichten von logbasierten Messwerten zum Definieren eigener Messwerte auf der Grundlage von protokollierten Anfragen finden Sie in der Übersicht über logbasierte Messwerte.
- Weitere Informationen zu den Preisen für Logging finden Sie unter Google Cloud Observability-Preise.
- Informationen zur Funktionsweise von Audit-Logging und zum Aktivieren und Konfigurieren von Audit-Logs für Administratoraktivitäten finden Sie in der Cloud-Audit-Logs-Dokumentation.