Media CDN registra cada solicitud HTTP en Cloud Logging. Estas solicitudes incluyen las solicitudes del cliente al recurso EdgeCacheService
y las solicitudes del recurso EdgeCacheOrigin
al origen configurado para el llenado de caché. Por lo general, los registros se entregan casi en tiempo real. Esto incluye la posibilidad de realizar consultas en Logging y exportarse a Cloud Storage y Pub/Sub.
Las entradas de registro contienen los siguientes tipos de información:
- Información general que se muestra en la mayoría de los registros Google Cloud , como la gravedad, el ID del proyecto, el número del proyecto y la marca de tiempo
- Campos de registro de HttpRequest.
Son metadatos adicionales sobre la solicitud dentro de structPayload, incluidos los siguientes:
- ASN del cliente
- Datos de ubicación del cliente
- ID (ciudad) de las cachés que se usaron para completar la respuesta
- Tiempo hasta el primer byte (TTFB) y tiempo hasta el último byte (TTLB), en milisegundos, para la respuesta a nivel de HTTP
- nombre de host de SNI de TLS
- Versión usada de TLS
- Información de Common Media Client Data (CMCD)
Campos específicos de la caché
El objeto jsonPayload
de un registro de Media CDN contiene metadatos específicos sobre cómo Media CDN entrega un objeto, si el objeto se almacenó en caché y los estados de error que se encontraron.
En la siguiente tabla, se muestran estos campos y valores de ejemplo.
Campo | Valor de ejemplo | Detalles |
---|---|---|
backendInitialLatency | 0.126644940s | La duración que tarda el backend en responder inicialmente a una solicitud. Se mide desde que la CDN termina de enviar la solicitud al origen mediante proxy hasta que la CDN comience a recibir bytes de respuesta del origen. Este campo solo aparece en los registros del relleno de caché de un recurso |
backendLatency | 0.126666342s | La duración que tarda el backend en responder por completo a una solicitud. Se mide desde que la CDN termina de enviar la solicitud al origen a través de un proxy hasta que la CDN recibe la respuesta completa del backend. Este campo solo aparece en los registros del relleno de caché de un recurso |
cacheId | maa-123456 |
Es el código IATA (aeropuerto) de la ciudad más cercana a la caché y un identificador opaco de la instancia de caché. Si se requieren varios niveles de almacenamiento en caché para entregar la solicitud debido a un error de caché completo o parcial, se proporciona la cadena de ubicaciones de caché, por ejemplo, del-234567, bom-345678, sin-456789 , donde la caché más a la derecha es la más cercana al usuario. |
cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | Es una huella dactilar opaca de la clave de caché. Las solicitudes que se asignan a la misma clave de caché (por ejemplo, las solicitudes en las que no se incluyen parámetros de consulta o en las que no se incluye el host) deben tener la misma huella digital. Si la cantidad total de solicitudes es similar a la cantidad total de huellas digitales únicas, es posible que las claves de caché sean demasiado específicas. |
cacheMode | USE_ORIGIN_HEADERS | Es el cdnPolicy.cacheMode configurado en la ruta que coincidió con esta solicitud.
|
cacheStatus | Cache hit: Full cache miss: |
El estado de la caché en cada nodo de caché entre el usuario y el escudo de origen, en el que el valor más a la derecha representa la caché más cercana al usuario. Para obtener más información sobre cómo interpretar este campo, consulta Valores de estado de la caché. |
clientAsn | Es el ASN (número de sistema autónomo), basado en la dirección IP del cliente que se conecta. | |
clientCity | Mountain View | Nombre de la ciudad desde la que se originó la solicitud, por ejemplo, Mountain View, California. Esto también se puede agregar a los encabezados de solicitud y respuesta, y duplica la variable de encabezado |
clientRegionCode | US | El país (o región) asociado a la dirección IP del cliente. Este es un código de región CLDR de Unicode, como US o FR. En la mayoría de los países, estos códigos corresponden directamente a los códigos ISO-3166-2. Esto también se puede agregar a los encabezados de solicitud y respuesta, y duplica la variable de encabezado |
cmcd | Las claves de CMCD en la solicitud del cliente que ayudan a informar la calidad del servicio del cliente. Media CDN admite los datos transmitidos a través de los encabezados de solicitud HTTP o los parámetros de consulta, y no registra los valores de las siguientes claves: dl (fecha límite), nor (próxima solicitud de objeto), nrr (próxima solicitud de rango), ot (tipo de objeto), rtp (rendimiento máximo solicitado), sf (formato de transmisión), su (inicio), tb (velocidad de bits superior) o v (versión de CMCD).
|
|
compressionAlgorithmApplied | br | Es el algoritmo que se usa para comprimir la respuesta a la que se hace referencia en esta entrada de registro. Los valores posibles son br y gzip .
|
enforcedSecurityPolicy | La política de seguridad perimetral de Google Cloud Armor que se aplica a la solicitud del cliente. Esto incluye información adicional sobre el nombre de la política, la prioridad y la acción tomada. También incluye información sobre las evaluaciones de Google Threat Intelligence, si corresponde. | |
flexShieldingRegion | US_EAST4 | Región que se usa para la protección flexible, si corresponde.
Este campo solo aparece en los registros del relleno de caché de un
recurso |
flexShieldingStatus | SHIELDED | Es el estado del blindaje flexible para una solicitud de llenado de caché. El valor puede ser uno de los siguientes:
Este campo solo aparece en los registros del relleno de caché de un
recurso |
httpTtfb | 0.157228207s | La duración que transcurre desde que el proxy comienza a recibir bytes de solicitud hasta que se envía el primer byte de la respuesta (no se recibe). |
latency | 0.157415635s | Es la duración desde que el proxy comienza a recibir bytes de solicitud hasta que termina de escribir la respuesta para el cliente. |
location | El encabezado Location en la respuesta.
|
|
metroIataCode | MAA | Es el código IATA (aeropuerto) de la ciudad más cercana al proxy. |
origin | Es el recurso EdgeCacheOrigin desde el que se envió la respuesta a través de un proxy.
|
|
originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | El identificador único asignado a la solicitud que generó esta respuesta en un principio.
Se propaga solo si es diferente de request_id para las respuestas almacenadas en caché.
|
originIp | La dirección IP que se usa para comunicarse con el recurso EdgeCacheOrigin desde el que se envió la respuesta mediante proxy.
|
|
previewSecurityPolicy | La política de seguridad perimetral de Google Cloud Armor que se aplica a la solicitud del cliente, con las reglas de vista previa tenidas en cuenta. Esto incluye información adicional sobre el nombre de la política, la prioridad y la acción que se tomó. | |
proxyRegionCode | US | Es el país (o la región) en el que se encuentra el proxy. Este es un código de región CLDR de Unicode, como US o FR. En la mayoría de los países, estos códigos corresponden directamente a los códigos ISO-3166-2. |
proxyStatus | Es una lista de proxies HTTP intermedios en la ruta de respuesta. El valor se define en RFC 9209.
Esto corresponde a la variable de encabezado dinámico proxy_status .
|
|
rangeHeader | Es el encabezado Range en la solicitud.
|
|
requestId | 4bde6381-cd17-47e1-8c2a-1aaa424a1156 | Es el identificador único que el proxy asigna a la solicitud. |
tlsCipherSuite | 009C | El conjunto de algoritmos de cifrado negociado durante el protocolo de enlace TLS. El valor son cuatro dígitos hexadecimales definidos por el registro del conjunto de algoritmos de cifrado TLS de IANA, por ejemplo, 009C para TLS_RSA_WITH_AES_128_GCM_SHA256. Este valor está vacío para las conexiones de cliente no encriptadas. |
tlsSniHostname | Indicación del nombre del servidor (como se define en RFC 6066), si el cliente la proporciona durante el protocolo de enlace de TLS o QUIC. El nombre de host se convierte en minúsculas y se quita cualquier punto final. | |
tlsVersion | TLS 1.3 | Versión de TLS negociada entre el cliente y la CDN durante el protocolo de enlace SSL. Los valores posibles son TLS 1, TLS 1.1, TLS 1.2 y TLS 1.3. |
Ejemplo de una entrada de registro
A continuación, se proporciona una entrada de registro de ejemplo de una respuesta entregada desde la caché:
{ "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", "compressionAlgorithmApplied": "br", "enforcedSecurityPolicy": { "outcome": "ACCEPT", "configuredAction": "ACCEPT", "name": "example_policy", "priority": 1000, "configuredAction": "DENY" threatIntelligence: { categories: [ 0: "iplist-public-clouds" ] } }, "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" }
Puedes configurar el registro de solicitudes de varias maneras. Para reducir el volumen de registros y los cargos generales de Logging, los registros se pueden muestrear o filtrar de forma opcional según sea necesario.
También puedes enrutar los registros a Pub/Sub, Cloud Storage o BigQuery para analizarlos en Google Cloud o en tus herramientas de análisis de registros existentes.
Políticas de retención
El registro admite la configuración de políticas de retención personalizadas, incluso por receptor.
¿Qué sigue?
- Si deseas obtener más información para configurar métricas basadas en registros para definir tus propios valores de métricas según las solicitudes registradas, consulta la Descripción general de las métricas basadas en registros.
- Para obtener más información sobre los precios de Logging, consulta los precios de Google Cloud Observability.
- Para obtener información sobre cómo funciona el registro de auditoría y cómo habilitar y configurar los registros de auditoría para la actividad administrativa, consulta la documentación de los registros de auditoría de Cloud.