Risolvere i problemi di configurazione di Observability Analytics

Questo documento mostra come risolvere gli errori che potrebbero verificarsi durante l'utilizzo della pagina Observability Analytics della Google Cloud console.

Messaggi di errore

Questa sezione descrive i messaggi di errore che potresti visualizzare e come risolvere le condizioni di errore corrispondenti.

Messaggio di errore No completion signal within allotted timeframe

Inserisci una query SQL e seleziona Esegui query. La query non viene completata e viene visualizzato il seguente messaggio di errore:

The query failed to execute and return results due to error: No completion signal within allotted timeframe.

Per risolvere questo errore, procedi in uno dei seguenti modi:

  • Riduci l'intervallo di tempo per cui vengono eseguite le query sui log e riprova a eseguire la query. Ad esempio, se l'intervallo di query è di 14 giorni, riducilo a 7 giorni ed esegui la query.

  • Crea un set di dati BigQuery collegato ed esegui la query dall'interfaccia BigQuery. L'interfaccia BigQuery supporta le query che richiedono un tempo di esecuzione più lungo rispetto all'interfaccia Cloud Logging. Per saperne di più, consulta Eseguire query su un set di dati BigQuery collegato.

Messaggio di errore Queries against buckets with distinct CMEK keys

Inserisci una query SQL che esegue query su più bucket di log e seleziona Esegui query. La query non viene completata e viene visualizzato il seguente messaggio di errore:

Queries against buckets with distinct CMEK keys must have a key configured in the LogSettings.

Per risolvere questo problema, procedi in uno dei seguenti modi:

  • Configura i bucket di log in modo che utilizzino la stessa chiave Cloud Key Management Service (Cloud KMS).
  • Quando i bucket di log si trovano nella stessa località, puoi configurare una cartella o un'organizzazione che sia una risorsa padre per i bucket di log con una chiave Cloud KMS predefinita. La chiave predefinita del padre deve trovarsi nella stessa località dei bucket di log. Con questa configurazione, la chiave predefinita del padre cripta tutti i dati temporanei generati dalla query di Observability Analytics. Per saperne di più, consulta Limitazioni di Observability Analytics.

Messaggio di errore FROM clause must contain exactly one view

Inserisci una query SQL nel riquadro delle query della pagina Observability Analytics della console, ma il parser SQL visualizza il seguente errore: Google Cloud

FROM clause must contain exactly one log view

L'errore precedente viene segnalato quando la tabella specificata nell'istruzione FROM non può essere risolta in una visualizzazione del log specifica.

Per risolvere questo errore, assicurati che il nome della tabella abbia la sintassi corretta:

  • Assicurati che il nome della tabella segua la sintassi richiesta dallo schema di denominazione di Observability Analytics. BigQuery e Observability Analytics hanno requisiti diversi per il nome della tabella. Puoi trovare la sintassi richiesta per il nome della tabella visualizzando la query predefinita.

  • Se l' Google Cloud ID progetto, la regione, l'ID bucket o l'ID visualizzazione di un bucket di log contiene caratteri punto, (.), assicurati che ognuno di questi campi sia racchiuso tra virgolette singole, (`).

    Ad esempio, se un Google Cloud ID progetto è example.com:bluebird, per eseguire query sulla visualizzazione _AllLogs del bucket di log _Default, utilizza la seguente sintassi per specificare la tabella:

    
    SELECT *
    FROM `example.com:bluebird`.`global`.`_Default`.`_AllLogs`
    

    La query precedente presuppone che il bucket _Default si trovi nella regione global.

Impossibile salvare una query

Vuoi salvare la query corrente, quindi la esegui e poi fai clic su Salva ma l'opzione Salva query è disattivata o non riesci a completare i passaggi della finestra di dialogo.

