Risolvere i problemi di routing e archiviazione dei log

Questo documento spiega i problemi comuni di routing e archiviazione e come utilizzare la consoleTrusted Cloud per visualizzare e risolvere i problemi relativi a errori di configurazione o risultati imprevisti.

Per informazioni generali sulla visualizzazione dei dati di log, vedi Visualizzare i log nelle destinazioni sink.

Risolvere i problemi di routing dei log

Questa sezione descrive come risolvere i problemi comuni durante il routing delle voci di log.

La destinazione contiene voci di log indesiderate

Visualizzi le voci di log indirizzate a una destinazione e determini che la destinazione contiene voci di log indesiderate.

Per risolvere questo problema, aggiorna i filtri di esclusione per i sink che indirizzano le voci di log alla destinazione. I filtri di esclusione ti consentono di escludere le voci di log selezionate dal routing verso una destinazione.

Ad esempio, supponi di creare un sink aggregato per indirizzare le voci di log in un'organizzazione a una destinazione. Per escludere le voci di log di un progetto specifico dal routing alla destinazione, aggiungi il seguente filtro di esclusione al sink:

logName:projects/PROJECT_ID

Puoi anche escludere le voci di log da più progetti utilizzando l'operatore logico OR per unire le clausole logName.

Nella destinazione mancano voci di log

Forse il problema più comune relativo ai sink è che le voci di log sembrano mancare dalla destinazione di un sink.

In alcuni casi, non viene generato un errore, ma potresti notare che le voci di log non sono disponibili quando tenti di accedervi nella destinazione. Se sospetti che il sink non indirizzi correttamente le voci di log, controlla le metriche basate sui log di sistema del sink:

  • exports/byte_count: numero di byte nelle voci di log di cui è stato eseguito il routing.
  • exports/log_entry_count: numero di voci di log instradate.
  • exports/error_count: numero di voci di log il cui routing non è riuscito.

Le metriche hanno etichette che registrano i conteggi in base al nome del sink e della destinazione e ti informano se il sink esegue il routing delle voci di log correttamente o meno.

Se le metriche del sink indicano che non sta funzionando come previsto, ecco alcuni possibili motivi e cosa fare al riguardo:

Latenza

  • Non sono state ricevute voci di log corrispondenti da quando hai creato o aggiornato il sink; vengono indirizzate solo le nuove voci di log.

    Prova ad attendere un'ora e controlla di nuovo la destinazione.

  • Le voci di log corrispondenti arrivano in ritardo.

    Potrebbe verificarsi un ritardo prima che tu possa visualizzare le voci di log nella destinazione. Prova ad attendere qualche ora e controlla di nuovo la destinazione.

L'ambito/il filtro di visualizzazione non è corretto

Errore nel filtro sink

  • Il filtro del sink non è corretto e non acquisisce le voci di log che ti aspettavi di vedere nella destinazione.

    Modifica il filtro del sink utilizzando il router dei log nella console Trusted Cloud . Per verificare di aver inserito il filtro corretto, seleziona Anteprima dei log nel riquadro Modifica sink. Si apre Esplora log in una nuova scheda con il filtro precompilato. Per istruzioni su come visualizzare e gestire i sink, vedi Gestire i sink.

Visualizza errori

Per ciascuna delle destinazioni sink supportate, Logging fornisce messaggi di errore per i sink configurati in modo errato.

Esistono diversi modi per visualizzare questi errori relativi al sink. Questi metodi sono descritti nelle sezioni seguenti:

  • Visualizza i log degli errori generati per il sink.
  • Ricevi notifiche di errore del lavello via email. Il mittente di questa email è logging-noreply@google.com.

Log degli errori

Il metodo consigliato per esaminare in dettaglio gli errori relativi al sink è visualizzare le voci del log degli errori generate dal sink. Per informazioni dettagliate sulla visualizzazione delle voci di log, vedi Visualizzare i log utilizzando Esplora log.

Puoi utilizzare la seguente query nel riquadro dell'editor di query in Esplora log per esaminare i log degli errori del sink. La stessa query funziona nell'API Logging e in gcloud CLI.

Prima di copiare la query, sostituisci la variabile SINK_NAME con il nome del sink per cui stai cercando di risolvere il problema. Puoi trovare il nome del sink nella pagina Router dei log della console Trusted Cloud .

