Media CDN registra cada solicitud HTTP en Cloud Logging. Estas solicitudes incluyen las solicitudes de los clientes al recurso EdgeCacheService
y las solicitudes del recurso EdgeCacheOrigin
al origen configurado para las entradas en caché. Los registros suelen entregarse casi en tiempo real. Esto incluye la posibilidad de consultar los registros en Logging y exportarlos 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 Google Cloud registros, como la gravedad, el ID del proyecto, el número del proyecto y la marca de tiempo.
- Campos de registro HttpRequest.
Metadatos adicionales sobre la solicitud en structPayload, incluidos los siguientes:
- ASN de cliente
- Datos de ubicación de clientes
- ID (ciudad) de las cachés usadas para proporcionar la respuesta.
- Tiempo hasta el primer byte (TTFB) y tiempo hasta el último byte (TTLB) en milisegundos de la respuesta a nivel de HTTP.
- Nombre de host SNI de TLS
- Versión de TLS utilizada
- 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 sirve Media CDN un objeto, si el objeto se ha almacenado en caché y los estados de error que se hayan producido.
Estos campos, así como los valores de ejemplo, se muestran en la siguiente tabla.
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 proxyizar la solicitud al origen hasta que la CDN empieza a recibir bytes de respuesta del origen. Este campo solo aparece en los registros de relleno de caché de un recurso |
backendLatency | 0.126666342s | Duración que tarda el backend en responder por completo a una solicitud. Se mide desde que la CDN termina de proxy la solicitud al origen hasta que la CDN recibe la respuesta completa del backend. Este campo solo aparece en los registros de relleno de caché de un recurso |
cacheId | maa-123456 |
El código IATA (aeropuerto) de la ciudad más cercana a la caché y un identificador opaco de la instancia de la caché. Si se necesitan varios niveles de almacenamiento en caché para atender la solicitud debido a un fallo total o parcial de la caché, se proporciona la cadena de ubicaciones de la caché. Por ejemplo, del-234567, bom-345678, sin-456789 , donde la caché situada más a la derecha es la más cercana al usuario. |
cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | Huella digital 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 el número total de solicitudes es similar al número total de huellas digitales únicas, puede que las claves de caché sean demasiado específicas. |
cacheMode | USE_ORIGIN_HEADERS | El cdnPolicy.cacheMode configurado en la ruta que
coincidía 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, donde el valor situado 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 | 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 ha originado la solicitud. Por ejemplo, Mountain View (California). También se puede añadir a los encabezados de solicitud y de respuesta, y refleja la variable de encabezado |
clientRegionCode | US | El país (o la región) asociado a la dirección IP del cliente. Se trata de un código de región CLDR de Unicode, como US o FR. En la mayoría de los países, estos códigos se corresponden directamente con los códigos ISO-3166-2. También se puede añadir a los encabezados de solicitud y de respuesta, y refleja la variable de encabezado |
cmcd | Las claves CMCD
de la solicitud del cliente que ayudan a determinar la calidad del servicio del lado del cliente. Media CDN admite datos transmitidos a través de encabezados de solicitudes HTTP o parámetros de consulta, y no registra valores de las siguientes claves:
dl (deadline), nor (next object request),
nrr (next range request), ot (object type),
rtp (requested maximum throughput), sf (streaming format),
su (startup), tb (top bitrate),
o v (CMCD version).
|
|
compressionAlgorithmApplied | br | Algoritmo usado para comprimir la respuesta a la que se hace referencia en esta entrada de registro. Entre los posibles valores se incluyen br y gzip .
|
enforcedSecurityPolicy | La política de seguridad de la periferia 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 procede. | |
flexShieldingRegion | US_EAST4 | La región utilizada para el blindaje flexible, si procede.
Este campo solo aparece en los registros de relleno de caché de un recurso |
flexShieldingStatus | SHIELDED | El estado de la protección flexible de una solicitud de relleno de caché. El valor puede ser uno de los siguientes:
Este campo solo aparece en los registros de relleno de caché de un recurso |
httpTtfb | 0.157228207s | Es el tiempo transcurrido desde que el proxy empieza a recibir bytes de la solicitud hasta que se envía el primer byte de la respuesta (no se recibe). |
latency | 0.157415635s | Tiempo transcurrido desde que el proxy empieza a recibir bytes de solicitud hasta que termina de escribir la respuesta al cliente. |
location | El encabezado Location de la respuesta.
|
|
metroIataCode | MAA | El código IATA (aeropuerto) de la ciudad más cercana al proxy. |
origin | El recurso EdgeCacheOrigin desde el que se ha proxyizado la respuesta.
|
|
originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | Identificador único asignado a la solicitud que ha generado esta respuesta.
Solo se rellena si es diferente de request_id en el caso de las respuestas almacenadas en caché.
|
originIp | La dirección IP usada para ponerse en contacto con el recurso EdgeCacheOrigin desde el que
se ha enviado la respuesta a través de un proxy.
|
|
previewSecurityPolicy | La política de seguridad perimetral de Google Cloud Armor que se aplica a la solicitud del cliente, teniendo en cuenta las reglas de vista previa. Esto incluye información adicional sobre el nombre de la política, la prioridad y la acción tomada. | |
proxyRegionCode | US | País (o región) en el que se encuentra el proxy. Se trata de un código de región CLDR de Unicode, como US o FR. En la mayoría de los países, estos códigos se corresponden directamente con los códigos ISO-3166-2. |
proxyStatus | Lista de proxies HTTP intermediarios en la ruta de respuesta. El valor se define en RFC 9209.
Corresponde a la proxy_status variable de encabezado dinámico.
|
|
rangeHeader | El encabezado Range de la solicitud.
|
|
requestId | 4bde6381-cd17-47e1-8c2a-1aaa424a1156 | Identificador único asignado a la solicitud por el proxy. |
tlsCipherSuite | 009C | El conjunto de cifrado negociado durante el handshake TLS. El valor es un número hexadecimal de cuatro dígitos definido por el registro de conjuntos de cifrado TLS de IANA (por ejemplo, 009C para TLS_RSA_WITH_AES_128_GCM_SHA256). Este valor está vacío en el caso de las conexiones de cliente sin cifrar. |
tlsSniHostname | Indicación del nombre del servidor (tal como se define en RFC 6066), si el cliente la proporciona durante la negociación de TLS o QUIC. El nombre de host se convierte a minúsculas y se elimina cualquier punto final. | |
tlsVersion | TLS 1.3 | Versión de TLS negociada entre el cliente y la CDN durante el handshake SSL. Entre los valores posibles se incluyen TLS 1, TLS 1.1, TLS 1.2 y TLS 1.3. |
Ejemplo de entrada de registro
A continuación se muestra un ejemplo de entrada de registro de una respuesta servida 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", "cacheId": "maa-132eed13faa13", "clientAsn": "9299", "origin": "example_origin", "clientRegionCode": "IN", "metroIataCode": "bom", "clientCity": "Mumbai", "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 formas. Para reducir el volumen de registros y los cargos generales de Logging, los registros se pueden muestrear o filtrar 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.
Políticas de conservación
Logging permite definir políticas de conservación personalizadas, incluso para cada receptor.
Siguientes pasos
- Para obtener más información sobre cómo configurar métricas basadas en registros para definir tus propios valores de métricas en función de las solicitudes registradas, consulta la información general sobre 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 de la actividad administrativa, consulta la documentación de Registros de auditoría de Cloud.