Media CDN consigne chaque requête HTTP dans Cloud Logging. Ces demandes
inclure les requêtes client adressées à la ressource EdgeCacheService
et les requêtes provenant
la ressource EdgeCacheOrigin
vers l'origine configurée pour les remplissages de cache. Les journaux sont généralement diffusés quasi en temps réel. Cela inclut la possibilité d'interroger les enregistrements dans Logging et leur exportation vers Cloud Storage et Pub/Sub.
Il s'agit des types d'informations suivants :
- Les informations générales figurant dans la plupart des journaux Google Cloud, telles que la gravité, l'ID du projet, le numéro du projet et le code temporel.
- Journal HttpRequest .
Des métadonnées supplémentaires sur la requête dans le champ structPayload, y compris les éléments suivants:
- Numéro ASN du client.
- Les données de localisation client.
- L'ID (ville) des caches utilisés pour traiter la réponse.
- Temps de latence du premier octet (TTFB) et temps de latence du dernier octet (TTLB), en millisecondes, pour la réponse au niveau HTTP
- Le nom d'hôte SNI TLS.
- La version TLS utilisée.
- Informations sur les CMCD (Common Media Client Data)
Champs spécifiques au cache
L'objet jsonPayload
d'un journal Media CDN contient des métadonnées
spécifique à la manière dont Media CDN diffuse un objet, que l'objet
a été mis en cache et les états d'erreur rencontrés.
Ces champs, ainsi que des exemples de valeurs, sont présentés dans le tableau suivant.
Champ | Exemple de valeur | Détails |
---|---|---|
backendInitialLatency | 0.126644940s | La propriété Duration il faut au backend pour répondre initialement à une requête. Mesurée à partir du moment où le CDN a fini de transmettre la requête vers l'origine par proxy, jusqu'à ce que le CDN commence à recevoir les octets de réponse en provenance de l'origine. Ce champ n'apparaît dans les journaux que pour le remplissage du cache à partir d'une ressource |
backendLatency | 0.126666342s | Durée nécessaire au backend pour répondre entièrement à une requête. Mesurée à partir du moment où le CDN a fini de transmettre la requête vers l'origine par proxy, jusqu'à ce que le CDN ait reçu la réponse complète du backend. Ce champ n'apparaît dans les journaux que pour le remplissage du cache à partir d'une ressource |
cacheId | maa-123456 |
Le code IATA (aéroport) de la ville la plus proche du cache ainsi qu'un identifiant opaque de l'instance de cache. Si plusieurs niveaux de mise en cache sont nécessaires pour répondre à la requête en raison d'un défaut de cache complet ou partiel, la chaîne des emplacements de cache est fournie (par exemple, del-234567, bom-345678, sin-456789 ), le cache le plus à droite étant le plus proche de l'utilisateur. |
cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | Une empreinte opaque de la clé de cache. Les requêtes mappées à la même clé de cache (par exemple, les requêtes pour lesquelles les paramètres de requête ne sont pas inclus ou dans lesquelles l'hôte n'est pas inclus) doivent avoir la même empreinte. Si le nombre total de requêtes est semblable au nombre total d'empreintes uniques, cela peut indiquer que vos clés de cache sont trop spécifiques. |
cacheMode | USE_ORIGIN_HEADERS | La valeur cdnPolicy.cacheMode est configurée sur la route mise en correspondance avec cette requête.
|
cacheStatus | Cache hit: Full cache miss: |
L'état du cache au niveau de chaque nœud de cache entre l'utilisateur et le bouclier d'origine, la valeur la plus à droite représentant le cache le plus proche de l'utilisateur. Pour savoir comment interpréter ce champ, consultez la section Valeurs d'état du cache. |
clientAsn | Le numéro ASN (Autonomous System Number), basé sur l'adresse IP du client qui se connecte. | |
clientCity | Mountain View | Le nom de la ville d'origine de la requête (par exemple Mountain View, Californie). Cet élément peut également être ajouté aux en-têtes de requête et de réponse. Il met en miroir la variable d'en-tête |
clientRegionCode | US | Le pays (ou la région) associé à l'adresse IP du client. Il s'agit d'un code de région CLDR au format Unicode (US ou FR, par exemple). Pour la plupart des pays, ces codes correspondent directement aux codes ISO-3166-2. Cet élément peut également être ajouté aux en-têtes de requête et de réponse. Il met en miroir la variable d'en-tête |
cmcd | Les clés CMCD dans la requête client qui aident à déterminer la qualité de service côté client. Le CDN multimédia prend en charge les données transmises via des en-têtes de requête HTTP ou des paramètres de requête et ne consigne pas les valeurs des clés suivantes : dl (délai), nor (demande d'objet suivante), nrr (demande de plage suivante), ot (type d'objet), rtp (débit maximal demandé), sf (format de streaming), su (démarrage), tb (débit maximal) ou v (version CMCD).
|
|
enforcedSecurityPolicy | La stratégie de sécurité périphérique de Google Cloud Armor appliquée à la requête du client. Cela inclut des informations supplémentaires sur le nom de la règle, la priorité et les mesures prises. | |
httpTtfb | 0.157228207s | La durée entre le moment où le proxy commence à recevoir des octets de requête et l'envoi du premier octet de réponse (non reçu). |
latency | 0.157415635s | La durée entre le moment où le proxy commence à recevoir des octets de requête et la fin de l'écriture de la réponse au client. |
location | L'en-tête Location dans la réponse.
|
|
metroIataCode | MAA | Le code IATA (aéroport) de la ville la plus proche du proxy. |
origin | La ressource EdgeCacheOrigin à partir de laquelle la réponse a été envoyée par proxy.
|
|
originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | L'identifiant unique attribué à la requête qui a initialement généré cette réponse.
Cet élément est renseigné uniquement si ce paramètre est différent de request_id pour les réponses mises en cache.
|
originIp | L'adresse IP utilisée pour contacter la ressource EdgeCacheOrigin à partir de laquelle la réponse a été envoyée par proxy.
|
|
proxyRegionCode | US | Le pays (ou la région) dans lequel se trouve le proxy. Il s'agit d'un code de région CLDR au format Unicode (US ou FR, par exemple). Pour la plupart des pays, ces codes correspondent directement aux codes ISO-3166-2. |
proxyStatus | Liste des proxys HTTP intermédiaires dans le chemin de réponse. La valeur est définie par la RFC 9209.
Cela correspond à la variable d'en-tête dynamique proxy_status .
|
|
rangeHeader | L'en-tête Range dans la requête.
|
|
requestId | 4bde6381-cd17-47e1-8c2a-1aaa424a1156 | L'identifiant unique attribué à la requête par le proxy. |
tlsCipherSuite | 009C | La suite de chiffrement négociée lors du handshake TLS. La valeur se compose de quatre caractères hexadécimaux définis par le Registre de suites de chiffrement TLS de l'IANA. Par exemple, 009C pour TLS_RSA_WITH_AES_128_GCM_SHA256. Cette valeur est vide pour les connexions client non chiffrées. |
tlsSniHostname | L'indication du nom du serveur (telle que définie dans la RFC 6066), si ce nom est fourni par le client lors du handshake TLS ou QUIC. Le nom d'hôte est converti en minuscules et tous les points se trouvant à la fin du nom sont supprimés. | |
tlsVersion | TLS 1.3 | La version de TLS négociée entre le client et le CDN lors du handshake SSL. Les valeurs possibles sont TLS 1, TLS 1.1, TLS 1.2 et TLS 1.3. |
Exemple d'entrée de journal
Voici un exemple d'entrée de journal pour une réponse diffusée à partir du cache :
{ "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" }
Vous pouvez configurer la journalisation des requêtes. de différentes manières. Pour réduire le volume de journaux et les frais globaux liés à Logging, les journaux peuvent être échantillonnés ou filtrés selon les besoins.
Vous pouvez également acheminer les journaux vers Pub/Sub, Cloud Storage ou BigQuery. à des fins d'analyse dans Google Cloud ou dans vos outils d'analyse de journaux existants.
Règles de conservation
Logging permet de définir des règles de conservation personnalisées de confidentialité, y compris pour chaque récepteur.
Étape suivante
- Pour comprendre comment configurer des métriques basées sur les journaux afin de définir vos propres métriques basées sur les requêtes journalisées, consultez la section Métriques basées sur les journaux présentation.
- Pour en savoir plus sur la tarification de Logging, consultez Tarifs de Google Cloud Observability
- Pour en savoir plus sur le fonctionnement des journaux d'audit, et découvrir comment activer et configurer des audits pour les activités d'administration, consultez la page Cloud Audit Logs documentation.