logName:"logging.googleapis.com%2Fsink_error"
resource.type="logging_sink"
resource.labels.name="SINK_NAME"

Ad esempio, se il nome del sink è my-sink-123, la voce di log potrebbe avere un aspetto simile al seguente:

{
   errorGroups: [
   0: {
   id: "COXu96aNws6BiQE"
   }]
   insertId: "170up6jan"
   labels: {
      activity_type_name: "LoggingSinkConfigErrorV2"
      destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
      error_code: "topic_not_found"
      error_detail: ""
      sink_id: "my-sink-123"
   }
   logName: "projects/my-project/logs/logging.googleapis.com%2Fsink_error"
   receiveTimestamp: "2024-07-11T14:41:42.578823830Z"
   resource: {
   labels: {
      destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
      name: "my-sink-123"
      project_id: "my-project"
   }
   type: "logging_sink"
   }
   severity: "ERROR"
   textPayload: "Cloud Logging sink configuration error in my-project, sink my-sink-123: topic_not_found ()"
   timestamp: "2024-07-11T14:41:41.296157014Z"
}

Il campo LogEntry labels e le relative informazioni chiave-valore nidificate ti aiutano a individuare l'origine dell'errore del sink. Contiene la risorsa interessata, il sink interessato e il codice di errore. Il campo labels.error_code contiene una descrizione abbreviata dell'errore, che indica quale componente del sink deve essere riconfigurato.

Per risolvere questo errore, modifica il sink. Ad esempio, puoi modificare il sink utilizzando la pagina Router dei log:

Vai a Router dei log

Notifiche via email

Contatti essenziali invia notifiche via email di errore di configurazione del sink ai contatti assegnati alla categoria di notifica tecnica per un progetto Trusted Cloud o la relativa risorsa padre. Se la risorsa non ha un contatto configurato per le notifiche tecniche, gli utenti elencati come proprietario del progetto IAM roles/owner per la risorsa ricevono la notifica via email.

Il messaggio email contiene le seguenti informazioni:

  • ID risorsa: il nome del Trusted Cloud progetto o di un'altra Trusted Cloud risorsa in cui è stato configurato il sink.
  • Nome sink: il nome del sink che contiene l'errore di configurazione.
  • Destinazione sink: il percorso completo della destinazione di routing del sink; ad esempio, pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
  • Codice di errore: descrizione abbreviata della categoria di errore, ad esempio topic_not_found.
  • Dettagli dell'errore: informazioni dettagliate sull'errore, inclusi consigli per la risoluzione del problema sottostante.

Il mittente di questa email è logging-noreply@google.com.

Per visualizzare e gestire i sink, utilizza la pagina Router dei log:

Vai a Router dei log

Gli eventuali errori di configurazione del sink che si applicano alla risorsa vengono visualizzati nell'elenco come un Cloud Logging sink configuration error. Ogni errore contiene un link a una delle voci di log generate dal sink difettoso. Per esaminare in dettaglio gli errori sottostanti, consulta la sezione Log degli errori.

Tipi di errori del sink

Le sezioni seguenti descrivono le categorie generali di errori relativi al sink e come risolverli.

Destinazione errata

Se configuri un sink, ma poi visualizzi un errore di configurazione che indica che la destinazione non è stata trovata quando Logging ha tentato di instradare le voci di log, ecco alcuni possibili motivi:

  • La configurazione del sink contiene un errore ortografico o un altro errore di formattazione nella destinazione del sink specificata.

    Devi aggiornare la configurazione del sink per specificare correttamente la destinazione esistente.

  • La destinazione specificata potrebbe essere stata eliminata.

    Puoi modificare la configurazione del sink per utilizzare una destinazione diversa esistente o ricreare la destinazione con lo stesso nome.

Per risolvere questi tipi di errori, modifica il sink. Ad esempio, puoi modificare il sink utilizzando la pagina Router dei log:

Vai a Router dei log

Il sink inizia a instradare le voci di log quando viene trovata la destinazione e Logging riceve nuove voci di log che corrispondono al filtro.

Gestione dei problemi relativi ai sink

