Visão geral da geração de registros de solicitações

O Media CDN registra cada solicitação HTTP no Cloud Logging. Essas solicitações incluem solicitações de clientes para o recurso EdgeCacheService e solicitações do EdgeCacheOrigin à origem configurada para preenchimentos de cache. Os registros são geralmente são entregues quase em tempo real. Isso inclui ser consultável Logging e exportável para o Cloud Storage e o Pub/Sub.

As entradas de registro contêm os seguintes tipos de informações:

  • Informações gerais exibidas na maioria dos registros do Google Cloud, como gravidade, ID do projeto, número do projeto e carimbo de data/hora.
  • Registro HttpRequest campos.
  • Outros metadados sobre a solicitação no structPayload, incluindo:

    • ASN do cliente
    • Dados de local do cliente
    • ID (cidade) dos caches usados para atender à resposta
    • tempo até o primeiro byte (TTFB) e tempo até o último byte (TTLB), em milissegundos; para a resposta em nível de HTTP
    • Nome do host do SNI do TLS
    • Versão de TLS usada
    • Informações de dados comuns do cliente de mídia (CMCD, na sigla em inglês)

Campos específicos do cache

O objeto jsonPayload de um registro do Media CDN contém metadados específicos sobre como o Media CDN serve um objeto, se o objeto foi armazenado em cache e todos os estados de erro encontrados.

Esses campos e valores de exemplo são mostrados na tabela a seguir.

Campo Valor de exemplo Detalhes
backendInitialLatency 0.126644940s

A Duração ele precisa que o back-end responda inicialmente a uma solicitação. Medida a partir do momento em que o CDN terminou de encaminhar a solicitação para a origem até o momento em que o CDN começou a receber bytes de resposta da origem.

Esse campo só aparece nos registros de preenchimento de cache de um recurso EdgeCacheOrigin.

backendLatency 0.126666342s

A duração que o back-end leva para responder totalmente a uma solicitação. Medida a partir de quando a CDN tiver concluído o proxy da solicitação para a origem até que o CDN tenha recebido resposta do back-end.

Esse campo aparece apenas nos registros de preenchimento de cache de um recurso EdgeCacheOrigin.

cacheId maa-123456 O código IATA (aeroporto) da cidade mais próxima do cache e um identificador opaco do cache instância. Se várias camadas de armazenamento em cache forem necessárias para atender à solicitação devido a um problema ausência parcial no cache, a cadeia de locais do cache será fornecida, exemplo, del-234567, bom-345678, sin-456789, em que o cache mais à direita é o mais próximos do usuário.
cacheKeyFingerprint f63925711b0dd8a9ff861cd303774e6e

Uma impressão digital opaca da chave de cache. As solicitações que são mapeadas para a mesma chave de cache, por exemplo, solicitações em que os parâmetros de consulta não estão incluídos ou o host não está incluído, precisam ter a mesma impressão digital.

Se o número total de solicitações for semelhante ao número total de impressões digitais exclusivas, isso poderá indicar que as chaves de cache são muito específicas.

cacheMode USE_ORIGIN_HEADERS A cdnPolicy.cacheMode configurada na rota que correspondeu a essa solicitação.
cacheStatus

Cache hit: hit

Full cache miss: fetch, miss, miss

O status do cache em cada nó de cache entre o usuário e o Source shield, em que o valor mais à direita representa o cache mais próximo para o usuário. Para mais informações sobre como interpretar esse campo, consulte Valores de status do cache.
clientAsn O ASN (número de sistema autônomo), com base no endereço IP do cliente.
clientCity Mountain View

Nome da cidade de origem da solicitação. Por exemplo, Mountain View, Califórnia.

Isso também pode ser adicionado aos cabeçalhos de solicitação e resposta e espelha a variável de cabeçalho client_city.

clientRegionCode US

