Questo documento spiega come configurare il tracciamento distribuito delle richieste per Secure Web Proxy utilizzando Cloud Trace.
Per informazioni su concetti, vantaggi principali e dettagli dell'architettura, consulta la panoramica di Distributed Tracing.
Prima di iniziare
- Completa i passaggi di configurazione iniziale.
Abilita l'API Compute Engine, l'API Network Services e l'Cloud Trace API nel tuo progetto.
gcloud services enable \ compute.googleapis.com \ networkservices.googleapis.com \ cloudtrace.googleapis.comAssicurati di aver eseguito il deployment di un'istanza di gateway Secure Web Proxy attiva. Per saperne di più, consulta Deploy un'istanza Secure Web Proxy.
Per generare intervalli di traccia distribuita a livello HTTP e propagare le intestazioni del contesto della traccia W3C per le richieste HTTPS, devi attivare l'ispezione TLS sul gateway Secure Web Proxy.
Ruoli e autorizzazioni
Per ottenere le autorizzazioni necessarie per configurare le policy di telemetria e visualizzare le tracce, chiedi all'amministratore di concederti i seguenti ruoli IAM (Identity and Access Management):
- Per creare, aggiornare o eliminare criteri di telemetria:
Network Services
Admin
(
roles/networkservices.admin) o Compute Network Admin (roles/compute.networkAdmin) - Per visualizzare e analizzare gli intervalli di traccia nella console Google Cloud :
Utente Cloud Trace
(
roles/cloudtrace.user) Per esportare gli span di traccia in Trace, assicurati che i seguenti service account dispongano del ruolo Agente Cloud Trace (
roles/cloudtrace.agent):- Service agent Compute Engine:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com - Service agent per la sicurezza della rete:
service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com - Service account della macchina virtuale (VM) client, se le applicazioni client generano o propagano gli span
- Service agent Compute Engine:
Schema di configurazione delle policy di telemetria
Per definire una policy di telemetria in un file YAML, utilizza il seguente schema:
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
La tabella seguente descrive i campi di una policy di telemetria:
| Campo | Tipo | Descrizione |
|---|---|---|
name |
Stringa | Identificatore univoco del criterio di telemetria. |
telemetryTarget.resources |
Elenco di stringhe | URL delle risorse dei gateway Secure Web Proxy a cui si applica questa policy. I gateway devono trovarsi nella stessa regione del criterio.
Formato:
In alternativa, utilizza il formato del nome breve:
|
description |
Stringa | Facoltativo. Questo campo fornisce una descrizione leggibile della policy di telemetria. |
tracingConfiguration.samplingRate |
Numero in virgola mobile | Proporzione di richieste da tracciare, specificata come numero decimale compreso tra
0.0 (0%) e 1.0 (100%). Ad esempio,
0.01 campiona l'1% delle richieste. |
tracingConfiguration.parentBasedSampling.enabled |
Booleano | Indica se vuoi attivare le decisioni di campionamento delle tracce upstream
(true o false). |
Configurare il tracciamento distribuito
Per applicare una policy di tracciamento al gateway Secure Web Proxy utilizzando Google Cloud CLI, segui questi passaggi:
Crea un file di policy YAML denominato
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 EOFSostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progettoREGION: la regione in cui viene deployment del gateway Secure Web Proxy, ad esempious-central1GATEWAY_NAME: il nome dell'istanza gateway Secure Web Proxy
Importa la policy di telemetria utilizzando il 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=REGIONVerifica che la policy sia applicata utilizzando il comando
gcloud beta network-services telemetry-policies describe:gcloud beta network-services telemetry-policies describe my-swp-tracing-policy \ --location=REGION
Collegare o scollegare i gateway di destinazione
Per aggiornare la definizione della policy o allegare più gateway regionali:
Aggiorna l'elenco
telemetryTarget.resourcesnel fileswp-tracing-policy.yamlin modo da includere tutti gli URI delle risorse gateway di destinazione.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"Importa la policy di telemetria aggiornata utilizzando il 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=REGIONSostituisci quanto segue:
PROJECT_ID: l'ID del tuo Google Cloud progettoREGION: la regione in cui viene deployment del gateway Secure Web Proxy, ad esempious-central1
Visualizzare e analizzare le tracce in Trace
Nella console Google Cloud , vai alla pagina Esplora tracce.
Selezionare il tuo progetto Google Cloud .
Nel campo Filtro, cerca le tracce utilizzando vari attributi.
Fai clic su una traccia nel grafico a dispersione o nella visualizzazione cronologica per esaminare i dettagli dello span, come durata totale, latenza di elaborazione del proxy e dettagli dell'IP del server esterno.
Correlare le tracce con log e metriche
Secure Web Proxy fornisce la correlazione tra tracce, log e metriche:
Correlazione log-trace: ogni voce di log delle transazioni proxy scritta in Cloud Logging contiene un campo
tracecon il formato:projects/PROJECT_ID/traces/TRACE_ID.- In Esplora log, fai clic sulla voce di log e poi seleziona Visualizza dettagli trace per passare direttamente allo span corrispondente in Trace.
- In Trace, fai clic su Mostra log nel riquadro Dettagli traccia per visualizzare tutti i log delle transazioni associati alla richiesta.
Correlazione delle metriche: confronta i picchi di latenza osservati nelle metriche di Cloud Monitoring, ad esempio
networkservices.googleapis.com/https/total_latencies, con le suddivisioni degli intervalli di traccia per identificare se si è verificato un picco di latenza all'interno del proxy o nel server di origine esterno.
Passaggi successivi
- Panoramica del tracciamento distribuito
- Risolvere i problemi relativi agli errori di tracciamento distribuito