Se hai disattivato un sink per interrompere l'archiviazione delle voci di log in un bucket di log, ma continui a vedere il routing delle voci di log, attendi qualche minuto affinché le modifiche al sink vengano applicate.

Problemi di autorizzazione

Quando un sink tenta di instradare una voce di log, ma non dispone delle autorizzazioni IAM appropriate per la destinazione del sink, il sink segnala un errore, che puoi visualizzare, e ignora la voce di log.

Quando crei un sink, al account di servizio del sink devono essere concesse le autorizzazioni di destinazione appropriate. Se crei il sink nella console Trusted Cloud nello stesso progettoTrusted Cloud , la console Trusted Cloud in genere assegna automaticamente queste autorizzazioni. Tuttavia, se crei il sink in un progettoTrusted Cloud diverso o utilizzando gcloud CLI o l'API Logging, devi configurare le autorizzazioni manualmente.

Se visualizzi errori relativi alle autorizzazioni per il sink, aggiungi le autorizzazioni necessarie o aggiorna il sink per utilizzare una destinazione diversa. Per istruzioni su come aggiornare queste autorizzazioni, vedi Autorizzazioni di destinazione.

Si verifica un leggero ritardo tra la creazione del sink e l'utilizzo del nuovo account di servizio del sink per autorizzare la scrittura nella destinazione. Il sink inizia a instradare le voci di log quando vengono corretti i permessi e Logging riceve nuove voci di log che corrispondono al filtro.

Problemi relativi alle policy dell'organizzazione

Se stai tentando di instradare una voce di log, ma riscontri un criterio dell'organizzazione che impedisce a Logging di scrivere nella destinazione del sink, allora il sink non può instradare alla destinazione selezionata e segnala un errore.

Se vengono visualizzati errori relativi alle norme dell'organizzazione, puoi procedere nel seguente modo:

  • Aggiorna il criterio dell'organizzazione per la destinazione per rimuovere i vincoli che impediscono al sink di eseguire il routing delle voci di log. Ciò presuppone che tu disponga delle autorizzazioni appropriate per aggiornare il criterio dell'organizzazione.

    Potresti verificare se esiste una limitazione relativa alla località delle risorse (constraints/gcp.resourceLocations). Questo vincolo determina le località in cui è possibile archiviare i dati. Inoltre, alcuni servizi supportano vincoli che potrebbero influire su un sink di log. Ad esempio, esistono diverse limitazioni che potrebbero essere applicate quando viene selezionata una destinazione Pub/Sub. Per un elenco dei possibili vincoli, consulta la pagina Vincoli delle policy dell'organizzazione.

    Per le istruzioni, vedi Creare e modificare le norme.

  • Se non riesci ad aggiornare i criteri dell'organizzazione, aggiorna il sink nella pagina Log Router per utilizzare una destinazione conforme.

    Vai a Router dei log

Il sink inizia a instradare le voci di log quando i criteri dell'organizzazione non impediscono più al sink di scrivere nella destinazione e Logging riceve nuove voci di log che corrispondono al filtro.

Problemi con la chiave di crittografia

Se utilizzi chiavi di crittografia, gestite con Cloud Key Management Service o da te, per criptare i dati nella destinazione del sink, potresti visualizzare errori correlati. Ecco alcuni possibili problemi e modi per risolverli:

  • Impossibile trovare la chiave Cloud KMS.

    • Il Trusted Cloud progetto che contiene la chiave Cloud KMS configurata per criptare i dati non è stato trovato.

    • Utilizza una chiave Cloud KMS valida di un progettoTrusted Cloud esistente.

  • La posizione della chiave Cloud KMS non corrisponde a quella della destinazione.

    • Se il Trusted Cloud progetto che contiene la chiave Cloud KMS si trova in una regione diversa da quella della destinazione, la criptografia non riesce e il sink non può instradare i dati a quella destinazione.

    • Utilizza una chiave Cloud KMS contenuta in un progetto Trusted Cloud la cui regione corrisponde alla destinazione del sink.

  • L'accesso alla chiave di crittografia è negato al account di servizio del sink.

    • Anche se il sink è stato creato correttamente con le autorizzazioni dell'account di servizio corrette, questo messaggio di errore viene visualizzato se la destinazione del sink utilizza una chiave di crittografia che non concede all'account di servizio autorizzazioni sufficienti per criptare o decriptare i dati.

    • Concedi il ruolo Autore crittografia/decrittografia CryptoKey di Cloud KMS per l'account di servizio specificato nel campo writerIdentity del sink per la chiave utilizzata nella destinazione. Verifica inoltre che l'API Cloud KMS sia abilitata.

