Vista geral do registo de pedidos

A RFC de multimédia regista cada pedido HTTP no Cloud Logging. Estes pedidos incluem pedidos de clientes ao recurso EdgeCacheService e pedidos do recurso EdgeCacheOrigin à origem configurada para preenchimentos da cache. Normalmente, os registos são enviados quase em tempo real. Isto inclui a possibilidade de consulta no Logging e de exportação para o Cloud Storage e o Pub/Sub.

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

  • Informações gerais apresentadas na maioria dos registos Google Cloud , como a gravidade, o ID do projeto, o número do projeto e a data/hora.
  • Campos do registo HttpRequest.
  • Metadados adicionais sobre o pedido no structPayload, incluindo o seguinte:

    • ASN de cliente
    • Dados de localização do cliente
    • ID (cidade) das caches usadas para satisfazer a resposta
    • Tempo até ao primeiro byte (TTFB) e tempo até ao último byte (TTLB), em milissegundos, para a resposta ao nível HTTP
    • Nome do anfitrião SNI TLS
    • Versão de TLS usada
    • Informações de dados do cliente de multimédia comuns (CMCD)

Campos específicos da cache

O objeto jsonPayload de um registo da RFC de multimédia na nuvem contém metadados específicos de como a RFC de multimédia na nuvem publica um objeto, se o objeto foi colocado em cache e quaisquer estados de erro encontrados.

Estes campos, bem como valores de exemplo, são apresentados na tabela seguinte.

Campo Valor de exemplo Detalhes
backendInitialLatency 0.126644940s

A duração que o back-end demora a responder inicialmente a um pedido. Medido desde o momento em que a CDN termina de usar o proxy do pedido para a origem até ao momento em que a CDN começa a receber bytes de resposta da origem.

Este campo só aparece nos registos de preenchimento da cache a partir de um recurso EdgeCacheOrigin.

backendLatency 0.126666342s

A duração que o back-end demora a responder totalmente a um pedido. Medido desde o momento em que a RFC terminou de usar o proxy do pedido para a origem até a RFC ter recebido a resposta completa do back-end.

Este campo só aparece nos registos de preenchimento da cache a partir de um recurso EdgeCacheOrigin.

cacheId maa-123456 O código da IATA (aeroporto) da cidade mais próxima da cache e um identificador opaco da instância da cache. Se forem necessários vários níveis de colocação em cache para publicar o pedido devido a uma falha de cache total ou parcial, é fornecida a cadeia de localizações da cache, por exemplo, del-234567, bom-345678, sin-456789, em que a cache mais à direita é a mais próxima do utilizador.
cacheKeyFingerprint f63925711b0dd8a9ff861cd303774e6e

Uma impressão digital opaca da chave da cache. Os pedidos que são mapeados para a mesma chave de cache, por exemplo, pedidos em que os parâmetros de consulta não estão incluídos ou em que o anfitrião não está incluído, devem ter a mesma impressão digital.

Se o número total de pedidos for semelhante ao número total de impressões digitais únicas, pode indicar que as suas chaves de cache são demasiado específicas.

cacheMode USE_ORIGIN_HEADERS O cdnPolicy.cacheMode configurado no percurso que correspondeu a este pedido.
cacheStatus

Cache hit: hit

Full cache miss: fetch, miss, miss

O estado da cache em cada nó de cache entre o utilizador e o escudo de origem, em que o valor mais à direita representa a cache mais próxima do utilizador. Para mais informações sobre como interpretar este campo, consulte Valores do estado da cache.
clientAsn O ASN (número do sistema autónomo), com base no endereço IP do cliente que está a estabelecer ligação.
clientCity Mountain View

Nome da cidade de origem do pedido, por exemplo, Mountain View, Califórnia.

Também pode ser adicionado aos cabeçalhos de pedidos e respostas e reflete a variável de cabeçalho client_city.

clientRegionCode US

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

Também pode ser adicionado aos cabeçalhos de pedidos e respostas e reflete a variável de cabeçalho client_region.

