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 |
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 |
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: Full cache 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 |
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 |
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
- Para entender mais sobre como configurar métricas com base em registros para definir suas próprias valores de métricas com base nas solicitações registradas, consulte a seção Métricas com base em registros geral do Google.
- Para saber mais sobre os preços do Logging, consulte Preços do Google Cloud Observability.
- Para ler sobre como o registro de auditoria funciona e como ativar e configurar a auditoria registros de atividade do administrador, consulte a página Registros de Documentação.