O Media CDN registra cada solicitação HTTP no Cloud Logging. Essas solicitações
incluem solicitações do cliente para o recurso EdgeCacheService
e solicitações do
recurso EdgeCacheOrigin
para a origem configurada para preenchimentos de cache. Os registros são
geralmente entregues quase em tempo real. Isso inclui a possibilidade 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 mostradas na maioria dos registros do Google Cloud , como gravidade, ID e número do projeto e carimbo de data/hora.
- Campos de registro HttpRequest.
Metadados adicionais sobre a solicitação em structPayload, incluindo o seguinte:
- ASN do cliente
- Dados de local do cliente
- ID (cidade) dos caches usados para atender à 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 SNI de TLS
- Versão do TLS usada
- Informações de 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 de como o Media CDN veicula um objeto, se ele
foi armazenado em cache e quaisquer estados de erro encontrados.
Esses campos e exemplos de valores são mostrados na tabela a seguir.
Campo | Valor de exemplo | Detalhes |
---|---|---|
backendInitialLatency | 0.126644940s | A duração que o back-end leva para responder inicialmente a uma solicitação. Medida entre o momento em que a CDN termina de fazer o proxy da solicitação para a origem e o momento em que ela começa a receber bytes de resposta da origem. Esse campo aparece apenas em 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. Medido desde o momento em que a CDN terminou de fazer o proxy da solicitação para a origem até que a CDN recebeu a resposta completa do back-end. Esse campo aparece apenas em registros de preenchimento de cache de um recurso |
cacheId | maa-123456 |
O código IATA (aeroporto) da cidade mais próxima ao cache e um identificador opaco da instância de cache. Se forem necessários vários níveis de cache 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. Solicitações que mapeiam para a mesma chave de cache (por exemplo, solicitações em que os parâmetros de consulta ou o host não estão incluídos) 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 pode indicar que as chaves de cache são muito específicas. |
cacheMode | USE_ORIGIN_HEADERS | O cdnPolicy.cacheMode configurado na rota que
correspondeu a esta solicitação.
|
cacheStatus | Cache hit: Full cache miss: |
O status do cache em cada nó de cache entre o usuário e o origin shield, 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. Isso também pode ser adicionado aos cabeçalhos de solicitação e resposta e reflete a variável de cabeçalho |
clientRegionCode | US | O país (ou região) associado ao endereço IP do cliente. É um código de região Unicode CLDR, como US ou FR. Na maioria dos 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 reflete 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 Media CDN 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), 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).
|
|
compressionAlgorithmApplied | br | O algoritmo usado para compactar a resposta mencionada nesta entrada de registro. Os valores possíveis incluem br e gzip .
|
enforcedSecurityPolicy | A política de segurança de borda do Google Cloud Armor que se aplica à solicitação do cliente. Isso inclui mais informações sobre o nome da política, a prioridade e a ação realizada. Ela também inclui informações sobre avaliações da Inteligência do Google contra ameaças, se aplicável. | |
flexShieldingRegion | US_EAST4 | A região usada para proteção flexível, se houver.
Esse campo aparece apenas em registros de preenchimento de cache de um recurso |
flexShieldingStatus | SHIELDED | O status da proteção flexível para uma solicitação de preenchimento de cache. O valor pode ser
um dos seguintes:
Esse campo aparece apenas em registros de preenchimento de cache de um recurso |
httpTtfb | 0.157228207s | A duração entre o momento em que o proxy começa a receber bytes de solicitação e o momento em que o primeiro byte da resposta é enviado (não recebido). |
latency | 0.157415635s | A duração entre o momento em que o proxy começa a receber bytes de solicitação e o momento em que ele termina 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 ao proxy. |
origin | O recurso EdgeCacheOrigin de onde a resposta foi encaminhada por proxy.
|
|
originalRequestId | 19d92668-3948-49d8-9244-25f8252043e4 | O identificador exclusivo atribuído à solicitação que gerou originalmente esta resposta.
Preenchido apenas se for diferente de request_id para respostas armazenadas em cache.
|
originIp | O endereço IP usado para entrar em contato com o recurso EdgeCacheOrigin de onde a resposta foi encaminhada por proxy.
|
|
previewSecurityPolicy | A política de segurança de borda do Google Cloud Armor que se aplica à solicitação do cliente, considerando as regras de prévia. Isso inclui mais informações sobre o nome da política, a prioridade e a ação realizada. | |
proxyRegionCode | US | O país (ou região) em que o proxy está localizado. É 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 a CDN durante o 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
Confira a seguir um exemplo de entrada de registro para uma resposta veiculada 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", "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" }
É possível configurar o registro de solicitações de algumas maneiras. Para reduzir o volume de registros e os custos gerais do Logging, eles 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 atuais.
Políticas de retenção
O Logging permite definir políticas de retenção personalizadas, inclusive por coletor.
A seguir
- Para entender melhor como configurar métricas com base em registros e 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 do Google Cloud Observability.
- Para saber como funciona o registro de auditoria e como ativar e configurar registros de auditoria para atividades administrativas, consulte a documentação do Cloud Audit Logs.