Problemi relativi alle quote

Quando i sink scrivono voci di log, le quote specifiche per la destinazione vengono applicate ai progettiTrusted Cloud in cui sono stati creati i sink. Se le quote sono esaurite, il sink smette di instradare le voci di log alla destinazione.

Ad esempio, il sink potrebbe instradare troppe voci di log troppo rapidamente.

Per risolvere i problemi di esaurimento della quota, riduci la quantità di dati di log instradati aggiornando il filtro del sink in modo che trovi meno corrispondenze per le voci di log. Puoi utilizzare la funzione sample nel filtro per selezionare una frazione del numero totale di voci di log.

Quando la quota è disponibile, il sink esegue il routing delle voci di log alla destinazione del sink.

Per informazioni dettagliate sui limiti che potrebbero essere applicati quando indirizzi le voci di log, consulta le informazioni sulle quote della destinazione appropriata:

Oltre ai tipi di errori di destinazione generali, ecco i tipi di errori specifici della destinazione più comuni e come risolverli.

Errori di routing ai bucket Cloud Logging

Potresti riscontrare una situazione in cui puoi visualizzare le voci di log in Esplora log che hai escluso con il sink. Puoi comunque visualizzare queste voci di log se si verifica una delle seguenti condizioni:

  • Stai eseguendo la query nel progetto Trusted Cloud che ha generato le voci di log.

    Per risolvere il problema, verifica di eseguire la query nelTrusted Cloud progetto corretto.

  • Le voci di log escluse sono state inviate a più bucket di log. Stai visualizzando una copia dello stesso log che intendevi escludere.

    Per risolvere il problema, controlla i sink nella pagina Router dei log per verificare di non includere le voci di log nei filtri di altri sink.

  • Hai accesso alle visualizzazioni nel bucket di log in cui sono state inviate le voci di log. In questo caso, puoi visualizzare queste voci di log per impostazione predefinita.

    Per evitare di visualizzare queste voci di log in Esplora log, puoi perfezionare l'ambito della ricerca in base al progetto o al bucket di origine Trusted Cloud .

Risolvere i problemi di archiviazione dei log

Perché non riesco a eliminare questo bucket?

Se stai tentando di eliminare un bucket:

Quali service account eseguono il routing dei log al mio bucket?

Per determinare se alcuni service account dispongono delle autorizzazioni IAM per instradare i log al tuo bucket, procedi nel seguente modo:

  1. Nella console Trusted Cloud , vai alla pagina IAM:

    Vai a IAM

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e amministrazione.

  2. Nella scheda Autorizzazioni, visualizza i dati per Ruoli. Viene visualizzata una tabella con tutti i ruoli IAM e le entità associati al tuo progettoTrusted Cloud .

  3. Nella casella di testo Filtro della tabella, inserisci Logs Bucket Writer.

    Vengono visualizzate tutte le entità con il ruolo Writer bucket log. Se un'entità è un account di servizio, il suo ID contiene la stringa s3ns-system.iam.gserviceaccount.com.

  4. (Facoltativo) Se vuoi impedire a un account di servizio di instradare i log al tuo progetto Trusted Cloud , seleziona la casella di controllo per il account di servizio e fai clic su Rimuovi.

Perché vedo i log per un progetto Trusted Cloud anche se li ho esclusi dal mio sink _Default?

Potresti visualizzare i log in un bucket di log in un progetto centralizzato, che aggrega i log di tutta l'organizzazione. Trusted Cloud

Se utilizzi Esplora log per accedere a questi log e visualizzare i log che hai escluso dal sink _Default, la visualizzazione potrebbe essere impostata a livello di progettoTrusted Cloud .

Per risolvere il problema, seleziona Visualizzazione log nel menu Definisci ambito e poi seleziona la visualizzazione log associata al bucket _Default nel tuo progettoTrusted Cloud . Non dovresti più visualizzare i log esclusi.