O país (ou região) associado ao endereço IP do cliente. Este é um código de região Unicode CLDR, como US ou FR. Para a maioria países, esses códigos correspondem diretamente aos códigos ISO-3166-2.

Isso também pode ser adicionado aos cabeçalhos de solicitação e resposta e espelha a variável de cabeçalho client_region.

cmcd CMCD na solicitação do cliente que ajudam a informar a qualidade do lado do cliente sobre serviço. O Media CDN oferece suporte a dados transmitidos pela Cabeçalhos de solicitação HTTP ou parâmetros de consulta e não registra valores para as seguintes chaves: dl (prazo), nor (próxima solicitação de objeto), nrr (próxima solicitação de intervalo), ot (tipo de objeto), rtp (capacidade de processamento máxima solicitada), sf (formato de streaming), su (inicialização), tb (maior taxa de bits) ou v (versão do CMCD).
enforcedSecurityPolicy A política de segurança de borda do Google Cloud Armor, se aplica à solicitação do cliente. Isso inclui informações adicionais sobre o nome da política, prioridade e ação tomada.
httpTtfb 0.157228207s A duração desde quando o proxy começa a receber bytes de solicitação até o primeiro byte do a resposta seja enviada (não recebida).
latency 0.157415635s A duração desde quando o proxy começa a receber bytes de solicitação até terminar a gravação a resposta ao cliente.
location O cabeçalho Location na resposta.
metroIataCode MAA O código IATA (aeroporto) da cidade mais próxima do proxy.
origin O recurso EdgeCacheOrigin de que a resposta foi enviada por proxy.
originalRequestId 19d92668-3948-49d8-9244-25f8252043e4 O identificador exclusivo atribuído à solicitação que gerou essa resposta originalmente. Preenchido apenas se for diferente de request_id para respostas em cache.
originIp O endereço IP usado para entrar em contato com o recurso EdgeCacheOrigin a partir do qual a resposta foi enviada por proxy.
proxyRegionCode US O país (ou região) em que o proxy está localizado. Este é um código regional Unicode CLDR, como EUA ou França. Na maioria dos países, esses códigos correspondem diretamente a códigos ISO-3166-2.
proxyStatus Uma lista de proxies HTTP intermediários no caminho de resposta. O valor é definido pela RFC 9209. Isso corresponde à variável de cabeçalho dinâmica proxy_status.
rangeHeader O cabeçalho Range na solicitação.
requestId 4bde6381-cd17-47e1-8c2a-1aaa424a1156 O identificador exclusivo atribuído à solicitação pelo proxy.
tlsCipherSuite 009C O pacote de criptografia negociado durante o handshake de TLS. O valor é quatro. dígitos hexadecimais definidos pelo registro do pacote de criptografia TLS da IANA, por exemplo, 009C para TLS_RSA_WITH_AES_128_GCM_SHA256. Esse valor fica em branco para conexões de cliente não criptografadas.
tlsSniHostname Indicação do nome do servidor (conforme definido na RFC 6066), se fornecido pelo cliente durante o TLS. ou um handshake do QUIC. O nome do host é convertido em letras minúsculas, e qualquer ponto à direita é removido.
tlsVersion TLS 1.3 Versão de TLS negociada entre o cliente e o CDN durante a handshake de SSL. Os valores possíveis incluem TLS 1, TLS 1.1, TLS 1.2 e TLS 1.3

Exemplo de entrada de registro

Veja a seguir um exemplo de entrada de registro para uma resposta exibida pelo 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"
}

É possível configurar a geração de registros de solicitações. de algumas maneiras. Para reduzir o volume de registros e as cobranças gerais do Logging, os registros podem ser analisados por amostragem ou filtrados conforme necessário.

Também é possível encaminhar registros para o Pub/Sub, o Cloud Storage ou o BigQuery para análise no Google Cloud ou nas suas ferramentas de análise de registros.

Políticas de retenção

A geração de registros oferece suporte à configuração de políticas de retenção personalizadas, inclusive por coletor.

A seguir