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 span scritti nel tuo progetto Google Cloud utilizzando l'API Telemetry non sono accessibili all'Cloud Trace API. Ad esempio, se provi a elencare queste tracce, il comando non riesce e viene visualizzato l'errore 404 Not Found.

Risolvere i problemi di Analisi dei log

Questa sezione descrive come risolvere gli errori che potresti visualizzare quando utilizzi Log Analytics 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 mostra 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 vista abbia la sintassi corretta:

  • Verifica che il nome completo della vista segua la sintassi richiesta dallo schema di denominazione di Log Analytics. Puoi trovare la sintassi richiesta per una visualizzazione mostrando la query predefinita.

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

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

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

Nessun dato nella pagina Esplora tracce

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

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

  • 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 memorizzati.

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

Verificare di disporre dell'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).

Verifica che gli intervalli di traccia vengano inviati al tuo progetto

Per verificare che gli span vengano inviati al tuo progetto:

  1. Enable the Cloud Trace and Telemetry APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

    Entrambe le API possono importare gli intervalli di traccia. Tuttavia, l'API Telemetry è consigliata 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, individua le righe per l'Cloud Trace API e l'API Telemetry.

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

Verifica che la tua 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, individua le righe per l'Cloud Trace API e l'API Telemetry ed esamina la colonna Errori.

  2. Se visualizzi un valore diverso da zero nella colonna Errori per una delle API, significa che si sono verificati errori di lettura o 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 all'account di servizio che fornisce le credenziali i seguenti ruoli:

Verificare che i dati di tracciamento siano archiviati

Gli span di Trace vengono archiviati in un bucket di osservabilità denominato _Trace. Questo bucket viene sottoposto a provisioning automaticamente quando il tuo progetto Google Cloud riceve gli 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 tuoi dati di traccia, puoi [elencare i bucket di osservabilità][trace-storage-list-buckets] o aprire la pagina Trace Explorer. Ad esempio, puoi fare quanto segue:

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

    Vai a Trace Explorer

    Puoi trovare questa pagina anche utilizzando la barra di ricerca.

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

    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 Attiva.

    Quando fai clic su Attiva, l'azione fa sì che un intervallo venga inviato al tuo progetto. Quando il sistema riceve lo span, emette il comando per creare un bucket di osservabilità denominato _Trace. Il completamento di questo processo può richiedere diversi minuti.

    Se l'inizializzazione va a buon fine, viene visualizzato un banner di notifica e Cloud Trace acquisisce 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 nell'Esplora tracce. Se non vedi alcun dato, aggiorna la finestra.

  3. Se il comando di attivazione 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 l' Google Cloud 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 quanto segue:

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

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

Dati meno recenti mancanti 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 più grande, i dati meno recenti 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 è di 30 giorni o meno, i dati mancanti indicano che il database interrogato dalle query della pagina Trace Explorer è stato creato più di recente rispetto all'impostazione dell'intervallo di tempo. Ad esempio, se imposti questo valore su 20 giorni e puoi visualizzare solo i dati degli ultimi 10 giorni, il database è stato creato 10 giorni prima. Inoltre, questo database contiene solo tracce inviate al tuo progetto Google Cloud dopo la creazione del database.

Viene visualizzata una traccia incompleta

Apri la pagina Esplora tracce e seleziona un intervallo da visualizzare. Il riquadro Dettagli mostra la traccia, ma non è completa. Alcuni intervalli non vengono mostrati.

Gli intervalli potrebbero mancare per i seguenti motivi:

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

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

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

Per risolvere questi problemi, procedi nel seguente modo:

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

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

  2. Verifica di disporre del ruolo Utente Cloud Trace (roles/cloudtrace.user) nei progetti che archiviano i dati degli intervalli.

Non disponi delle 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 il problema, nella barra degli strumenti:

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

Messaggio con ID intervallo mancante nella traccia

La traccia contiene il messaggio "ID span mancante".

Nei sistemi di tracciamento distribuito, sono previste tracce incomplete. Una traccia è incompleta quando uno span campionato contiene un riferimento a un altro span 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 span mancante", prova a procedere nel seguente modo:

  • Per i componenti che gestisci, verifica che rispettino e propagano il flag sampled dell'intestazione, 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.

    I serviziGoogle Cloud 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 indicazioni su Cloud Service Mesh, consulta Propagazione del contesto di traccia.

Impossibile correlare i dati di log e traccia

Stai eseguendo una delle seguenti operazioni:

  • Stai visualizzando un intervallo di traccia e vuoi visualizzare le voci di log associate. Tuttavia, non sono 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 della 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 di log utilizzare quando vengono aperte le pagine di esplorazione corrispondenti. Per saperne di più, consulta Configurare gli ambiti di osservabilità per le query multiprogetto.

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

La tua applicazione si basa sulla libreria client per acquisire le tracce e, dopo l'aggiornamento dell'applicazione per utilizzare OpenTelemetry, non visualizzi 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 OpenCensus Bridge.

Per informazioni sull'aggiornamento delle librerie client di Google Cloud per Go, consulta Issue #4237.