La causa di questo errore è un conflitto tra una policy dell'organizzazione e le impostazioni predefinite delle risorse per Cloud Logging. Per un'organizzazione o una cartella, puoi configurare le impostazioni predefinite delle risorse per Cloud Logging che specificano una località. Questa località è dove vengono archiviate le query salvate. Tuttavia, se la località è in conflitto con una policy dell'organizzazione, le query non possono essere salvate.

Per risolvere questo errore, chiedi all'amministratore della tua organizzazione di aggiornare le impostazioni predefinite delle risorse per Cloud Logging in modo che la policy dell'organizzazione consenta l'impostazione della località. Per saperne di più, consulta Configurare le impostazioni predefinite delle risorse per Cloud Logging.

Se l'opzione Salva query è attivata, ma non riesci a completare la finestra di dialogo e a salvare la query, procedi nel seguente modo:

  1. Assicurati che la query non contenga errori di sintassi. Puoi salvare solo le query valide.
  2. (Facoltativo) Copia la query negli appunti.
  3. Ricarica la pagina.
  4. Se hai copiato la query negli appunti, incolla la query nel riquadro Query , esegui la query e poi esegui l'operazione di salvataggio.

Impossibile creare una vista analitica

Vuoi creare una vista analitica, quindi inserisci ed esegui una query SQL e poi fai clic su Salva , ma l'opzione Salva come vista analitica è disattivata.

Per risolvere questo problema, assicurati che i tuoi ruoli IAM includano le seguenti autorizzazioni:

  • observability.analyticsViews.{get, list, create, update, delete}

Queste autorizzazioni non sono incluse in alcun ruolo Cloud Logging predefinito. Per informazioni sui ruoli richiesti, consulta Creare ed eseguire query sulle viste analitiche: prima di iniziare.

Impossibile eseguire query su una vista analitica

Vuoi eseguire query sulla vista analitica, ma il riquadro Viste nella pagina Observability Analytics non mostra alcuna vista analitica.

Per risolvere questo errore, prova a eseguire le seguenti operazioni:

  • Assicurati che i tuoi ruoli IAM includano le seguenti autorizzazioni:

    • observability.analyticsViews.{get, list}

    Queste autorizzazioni non sono incluse in alcun ruolo Cloud Logging predefinito. Per informazioni sui ruoli richiesti, consulta Creare ed eseguire query sulle viste analitiche: prima di iniziare.

  • Assicurati che le viste analitiche esistano nel tuo Google Cloud progetto.

Accesso negato alla pagina Observability Analytics

Apri la pagina Observability Analytics nella Google Cloud console e viene visualizzato un messaggio di errore di autorizzazione negata.

Per ottenere le autorizzazioni necessarie per caricare la pagina Observability Analytics, eseguire query e visualizzare i log, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite ruoli personalizzati o ruoli predefiniti di Logging.

Le autorizzazioni necessarie per visualizzare le voci di log ed eseguire query nella pagina Observability Analytics sono le stesse necessarie per visualizzare i log nella pagina Esplora log. Per informazioni sui ruoli aggiuntivi necessari per eseguire query sulle visualizzazioni nei bucket definiti dall'utente o per eseguire query sulla visualizzazione _AllLogs del bucket di log _Default, consulta Ruoli di Cloud Logging.

L'upgrade del bucket di log per utilizzare Observability Analytics non riesce

Crea un bucket di log e seleziona l'opzione per utilizzare Observability Analytics oppure esegui l'upgrade di un bucket di log esistente per utilizzare Observability Analytics. L'upgrade non riesce e viene visualizzata una condizione di errore simile alla seguente:

Failed precondition (HTTP 400): Constraint "my-constraint" violated for PROJECT_ID  with location global.

Il messaggio di errore precedente indica che la tua organizzazione ha configurato una policy dell'organizzazione che limita le regioni che possono essere utilizzate. I bucket di log idonei per l'upgrade per l'utilizzo di Observability Analytics devono utilizzare la regione global. Se puoi rimuovere la policy dell'organizzazione che limita l'utilizzo della regione global, puoi eseguire l'upgrade del bucket di log. In caso contrario, non puoi eseguire l'upgrade dei bucket di log.

