Risoluzione dei problemi

Questa pagina contiene informazioni per la risoluzione dei problemi relativi a Trace.

Problemi noti

In questa sezione sono elencati i problemi noti:

  • Gli intervalli scritti nel tuo Google Cloud progetto utilizzando l' API Telemetry non sono accessibili all' Cloud Trace API. Ad esempio, se provi a elencare queste tracce, il comando non va a buon fine e viene visualizzato l'errore 404 Not Found.

Risolvere i problemi relativi ad Analisi dei log

Questa sezione descrive come risolvere gli errori che potresti visualizzare quando utilizzi Analisi dei log per eseguire query sui dati di traccia.

Messaggio di errore che indica che una vista non esiste

Inserisci una query SQL nel riquadro delle query della pagina Analisi dei log , ma il parser SQL visualizza il seguente errore:

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/views/OBS_VIEW_ID does not exist

L'errore precedente viene segnalato quando non è possibile trovare la vista specificata nell'istruzione FROM.

Per risolvere questo errore, verifica che la sintassi della vista sia corretta:

  • Verifica che il nome completo della vista segua la sintassi richiesta dallo schema di denominazione di Analisi dei log. Puoi trovare la sintassi richiesta per una vista visualizzando la query predefinita.

  • Se l' Google Cloud ID progetto, la località, l'ID bucket, l'ID set di dati o l'ID vista contengono punti, (.), verifica che il campo sia racchiuso tra virgolette singole, (`).

    Ad esempio, se l'ID del tuo Google Cloud progetto è example.com:bluebird, l'istruzione FROM è la seguente:

    FROM `example.com:bluebird`.`us`.`_Trace`.`Spans`.`_AllSpans`
    

Viene visualizzato il messaggio Inizia a utilizzare Analisi dei log

Apri la pagina Analisi dei log e viene visualizzata una finestra con un messaggio simile al seguente:

Get started with Log Analytics

Per utilizzare Analisi dei log, fai clic su Chiudi nella finestra.

Il messaggio precedente viene visualizzato quando non hai bucket di log di cui è stato eseguito l'upgrade per utilizzare Analisi dei log. Tuttavia, i dati di traccia non vengono archiviati in un bucket di log.

Il join di più viste non va a buon fine

Scrivi una query che esegue il join di più viste, ma la query viene contrassegnata come non valida.

Non è possibile eseguire il join di tutte le viste.

Per eseguire il join delle viste, si applicano le seguenti limitazioni:

  1. Le località delle viste soddisfano una delle seguenti condizioni:

    • Tutte le viste hanno la stessa località.
    • Tutte le viste si trovano nella località global o us.
  2. Quando le risorse di archiviazione utilizzano chiavi di crittografia gestite dal cliente (CMEK), deve essere vera una delle seguenti condizioni:

    • Le risorse di archiviazione che utilizzano CMEK utilizzano la stessa chiave Cloud KMS.
    • Le risorse di archiviazione che utilizzano CMEK hanno un predecessore comune e questo predecessore specifica una chiave Cloud KMS predefinita che si trova nella stessa località delle risorse di archiviazione.

    Quando una o più risorse di archiviazione utilizzano CMEK, il sistema cripta i dati temporanei generati da il join con la chiave Cloud KMS comune o con la chiave Cloud KMS predefinita dell'antenato.

Supponiamo, ad esempio, di avere due viste che si trovano nella stessa località. Puoi eseguire il join di queste viste quando si verifica una delle seguenti condizioni:

  • Le risorse di archiviazione non utilizzano CMEK.
  • Una risorsa di archiviazione utilizza CMEK e l'altra no.
  • Entrambe le risorse di archiviazione utilizzano CMEK e la stessa chiave Cloud KMS.
  • Entrambe le risorse di archiviazione utilizzano CMEK, ma chiavi diverse. Tuttavia, le risorse condividono un predecessore che specifica una chiave Cloud KMS predefinita che si trova nella stessa località delle risorse di archiviazione.

    Supponiamo, ad esempio, che la gerarchia delle risorse per un bucket di log e un bucket di osservabilità includa la stessa organizzazione. Puoi eseguire il join delle viste su questi bucket quando, per l'organizzazione, hai configurato le impostazioni predefinite delle risorse per Cloud Logging e per i bucket di osservabilità con la stessa chiave Cloud KMS predefinita per la località di archiviazione.

Nessun dato nella pagina Esplora tracce

Hai un'applicazione che invia dati di traccia al tuo Google Cloud progetto. Tuttavia, quando apri la pagina Esplora tracce, non vengono visualizzati dati.

Esistono diversi motivi per cui non riesci a visualizzare i dati di traccia:

  • Non ti sono state concesse le autorizzazioni necessarie per visualizzare i dati.
  • Gli intervalli di Trace non sono stati inviati al tuo progetto.
  • La tua applicazione non dispone delle autorizzazioni necessarie per scrivere i dati di traccia.
  • Gli intervalli di traccia non vengono archiviati.

Le seguenti sottosezioni forniscono informazioni su come risolvere i problemi relativi agli scenari di errore elencati.

Verificare di avere l'autorizzazione per visualizzare i dati di traccia

Per visualizzare i dati di traccia, assicurati di aver ricevuto il ruolo Utente Cloud Trace (roles/cloudtrace.user).

Verificare che gli intervalli di traccia vengano inviati al progetto

Per verificare che gli intervalli vengano inviati al tuo progetto:

  1. Abilita le API Cloud Trace e Telemetry.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilita le API

    Entrambe le API possono importare intervalli di traccia. Tuttavia, è consigliabile utilizzare l'API Telemetry perché è compatibile con l'ecosistema OpenTelemetry e perché ha limiti più generosi rispetto all'Cloud Trace API.

  2. Vai alla pagina API e servizi abilitati, trova le righe per l'Cloud Trace API e l'API Telemetry.

    Se il conteggio Richieste per queste due API è zero, significa che non vengono inviati dati di traccia al tuo progetto.

Verificare che l'applicazione disponga delle autorizzazioni necessarie per scrivere gli intervalli di traccia

Per determinare se la tua applicazione ha l'autorizzazione per scrivere i dati di traccia nel tuo progetto:

  1. Vai alla pagina API e servizi abilitati , trova le righe per l'Cloud Trace API e l'API Telemetry ed esamina la colonna Errori.

  2. Se nella colonna Errori di una delle due API è presente un valore diverso da zero, significa che si sono verificati errori durante la lettura o la scrittura dei dati di traccia tramite l'API. Per identificare il tipo di errore, seleziona l'API, seleziona la scheda Metriche e visualizza Errori per metodo API:

    Se le scritture non vanno a buon fine, concedi al service account che fornisce le credenziali i seguenti ruoli:

Verificare che i dati di traccia siano archiviati

Gli intervalli di Trace vengono archiviati in un bucket di osservabilità denominato _Trace. Il provisioning di questo bucket viene eseguito automaticamente quando il tuo Google Cloud progetto riceve intervalli di traccia. Tuttavia, esistono diversi scenari in cui il provisioning non va a buon fine.

Per determinare se esiste un bucket di osservabilità per i dati di traccia, puoi elencare i bucket di osservabilità o aprire la pagina Esplora tracce. Ad esempio, puoi procedere nel seguente modo:

  1. Nella Google Cloud console, vai alla Esplora tracce pagina:

    Vai a Esplora tracce

    Puoi trovare questa pagina anche utilizzando la barra di ricerca.

  2. Se visualizzi un banner simile al seguente, significa che il provisioning dello spazio di archiviazione per i dati di traccia non è stato eseguito.

    Trace storage is not initialized for this project. Enable trace storage to begin collecting trace data.
    

    Per eseguire il provisioning di un bucket di osservabilità per i dati di traccia, vai al banner e fai clic su Abilita.

    Quando fai clic su Abilita, viene inviato un intervallo al tuo progetto. Quando il sistema riceve l'intervallo, emette il comando per creare un bucket di osservabilità denominato _Trace. Il completamento di questa procedura può richiedere diversi minuti.

    Al termine dell'inizializzazione, viene visualizzato un banner di notifica e Cloud Trace inserisce tutti i dati di traccia inviati nell'ultima ora. Questi dati sono stati archiviati in un buffer temporaneo. Potrebbero essere necessari alcuni minuti prima che i dati vengano visualizzati in Esplora tracce. Se non vedi alcun dato, aggiorna la finestra.

  3. Se il comando di abilitazione non va a buon fine, viene visualizzato il seguente messaggio:

    Initializing trace storage has failed for an unexpected reason. Please file a support ticket for assistance.
    

    Per risolvere l'errore, contatta Google Cloud l'assistenza facendo clic su Invia un ticket.

La ricerca di una traccia specifica non va a buon fine

Inserisci un ID traccia nella pagina Esplora tracce. La traccia non viene trovata e viene visualizzato un messaggio simile al seguente:

The select trace with ID abcde does not exist or is older than 30 days and has been deleted per our retention policy.

Per risolvere questo errore, prova a procedere nel seguente modo:

  1. Verifica che il timestamp associato all'ID traccia rientri nel periodo di conservazione.

  2. Identifica il Google Cloud progetto che archivia la traccia e verifica che il selettore di risorse nella Google Cloud console selezioni questo progetto. Per impostazione predefinita, la pagina Esplora tracce ha accesso solo ai dati di traccia archiviati nel progetto selezionato.

Mancano i dati precedenti nella pagina Esplora tracce

Stai utilizzando la pagina Esplora tracce e puoi visualizzare i dati recenti, ma quando imposti il selettore dell'intervallo di tempo su 30 giorni o su un valore maggiore, i dati precedenti non vengono visualizzati.

La pagina Esplora tracce non mostra i dati per periodi di tempo superiori al periodo di conservazione dei dati di Cloud Trace, ovvero 30 giorni.

Se il selettore dell'intervallo di tempo è impostato su 30 giorni o meno, i dati mancanti indicano che il database sottoposto a query dalla pagina Esplora tracce è stato creato più di recente rispetto all'impostazione dell'intervallo di tempo. Ad esempio, se imposti questo valore su 20 giorni e riesci a visualizzare solo i dati degli ultimi 10 giorni, significa che il database è stato creato 10 giorni prima. Inoltre, questo database contiene solo le tracce inviate al tuo Google Cloud progetto dopo la creazione del database.

Viene visualizzata una traccia incompleta

Apri la pagina Esplora tracce e seleziona uno span da visualizzare. Il riquadro a comparsa Dettagli mostra la traccia, ma non è completa. Alcuni intervalli non vengono visualizzati.

Gli intervalli potrebbero mancare per i seguenti motivi:

  • La pagina Esplora tracce non esegue la ricerca in tutti i Google Cloud progetti che archiviano i dati degli span per la traccia.

  • Il tuo ruolo IAM in un Google Cloud progetto che archivia i dati degli intervalli per la traccia non contiene le autorizzazioni necessarie per visualizzare i dati di traccia.

  • Si è verificato un problema di strumentazione. Ad esempio, solo alcuni intervalli di una traccia sono stati inviati al tuo Google Cloud progetto.

Per risolvere questi problemi:

  1. Nella pagina Esplora tracce, assicurati di impostare l'elemento Ambito su un ambito di traccia che elenca i progetti che archiviano gli span per la traccia selezionata.

    Se non esiste un ambito di traccia che includa i progetti identificati nel passaggio precedente, crea o modifica un ambito di traccia esistente. Per saperne di più, consulta Creare e gestire gli ambiti di traccia.

  2. Verifica di avere il ruolo Utente Cloud Trace (roles/cloudtrace.user) nei progetti che archiviano i dati degli span.

Non hai le autorizzazioni necessarie per visualizzare i dati di traccia

Stai visualizzando la pagina Esplora tracce e vedi la seguente notifica:

You don't have the required permissions to view trace data for one or more projects listed in the trace scope.

Per risolvere questo messaggio, nella barra degli strumenti:

  1. Espandi l'elemento Ambito e identifica l'ambito di traccia selezionato.
  2. Nel riquadro a comparsa Perfeziona ambito, seleziona Gestisci ambiti.
  3. Individua l'ambito di traccia identificato nel primo passaggio, quindi espandi i dettagli per visualizzare l'elenco dei progetti. Google Cloud
  4. Per ogni Google Cloud progetto nell'ambito della traccia, verifica di avere il ruolo Utente Cloud Trace (roles/cloudtrace.user). Se non hai questo ruolo in un progetto, chiedi a un amministratore o al proprietario del progetto di concedertelo.

Le query tra regioni non sono supportate

Apri la pagina Esplora tracce e viene visualizzato un messaggio simile al seguente:

Error loading chart data. Cross-regional queries are not supported. The selected scope comprises buckets residing in multiple locations: list of locations.

Il messaggio di errore indica che la pagina Esplora tracce deve inviare una query per i dati archiviati in località diverse.

Per risolvere questo errore, esegui una delle seguenti operazioni:

  • Limita i dati di traccia a quelli archiviati dal progetto selezionato:

    • Vai alla barra degli strumenti della pagina Esplora tracce ed espandi il menu Ambito.
    • Nel riquadro a comparsa Perfeziona ambito, seleziona Progetto corrente.
  • Seleziona un ambito di traccia che elenca i progetti i cui dati sono archiviati nella stessa località. Per apportare questa modifica, utilizza le opzioni nel menu Ambito.

  • Rimuovi dall'ambito di traccia selezionato i progetti i cui dati sono archiviati in una località diversa da quella del progetto selezionato:

    • Vai alla barra degli strumenti della pagina Esplora tracce ed espandi il menu Ambito.
    • Nel riquadro a comparsa Perfeziona ambito, seleziona Gestisci ambiti.
    • Nella pagina Ambiti di traccia, puoi modificare qualsiasi ambito di traccia.

    Per trovare la località di archiviazione dei dati di traccia, esegui il comando Elenca bucket di osservabilità. Nel parametro path specifica il progetto e, per la LOCATION, imposta il campo su un trattino, (-), che funge da carattere jolly.

Messaggio ID intervallo mancante nella traccia

La traccia contiene un messaggio "ID intervallo mancante".

Nei sistemi di tracciamento distribuito, le tracce incomplete sono previste. Una traccia è incompleta quando un intervallo campionato contiene un riferimento a un altro intervallo che non è stato ricevuto. Il riferimento non risolto può verificarsi per i seguenti motivi:

  • L'intervallo a cui viene fatto riferimento non è stato campionato.
  • L'intervallo a cui viene fatto riferimento è stato campionato, ma non è ancora stato ricevuto da Cloud Trace oppure è stato ricevuto ma non archiviato.

Quando visualizzi una traccia incompleta, Cloud Trace mostra il messaggio "ID intervallo mancante" nel riquadro dei dettagli della traccia.

Se visualizzi costantemente il messaggio "ID intervallo mancante", prova a procedere nel seguente modo:

  • Per i componenti che gestisci, verifica che rispettino e propagino il flag sampled dell'intestazione flag, quando questo campo è presente. Questa impostazione è un suggerimento per i componenti secondari per campionare la richiesta. Per saperne di più sulle intestazioni di traccia, consulta Protocolli per la propagazione del contesto.

    Google Cloud I servizi in genere rispettano questo suggerimento. Tuttavia, limitano anche la velocità con cui scrivono i dati di traccia.

  • Se utilizzi Cloud Service Mesh, verifica di seguire le indicazioni per la propagazione del contesto di traccia per queste configurazioni. Per le indicazioni di Cloud Service Mesh consulta Propagazione del contesto di traccia.

Impossibile correlare i dati di log e di traccia

Stai eseguendo una delle seguenti operazioni:

  • Stai visualizzando un intervallo di traccia e vuoi visualizzare le voci di log associate. Tuttavia, non vengono elencati dati di log oppure, quando apri la pagina Esplora log, non vengono visualizzate voci di log.

  • Stai visualizzando una voce di log e vuoi visualizzare gli intervalli di traccia associati. Tuttavia, quando utilizzi le opzioni nella voce di log per aprire la pagina Esplora tracce, non vengono visualizzati dati di traccia.

Per risolvere questi errori, configura l'ambito di osservabilità. Questo ambito specifica quali ambiti di traccia e ambiti di log utilizzare quando vengono aperte le pagine di esplorazione corrispondenti. Per saperne di più, consulta Configurare gli ambiti di osservabilità per le query multi-progetto.

Nessun dato di traccia dopo l'aggiornamento dell'app Go per l'utilizzo di OpenTelemetry

La tua applicazione si basa sulla libreria client per acquisire le tracce e, dopo aver aggiornato l'applicazione per utilizzare OpenTelemetry, non vedi più i dati di Cloud Trace.

Poiché alcune librerie client Cloud per Go sono integrate con OpenCensus, devi utilizzare un bridge OpenCensus. Per saperne di più sul problema risolto dal bridge, consulta Bridge OpenCensus.

Per informazioni sull'aggiornamento delle librerie client Cloud per Go, consulta il problema n. 4237.