O Media CDN registra cada solicitação HTTP no Cloud Logging. Essas solicitações
incluem solicitações de cliente para o recurso EdgeCacheService
e solicitações do
recurso EdgeCacheOrigin
para a origem configurada para preenchimentos de cache. Os registros geralmente são enviados quase em tempo real. Isso inclui a capacidade de consulta no
Logging e exportação 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.
- Campos de registro HttpRequest.
Outros metadados sobre a solicitação no structPayload, incluindo:
- ASN do cliente
- Dados de local do cliente
- ID (cidade) dos caches usados para atender a resposta
- Tempo para o primeiro byte (TTFB) e tempo para o último byte (TTLB), em milissegundos, para a resposta no nível HTTP
- Nome do host do SNI do TLS
- Versão TLS usada
- Informações sobre os dados comuns do cliente de mídia (CMCD)
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 os valores de exemplo são mostrados na tabela a seguir.
Campo | Valor de exemplo | Detalhes |
---|---|---|
backendInitialLatency | 0.126644940s | O tempo que o back-end leva para responder inicialmente a uma solicitação. É medida a partir do momento em que o CDN termina de encaminhar a solicitação para a origem até o momento em que o CDN começa a receber bytes de resposta da origem. Esse campo só aparece nos registros de preenchimento de cache de um recurso |
backendLatency | 0.126666342s | O tempo que o back-end leva para responder totalmente a uma solicitação. É medida a partir do momento em que o CDN termina de encaminhar a solicitação para a origem até o momento em que o CDN recebe a resposta completa do back-end. Esse campo aparece apenas nos registros de preenchimento de cache de um recurso |
cacheId | maa-123456 |
O código IATA (aeroporto) da cidade mais próxima do cache e um identificador opaco da instância do cache. Se vários níveis de cache forem necessários para atender à solicitação devido a uma falha total ou
parcial, a cadeia de locais de cache será fornecida. Por exemplo, del-234567, bom-345678, sin-456789 , em que o cache mais à direita é o
mais próximo do usuário. |
cacheKeyFingerprint | f63925711b0dd8a9ff861cd303774e6e | Uma impressão digital opaca da chave de cache. As solicitações que mapeiam 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 únicas, 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: Full cache miss: |
O status do cache em cada nó de cache entre o usuário e o escudo de origem, em que o valor mais à direita representa o cache mais próximo do 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 conectado. | |
clientCity | Mountain View | Nome da cidade de origem da solicitação. Por exemplo, Mountain View, Califórnia. Ele também pode ser adicionado aos cabeçalhos de solicitação e resposta e
espelhe a variável de cabeçalho |
clientRegionCode | US | O país (ou região) associado ao endereço IP do cliente. Esse é um código de região Unicode CLDR, como "US" ou "FR". Na maioria dos países, esses códigos correspondem diretamente a códigos ISO-3166-2. Ele também pode ser adicionado aos cabeçalhos de solicitação e resposta e
espelhe a variável de cabeçalho |
cmcd | As chaves CMCD
na solicitação do cliente que ajudam a informar a qualidade do
serviço do lado do cliente. A CDN de mídia oferece suporte a dados transmitidos por
cabeçalhos de solicitação HTTP ou parâmetros de consulta e não registra valores para as seguintes chaves:
dl (prazo final), nor (próxima solicitação de objeto),
nrr (próxima solicitação de intervalo), ot (tipo de objeto),
rtp (taxa de transferência máxima solicitada), sf (formato de streaming),
su (inicialização), tb (taxa de bits máxima)
ou v (versão do CMCD).
|
|
enforcedSecurityPolicy | A política de segurança de borda do Google Cloud Armor que se aplica à solicitação do cliente. Isso inclui informações adicionais sobre o nome da política, a prioridade e a ação tomada. | |
httpTtfb | 0.157228207s | A duração desde o momento em que o proxy começa a receber bytes de solicitação até o primeiro byte da resposta ser enviado (não recebido). |
latency | 0.157415635s | A duração desde o momento em que o proxy começa a receber bytes de solicitação até que ele termine de gravar a resposta para o 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 onde a resposta foi usada como proxy.
|
|
originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | O identificador exclusivo atribuído à solicitação que gerou essa resposta.
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 de onde
a resposta foi usada como proxy.
|
|
proxyRegionCode | US | O país (ou região) em que o proxy está localizado. Esse é um código de região Unicode CLDR, como "US" ou "FR". 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âmico 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 corresponde a 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), caso ele seja fornecido pelo cliente durante o handshake do TLS ou 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 o handshake SSL. Os valores possíveis incluem TLS 1, TLS 1.1, TLS 1.2 e TLS 1.3. |
Exemplo de entrada de registro
Confira a seguir um exemplo de entrada de registro para uma resposta enviada do 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 de registro, os registros podem ser amostrados 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
- Para entender melhor como configurar métricas com base em registros para definir seus próprios valores de métricas com base em solicitações registradas, consulte a Visão geral das métricas com base em registros.
- Para saber mais sobre os preços do Logging, consulte Preços da Observabilidade do Google Cloud.
- Para saber como o registro de auditoria funciona e como ativar e configurar registros de auditoria para atividades administrativas, consulte a documentação dos Registros de auditoria do Cloud.