La creazione di un set di dati BigQuery collegato non riesce

Modifichi un bucket di log per creare un set di dati BigQuery collegato oppure crei un nuovo bucket di log e selezioni l'opzione per creare un set di dati BigQuery collegato; tuttavia, il set di dati BigQuery collegato non viene creato.

Per risolvere questo errore, chiedi all'amministratore di sistema del Google Cloud progetto di concederti un ruolo IAM che includa la seguente autorizzazione:

  • logging.links.create

L'autorizzazione precedente è inclusa nei ruoli Amministratore Logging (roles/logging.admin) e Writer di configurazione dei log (roles/logging.configWriter).

Per informazioni su ruoli e autorizzazioni, consulta Controllo dell'accesso con IAM.

L'eliminazione di un set di dati BigQuery collegato non riesce

Non vuoi più il set di dati BigQuery collegato, ma l'opzione per eliminare questo set di dati è disattivata.

Per risolvere questo errore, chiedi all'amministratore di sistema del Google Cloud progetto di concederti un ruolo IAM che includa la seguente autorizzazione:

  • logging.links.delete

L'autorizzazione precedente è inclusa nei ruoli Amministratore Logging (roles/logging.admin) e Writer di configurazione dei log (roles/logging.configWriter).

Questa autorizzazione ti consente di eliminare il set di dati BigQuery collegato da la pagina Archiviazione log della Google Cloud console. Per saperne di più su ruoli e autorizzazioni, consulta Controllo dell'accesso con IAM.

Observability Analytics mostra un avviso sui metadati sensibili

La pagina Observability Analytics mostra un messaggio simile al seguente:

This SQL query is configured to run on the BigQuery engine using [PROJECT_ID],
and references resources from [RESOURCE, ...]. Sensitive metadata,
including table contents, may be written to [PROJECT_ID].

Il messaggio di avviso indica che la query attraversa i limiti di proprietà e ti offre l'opportunità di verificare la query prima che venga eseguita. I limiti di proprietà sono determinati da diversi fattori, uno dei quali è la gerarchia delle risorse utilizzate dalla query.

Non puoi impedire la visualizzazione di questi tipi di avvisi.

Se la pagina Observability Analytics mostra una finestra di dialogo di avviso, puoi eseguire una delle seguenti operazioni:

  • Se sai che la query è sicura da eseguire e vuoi visualizzare i risultati della query, fai clic su Conferma ed esegui.

  • Analizza la query e, se necessario, eliminala. Ad esempio, potresti eseguire le seguenti operazioni:

    1. Ispeziona la query. Durante l'ispezione, considera i dati su cui viene eseguita la query, le dimensioni potenziali del set di dati su cui viene eseguita la query e il motore di query. Le query eseguite sul servizio BigQuery potrebbero comportare addebiti.
    2. Se ti è stato inviato un link alla pagina Observability Analytics, verifica che il mittente sia una fonte attendibile.

Google Cloud fornisce alcune funzionalità che possono contribuire a impedire l'esfiltrazione di dati tramite phishing, attacchi interni o entità esterne. Per saperne di più, consulta Sicurezza dei dati con Observability Analytics.

Impossibile impostare il motore di query su BigQuery

L'opzione BigQuery nel menu Impostazioni è disattivata.

Per attivare questa opzione, assicurati di avere un set di dati BigQuery collegato nel bucket di log su cui viene eseguita la query.

Il pulsante Esegui su BigQuery è disattivato

Se il pulsante Esegui su BigQuery viene visualizzato ma è disattivato, significa che una visualizzazione del log a cui fa riferimento la query non ha un set di dati BigQuery collegato. Per eseguire la query sul motore BigQuery, crea un set di dati BigQuery collegato nel tuo bucket di log.

