Neste documento, explicamos como configurar o rastreamento de solicitações distribuídas para o Secure Web Proxy usando o Cloud Trace.
Para informações sobre os conceitos, principais benefícios e detalhes da arquitetura, consulte a Visão geral do rastreamento distribuído.
Antes de começar
- Conclua as etapas de configuração inicial.
Ative a API Compute Engine, Network Services e API Cloud Trace no seu projeto.
gcloud services enable \ compute.googleapis.com \ networkservices.googleapis.com \ cloudtrace.googleapis.comVerifique se você tem uma instância de gateway do Secure Web Proxy ativa implantada. Para mais informações, consulte Implantar uma instância do Secure Web Proxy.
Para gerar períodos de rastreamento distribuído no nível HTTP e propagar cabeçalhos de contexto de traces do W3C para solicitações HTTPS, ative a inspeção de TLS no gateway Secure Web Proxy.
Papéis e permissões
Para receber as permissões necessárias para configurar políticas de telemetria e visualizar rastreamentos, peça ao administrador para conceder a você os seguintes papéis do Identity and Access Management (IAM):
- Para criar, atualizar ou excluir políticas de telemetria:
Administrador dos serviços de rede
(
roles/networkservices.admin) ou Administrador de rede do Compute (roles/compute.networkAdmin) - Para ver e analisar intervalos de rastreamento no console Google Cloud :
Usuário do Cloud Trace
(
roles/cloudtrace.user) Para exportar intervalos de rastreamento para o Trace, verifique se as seguintes contas de serviço têm o papel de agente do Cloud Trace (
roles/cloudtrace.agent):- Agente de serviço do Compute Engine:
service-PROJECT_NUMBER@compute-system. - Agente de serviço de segurança de rede:
service-PROJECT_NUMBER@gcp-sa-networksecurity. - Contas de serviço máquina virtual (VMs) do cliente, se os aplicativos cliente gerarem ou propagarem intervalos
- Agente de serviço do Compute Engine:
Esquema de configuração da política de telemetria
Para definir uma política de telemetria em um arquivo YAML, use o seguinte esquema:
name: projects/PROJECT_ID/locations/REGION/telemetryPolicies/POLICY_NAME
telemetryTarget:
resources:
- "//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME"
description: "OPTIONAL_DESCRIPTION"
tracingConfiguration:
samplingRate: SAMPLING_RATE
parentBasedSampling:
enabled: true
A tabela a seguir descreve os campos em uma política de telemetria:
| Campo | Tipo | Descrição |
|---|---|---|
name |
String | Identificador exclusivo da política de telemetria. |
telemetryTarget.resources |
Lista de strings | URLs de recursos dos gateways do Secure Web Proxy a que esta política se aplica. Os gateways precisam estar na mesma região da política.
Formato:
Como alternativa, use o formato de nome abreviado:
|
description |
String | Opcional. Esse campo fornece uma descrição legível da política de telemetria. |
tracingConfiguration.samplingRate |
Ponto flutuante | Proporção de solicitações a serem rastreadas, especificada como um número decimal entre 0.0 (0%) e 1.0 (100%). Por exemplo, 0.01 faz a amostragem de 1% das solicitações. |
tracingConfiguration.parentBasedSampling.enabled |
Booleano | Indica se você quer ativar decisões de amostragem de rastreamento upstream
(true ou false). |
Configurar o rastreamento distribuído
Para aplicar uma política de rastreamento ao gateway do Secure Web Proxy usando a Google Cloud CLI, faça o seguinte:
Crie um arquivo de política YAML chamado
swp-tracing-policy.yaml.cat <<EOF > swp-tracing-policy.yaml name: projects/PROJECT_ID/locations/REGION/telemetryPolicies/my-swp-tracing-policy telemetryTarget: resources: - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME" description: "Distributed tracing policy for the Secure Web Proxy gateway" tracingConfiguration: samplingRate: 0.01 parentBasedSampling: enabled: true EOFSubstitua:
PROJECT_ID: ID do seu projeto Google CloudREGION: região em que o gateway do Secure Web Proxy está implantado, comous-central1GATEWAY_NAME: nome da instância de gateway do Secure Web Proxy.
Importe a política de telemetria usando o comando
gcloud beta network-services telemetry-policies import:gcloud beta network-services telemetry-policies import my-swp-tracing-policy \ --source=swp-tracing-policy.yaml \ --location=REGIONVerifique se a política foi aplicada usando o comando
gcloud beta network-services telemetry-policies describe:gcloud beta network-services telemetry-policies describe my-swp-tracing-policy \ --location=REGION
Anexar ou remover gateways de destino
Para atualizar a definição de política ou anexar vários gateways regionais, faça o seguinte:
Atualize a lista
telemetryTarget.resourcesno arquivoswp-tracing-policy.yamlpara incluir todos os URIs de recursos do gateway de destino.telemetryTarget: resources: - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/us-central1/gateways/prod-swp-uc1" - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/us-central1/gateways/staging-swp-uc1"Importe a política de telemetria atualizada usando o comando
gcloud beta network-services telemetry-policies import:gcloud beta network-services telemetry-policies import my-swp-tracing-policy \ --source=swp-tracing-policy.yaml \ --location=REGIONSubstitua:
PROJECT_ID: ID do seu projeto Google CloudREGION: região em que o gateway do Secure Web Proxy está implantado, comous-central1
Visualizar e analisar rastreamentos no Trace
No console Google Cloud , acesse a página Explorador de traces.
Selecionar o projeto Google Cloud .
No campo Filtro, pesquise traces usando vários atributos.
Clique em qualquer trace no gráfico de dispersão ou na visualização da linha do tempo para inspecionar os detalhes do período, como duração total, latência de processamento do proxy e detalhes do IP do servidor externo.
Correlacionar traces com registros e métricas
O Secure Web Proxy oferece correlação entre rastreamentos, registros e métricas:
Correlação de registro e rastreamento: cada entrada de registro de transação de proxy gravada no Cloud Logging contém um campo
tracecom o formato:projects/PROJECT_ID/traces/TRACE_ID.- No Análise de registros, clique na entrada de registro e selecione Ver detalhes do trace para navegar diretamente até o período correspondente no Trace.
- No Trace, clique em Mostrar registros no painel Detalhes do trace para ver todos os registros de transações associados a essa solicitação.
Correlação de métricas: compare os picos de latência observados nas métricas do Cloud Monitoring, como
networkservices.googleapis.com/https/total_latencies, com os detalhamentos de intervalos de rastreamento para identificar se um pico de latência ocorreu no proxy ou no servidor de origem externa.