cmcd As chaves CMCD no pedido do cliente que ajudam a informar a qualidade do serviço por parte do cliente. A RFC de multimédia suporta dados transmitidos através de cabeçalhos de pedidos HTTP ou parâmetros de consulta e não regista valores para as seguintes chaves: 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) ou v (CMCD version).
compressionAlgorithmApplied br O algoritmo usado para comprimir a resposta referida nesta entrada do registo. Os valores possíveis incluem br e gzip.
enforcedSecurityPolicy A política de segurança de limite do Google Cloud Armor que se aplica ao pedido do cliente. Isto inclui informações adicionais sobre o nome da política, a prioridade e a ação realizada. Também inclui informações sobre as avaliações da Google Threat Intelligence, se aplicável.
flexShieldingRegion US_EAST4 A região usada para a proteção flexível, se aplicável.

Este campo só aparece nos registos de preenchimento da cache a partir de um recurso EdgeCacheOrigin.

flexShieldingStatus SHIELDED O estado da proteção flexível para um pedido de preenchimento da cache. O valor pode ser uma das seguintes opções:
  • DEFAULT_GLOBAL: indica que a proteção flexível não está configurada
  • SHIELDED: indica que a região configurada através de flexShieldingRegion foi usada para publicar o pedido
  • SPILLED: indica que não foi possível usar a região configurada através de flexShieldingRegion para o pedido; foi usada a origem predefinida

Este campo só aparece nos registos de preenchimento da cache a partir de um recurso EdgeCacheOrigin.

httpTtfb 0.157228207s A duração desde o momento em que o proxy começa a receber bytes de pedido até ao envio (não receção) do primeiro byte da resposta.
latency 0.157415635s A duração desde o momento em que o proxy começa a receber bytes de pedido até terminar de escrever a resposta ao cliente.
location O cabeçalho Location na resposta.
metroIataCode MAA O código da IATA (aeroporto) da cidade mais próxima do proxy.
origin O recurso EdgeCacheOrigin a partir do qual a resposta foi enviada através de proxy.
originalRequestId 19d92668-3948-49d8-9244-25f8252043e4 O identificador exclusivo atribuído ao pedido que gerou originalmente esta resposta. Preenchido apenas se for diferente de request_id para respostas em cache.
originIp O endereço IP usado para contactar o recurso EdgeCacheOrigin a partir do qual a resposta foi enviada através de proxy.
previewSecurityPolicy A política de segurança de limite do Google Cloud Armor que se aplica ao pedido do cliente, tendo em conta as regras de pré-visualização. Isto inclui informações adicionais sobre o nome da política, a prioridade e a ação realizada.
proxyRegionCode US O país (ou a região) onde o proxy está localizado. Este é um código de região CLDR Unicode, como US ou FR. Para a maioria dos países, estes códigos correspondem diretamente aos códigos ISO-3166-2.
proxyStatus Uma lista de proxies HTTP intermediários no caminho de resposta. O valor é definido pela RFC 9209. Isto corresponde à proxy_status variável de cabeçalho dinâmico.
rangeHeader O cabeçalho Range no pedido.
requestId 4bde6381-cd17-47e1-8c2a-1aaa424a1156 O identificador exclusivo atribuído ao pedido pelo proxy.
tlsCipherSuite 009C O conjunto de cifras negociado durante o handshake TLS. O valor é composto por quatro dígitos hexadecimais definidos pelo registo de conjuntos de cifras TLS da IANA, por exemplo, 009C para TLS_RSA_WITH_AES_128_GCM_SHA256. Este valor está vazio para ligações de cliente não encriptadas.
tlsSniHostname Indicação do nome do servidor (conforme definido na RFC 6066), se fornecida pelo cliente durante o handshake do TLS ou QUIC. O nome de anfitrião é convertido em minúsculas e todos os pontos finais são removidos.
tlsVersion TLS 1.3 Versão de TLS negociada entre o cliente e a RFC durante o handshake SSL. Os valores possíveis incluem TLS 1, TLS 1.1, TLS 1.2 e TLS 1.3.

Exemplo de entrada do registo

Segue-se um exemplo de uma entrada de registo para uma resposta publicada a partir da cache:

{
  "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"
}

Pode configurar o registo de pedidos de várias formas. Para reduzir o volume de registos e os custos gerais de registo, os registos podem ser opcionalmente amostrados ou filtrados, conforme necessário.

Também pode encaminhar registos para o Pub/Sub, o Cloud Storage ou o BigQuery para análise no Google Cloud ou nas suas ferramentas de análise de registos existentes.

Políticas de retenção

O registo suporta a definição de políticas de retenção personalizadas, inclusive por base de destino.

O que se segue?