Nessun service account Monitoring

Vuoi creare una criterio di avviso per monitorare i risultati di una query SQL. I passaggi di configurazione richiedono di concedere ruoli IAM al service account Monitoring, ma questo account non esiste.

Il service account Monitoring è chiamato service agent, perché viene creato e gestito da Google Cloud. L'account viene creato automaticamente quando configuri una risorsa o un servizio che lo richiede. Ad esempio, se crei un canale di notifica Pub/Sub, questa azione potrebbe causare la creazione del service account Monitoring.

Per creare il service account Monitoring e concedergli le autorizzazioni richieste per le policy di avviso basate su SQL:

  1. Crea il service account Monitoring. Per saperne di più, consulta Creare e concedere ruoli ai service agent.

  2. Concedi i seguenti ruoli al service account Monitoring:

Errore di autorizzazione negata per il service account Monitoring

Vuoi creare una criterio di avviso per monitorare i risultati di una query SQL. Tuttavia, viene visualizzato un errore PermissionDenied con un messaggio che inizia con Error authenticating service account.

Per risolvere questo errore, concedi i seguenti ruoli al service account Monitoring:

Nei risultati di Observability Analytics sono presenti voci di log duplicate

Esegui una query che conta o segnala le voci duplicate. Poiché Esplora log rimuove le voci duplicate in base al nome del log, al timestamp e all'ID inserimento, ti aspetti che Observability Analytics deduplichi le voci di log prima dell'esecuzione di una query.

Observability Analytics non esegue lo stesso tipo di deduplicazione eseguita da Esplora log.

Per risolvere il problema delle voci di log duplicate, prova a eseguire le seguenti operazioni:

  1. Determina se le voci di log duplicate hanno valori di timestamp di ricezione diversi. Quando i timestamp sono diversi, significa che gli stessi dati sono stati scritti in Logging più volte.

    Per risolvere il problema delle scritture duplicate, esamina l'integrazione di Logging per individuare messaggi di errore o configurazioni errate.

  2. Se il bucket è configurato per utilizzare le chiavi Cloud Key Management Service, assicurati di rientrare nella quota e che la chiave sia accessibile in modo coerente . Il superamento della quota o la perdita dell'accesso alla chiave può comportare la creazione di voci di log duplicate.

    Per risolvere questi errori, assicurati di non superare la quota e che la chiave sia accessibile.

  3. Modifica la query per rimuovere le voci di log duplicate.

    Supponiamo, ad esempio, che il payload JSON contenga fieldA e fieldB, il primo è una stringa e il secondo è numerico. Supponiamo anche che il payload JSON contenga un campo denominato server, che contiene una stringa. Considera quindi la seguente query:

    SELECT
      JSON_VALUE(json_payload.fieldA) AS fieldA
      SUM(IFNULL(SAFE_CAST(JSON_VALUE(json_payload.fieldB) AS INT64), 0)) AS sum_fieldB
    FROM
      `VIEW`
    WHERE
      JSON_VALUE(json_payload.server) = "test"
    GROUP BY
      fieldA;
    

    Puoi modificare la query per rimuovere le voci di log duplicate, in cui il nome del log, il timestamp e l'ID inserimento vengono esaminati per determinare se una voce di log è duplicata:

    WITH
      deduplicated AS (
      SELECT
        JSON_VALUE(json_payload.fieldA) AS fieldA
        IFNULL(SAFE_CAST(JSON_VALUE(json_payload.fieldB) AS INT64), 0) AS fieldB
      FROM
        `VIEW` a
      WHERE
        JSON_VALUE(json_payload.server) = "test"
      QUALIFY
        ROW_NUMBER() OVER (PARTITION BY a.log_name, a.timestamp, a.insert_id ) = 1 )
    
    SELECT
      fieldA,
      SUM(fieldB) AS sum_fieldB
    FROM
      deduplicated
    GROUP BY
      fieldA;