Cada solicitação do Cloud CDN é registrada no Cloud Logging. Para informações sobre como ativar e desativar a geração de registros, consulte Geração de registros e monitoramento de balanceamento de carga HTTP(S).
Os registros do Cloud CDN estão associados ao balanceador de carga HTTP(S) externo ao qual seus back-ends do Cloud CDN estão anexados. Os registros do Cloud CDN são indexados primeiro pela regra de encaminhamento e, depois, pelo mapa de URL.
Para visualizar os registros do Cloud CDN, siga estas etapas.
Console
No Console do Google Cloud, acesse a página do Visualizador de registros.
Para ver todos os registros no primeiro menu suspenso na linha, selecione Balanceador de carga HTTP do Cloud > Todas as regras de encaminhamento.
Para ver os registros de apenas uma regra de encaminhamento, selecione um único nome de regra de encaminhamento na lista.
Para ver os registros de apenas um mapa de URL usado por uma regra de encaminhamento, selecione Balanceador de carga HTTP do Cloud e escolha a regra de encaminhamento e o mapa de URL desejados.
Solicitação veiculada a partir do back-end
Para confirmar se uma solicitação é veiculada a partir de um back-end ativado pelo Cloud CDN, existem três campos principais a serem procurados, da seguinte maneira:
httpRequest
: quando uma solicitação é veiculada a partir de um back-end, é possível ver que o cache foi preenchido e confirmar o URL da solicitação.cacheFillBytes:
NUMBER_OF_BYTEScacheLookup: True
requestURL
: URL
jsonPayload
: no campostatusDetails
, é possível confirmar que a resposta foi veiculada pelo back-end.statusDetails: "response_sent_by_backend"
Solicitação veiculada a partir do cache
A entrada de registro a seguir mostra uma ocorrência em cache.
{ insertId: "1oek5rg3l3fxj7" jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" cacheId: "SFO-fbae48ad" statusDetails: "response_from_cache" } httpRequest: { requestMethod: "GET" requestUrl: "http://LOAD_BALANCER_IP_ADDRESS/static/us/three-cats.jpg" requestSize: "577" status: 304 responseSize: "157" userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36" remoteIp: "CLIENT_IP_ADDRESS" cacheHit: true cacheLookup: true } resource: { type: "http_load_balancer" labels: { zone: "global" url_map_name: "URL_MAP_NAME" forwarding_rule_name: "FORWARDING_RULE_NAME" target_proxy_name: "TARGET_PROXY_NAME" backend_service_name: "" project_id: "PROJECT_ID" } } timestamp: "2020-06-08T23:41:30.078651Z" severity: "INFO" logName: "projects/PROJECT_ID/logs/requests" trace: "projects/PROJECT_ID/traces/241d69833e64b3bf83fabac8c873d992" receiveTimestamp: "2020-06-08T23:41:30.588272510Z" spanId: "7b6537d3672e08e1" }
O que é registrado
Além das informações gerais contidas na maioria dos registros, como gravidade, ID e número do projeto e carimbo de data/hora, os registros de balanceamento de carga HTTP(S) contêm:
O campo de registro HttpRequest, que captura o código de status HTTP, os bytes retornados e se uma pesquisa de cache e/ou um preenchimento de cache foi realizado.
O campo
jsonPayload.cacheId
, que indica o local e a instância de cache em que a resposta de cache foi veiculada. Por exemplo, uma resposta de cache exibida a partir de um cache em Amsterdã teria um valor cacheId deAMS-85e2bd4b
, em queAMS
é o código IATA (em inglês) e85e2bd4b
é um identificador opaco da instância de cache, porque alguns locais do Cloud CDN têm vários caches distintos.Os campos
statusDetails
dojsonPayload
.
É possível filtrar os campos a seguir para determinar a ocorrência em cache, o status de ausência ou a revalidação de uma solicitação veiculada pelo Cloud CDN:
Ocorrência em cache
jsonPayload.statusDetails=("response_from_cache" OR "byte_range_caching")
ou
httpRequest.cacheHit=true
httpRequest.cacheValidatedWithOriginServer!=true
Ocorrência em cache validada com o servidor de origem
jsonPayload.statusDetails="response_from_cache_validated"
ou
httpRequest.cacheHit=true
httpRequest.cacheValidatedWithOriginServer=true
Ausência no cache
jsonPayload.statusDetails="response_sent_by_backend"
ou
httpRequest.cacheHit!=true
httpRequest.cacheLookup=true
Os campos de registro do tipo booleano normalmente só aparecem se tiverem um valor true
. Se um campo booleano tem um valor false
, esse campo é omitido do registro.
A codificação UTF-8 é obrigatória nesses campos. Os caracteres que não forem UTF-8 serão substituídos por pontos de interrogação.
Quando o Cloud CDN exibe uma solicitação de cliente iniciando solicitações
de validação e/ou solicitações de intervalo de bytes, ele omite o campo serverIp
da
entrada de registro do Cloud Logging na solicitação do cliente. Isso ocorre porque o
Cloud CDN pode enviar solicitações para endereços IP de vários servidores
em reação a apenas uma solicitação do cliente.
Cada solicitação iniciada pelo Cloud CDN cria uma entrada de registro do
Cloud Logging. A entrada de registro resultante contém um campo parentInsertId
dentro do
jsonPayload
. Esse campo pode ser usado para identificar o insertId
da entrada de
registro na solicitação de cliente único que pediu que o Cloud CDN inicie
a solicitação de validação ou de intervalo de bytes. Além disso, a entrada de
registro identifica o Cloud CDN como o user agent.
A seguir
Para saber mais sobre registros, incluindo como exportar registros para o BigQuery, Pub/Sub ou Cloud Storage e como configurar métricas com base em registros para monitoramento e recebimento de alertas, consulte a Documentação do Cloud Logging.
Para saber mais sobre os campos incluídos na entrada de registro
httpRequest
, consulte HttpRequest.