Risolvere i problemi relativi agli errori di tracciamento distribuito

Questo documento descrive come diagnosticare e risolvere i problemi relativi alla tracciabilità distribuita quando utilizzi Cloud Trace e le norme di telemetria con Secure Web Proxy.

Le tracce non vengono visualizzate in Trace

Se gli intervalli di traccia generati da Secure Web Proxy non vengono visualizzati in Trace Explorer, controlla i seguenti elementi:

  1. Verifica che l'Cloud Trace API sia abilitata: assicurati che l'API Trace (cloudtrace.googleapis.com) sia abilitata nel progettoGoogle Cloud che ospita il gateway Secure Web Proxy.

    <pre class="devsite-click-to-copy">
    gcloud services enable cloudtrace.googleapis.com
    </pre>
    
  2. Verifica che la policy di telemetria esista e sia attiva: utilizza il gcloud beta network-services telemetry-policies describe comando per verificare che la policy di telemetria esista nella regione corretta e faccia riferimento al gateway Secure Web Proxy appropriato:

    gcloud beta network-services telemetry-policies describe POLICY_NAME \
        --location=REGION
    

    Sostituisci quanto segue:

    • POLICY_NAME: il nome della policy di telemetria, ad esempio my-swp-tracing-policy
    • REGION: la regione in cui viene implementata la policy di telemetria, ad esempio us-central1
  3. Controlla la frequenza di campionamento: se il samplingRate della tua policy è basso (ad esempio, 0.01 per l'1% o 0.001 per lo 0,1%), le singole richieste di test manuali potrebbero non essere campionate. Per verificare che la tracciabilità funzioni, aggiorna temporaneamente il criterio in modo da utilizzare il campionamento al 100% (samplingRate: 1.00) e poi ripristina la frequenza di produzione.

  4. Convalida l'URI della risorsa gateway di destinazione: verifica che il campo telemetryTarget.resources nel criterio di telemetria specifichi l'URL della risorsa completo ed esatto o il nome breve del gateway Secure Web Proxy.

    //networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto
    • REGION: la regione in cui viene deployment del gateway Secure Web Proxy, ad esempio us-central1
    • GATEWAY_NAME: il nome dell'istanza gateway Secure Web Proxy

    Qualsiasi mancata corrispondenza nell'ID progetto, nella regione o nel nome del gateway impedisce al proxy di ricevere la configurazione delle policy.

  5. Controlla le autorizzazioni Identity and Access Management (IAM):

    • Assicurati di aver concesso al tuo account utente o account di servizio il ruolo Utente Cloud Trace (roles/cloudtrace.user) per visualizzare gli span nella console Google Cloud .
    • Assicurati di aver concesso il ruolo Agente Cloud Trace (roles/cloudtrace.agent) ai seguenti service account:
      • service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
      • service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com
      • Service account delle macchine virtuali (VM) client, se le applicazioni client generano o propagano gli span

Intervalli figlio mancanti o grafici di traccia interrotti

Se gli intervalli del proxy Secure Web Proxy vengono visualizzati come tracce radice indipendenti o disconnesse anziché come intervalli secondari delle richieste dell'applicazione, procedi nel seguente modo:

  1. Attiva il campionamento basato sul parent: nel file YAML della policy di telemetria, verifica che parentBasedSampling.enabled sia impostato su true.

    tracingConfiguration:
      samplingRate: 0.01
      parentBasedSampling:
        enabled: true
    

    Quando il campionamento basato sul parent è disattivato, Secure Web Proxy potrebbe eliminare le tracce campionate a monte se non corrispondono a samplingRate locale.

  2. Controlla l'instrumentazione OpenTelemetry: verifica che la tua applicazione utilizzi un SDK OpenTelemetry con la propagazione del contesto di tracciamento distribuito attivata. Per ulteriori informazioni, consulta la documentazione del propagatore TraceContext di OpenTelemetry.

Volume di importazione delle tracce inaspettatamente elevato

Se noti un volume o costi di importazione delle tracce superiori al previsto in Trace, procedi nel seguente modo:

  1. Riduci la frequenza di campionamento di base: negli ambienti di produzione con traffico elevato, imposta samplingRate su una frazione più piccola, ad esempio 0.01 (1%) o 0.001 (0,1%).
  2. Affidati al campionamento basato sul parent: mantieni bassa la baseline del gateway samplingRate e attiva parentBasedSampling. Questa combinazione contribuisce a garantire che il proxy campioni solo le richieste selezionate specificamente dalle applicazioni upstream.
  3. Rimuovi i criteri di debug temporanei: se hai applicato un campionamento del 100% (samplingRate: 1.00) durante la risoluzione dei problemi, rimuovi il criterio o ripristina la configurazione precedente al termine della procedura di debug.

Passaggi successivi