Información general sobre el registro de solicitudes

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 EdgeCacheOrigin.

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 EdgeCacheOrigin.

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: hit

Full cache miss: fetch, miss, 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 client_city.

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 client_region.

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 EdgeCacheOrigin.

flexShieldingStatus SHIELDED El estado de la protección flexible de una solicitud de relleno de caché. El valor puede ser uno de los siguientes:
  • DEFAULT_GLOBAL: indica que no se ha configurado la protección flexible.
  • SHIELDED: indica que se ha usado la región configurada con flexShieldingRegion para atender la solicitud.
  • SPILLED: indica que la región configurada mediante flexShieldingRegion no se ha podido usar en la solicitud y se ha usado el origen predeterminado.

Este campo solo aparece en los registros de relleno de caché de un recurso EdgeCacheOrigin.

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