Questo documento spiega i problemi comuni di routing e archiviazione e come utilizzare la consoleCloud de Confiance per visualizzare e risolvere i problemi relativi a errori di configurazione o risultati imprevisti.
Per informazioni generali sulla visualizzazione dei dati di log, vedi Visualizza 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 creazione di un sink non riesce a causa di un errore sconosciuto del servizio
Tentativo di creare un sink di log, ma il comando non riesce con un errore
INVALID_ARGUMENT (HTTP 400). Il messaggio di errore include quanto segue:
Sink.destination with unknown service name: [SERVICE_DOMAIN]. Supported services are bigquery.googleapis.com,pubsub.googleapis.com,storage.googleapis.com,logging.googleapis.com
Per risolvere questo errore, utilizza l'endpoint globale per uno dei servizi supportati. Una destinazione sink di log non può specificare un
endpoint di servizio regionale (REP),
come pubsub.LOCATION.rep.googleapis.com.
Il messaggio di errore di configurazione del sink indica che una regione dell'argomento non è consentita
Si verifica uno dei seguenti casi:
Ricevi un'email con oggetto
[ACTION REQUIRED] Cloud Logging sink configuration error in [PROJECT_ID]e il codice di erroretopic_region_not_allowed. L'email include un messaggio simile al seguente:La policy di archiviazione dei messaggi dell'argomento richiede l'applicazione in transito, ma la richiesta di pubblicazione è stata ricevuta da un server Pub/Sub in una regione non consentita. Pubblica tramite un endpoint Cloud Logging regionale corrispondente a una regione consentita oppure aggiorna il criterio di archiviazione dei messaggi dell'argomento.
Noti voci di log con un livello di gravità
ERROR, un codice di errore"topic_region_not_allowed"e un payload di testo simile al seguente:Cloud Logging sink configuration error in [PROJECT_ID], sink [SINK_NAME]: topic_region_not_allowed ()
Questi messaggi indicano che la destinazione del sink è un
argomento Pub/Sub che applica restrizioni in transito e che
la registrazione delle voci di log instradate da una regione non consentita dai
criteri dell'argomento. Le limitazioni in transito possono essere configurate in base alla policy di archiviazione dei messaggi di un singolo
argomento o applicate a livello di organizzazione utilizzando il vincolo della policy dell'organizzazioneconstraints/pubsub.enforceInTransitRegions.
Per risolvere questi errori, esegui una delle seguenti operazioni:
- Aggiorna il criterio di archiviazione dei messaggi dell'argomento Pub/Sub di destinazione per disattivare l'applicazione in transito o espandere le regioni di persistenza consentite.
- Se le restrizioni in transito vengono applicate da un criterio dell'organizzazione, aggiorna il criterio dell'organizzazione o richiedi un'esenzione per il progetto.
- Aggiorna il sink per instradare le voci di log a una destinazione diversa.
La destinazione contiene voci di log indesiderate
Visualizzi le voci di log instradate a una destinazione e determini che la destinazione contiene voci di log indesiderate.
Per risolvere questa condizione, 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, supponiamo 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 provi ad 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 consentono di sapere se il sink indirizza le 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
L'ambito che utilizzi per visualizzare le voci di log archiviate in un bucket di log non è corretto.
Limita la ricerca a una o più visualizzazioni log nel seguente modo:
Se utilizzi Esplora log, utilizza il pulsante Perfeziona ambito.
Se utilizzi gcloud CLI, utilizza il comando
gcloud logging reade aggiungi un flag--view=AllLogs.
L'intervallo di tempo che utilizzi per selezionare e visualizzare i dati nella destinazione sink è troppo ristretto.
Prova ad ampliare l'intervallo di tempo che utilizzi quando selezioni i dati nella destinazione sink.
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 Cloud de Confiance . 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 Gestisci 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 lavello. Questi metodi sono descritti nelle sezioni seguenti:
- Visualizza i log degli errori generati per il sink.
Ricevere notifiche di errore del sink via email.
Il mittente di questa email è
logging-noreply@google.com. L'oggetto è simile a[ACTION REQUIRED] Cloud Logging sink configuration error.
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 Visualizza 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 Cloud de Confiance .
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 essere simile alla 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 coppia 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:
Notifiche via email
Contatti fondamentali invia notifiche via email di errore di configurazione del sink ai contatti assegnati alla categoria di notifica tecnica per un progetto Cloud de Confiance o la relativa risorsa padre.
Se la risorsa non ha un contatto configurato per le notifiche tecniche, gli utenti elencati come Project Owner roles/owner per la risorsa ricevono la notifica via email.
Per ogni combinazione di nome del sink di log ed errore, il sistema invia una notifica al giorno.
Il messaggio email contiene le seguenti informazioni:
- ID risorsa: il nome del progetto Cloud de Confiance o di un'altra risorsaCloud de Confiance in cui è stato configurato il sink.
- Sink name (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.
L'oggetto è simile a: Subject: [ACTION REQUIRED] Cloud Logging sink configuration error in my-project
Per visualizzare e gestire i sink, utilizza la pagina 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.
Destinazione sink 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:
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.
Problemi relativi al sink disattivato
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 alcuni minuti prima che le modifiche al sink vengano applicate.
Problemi di autorizzazione con i sink
Quando un sink tenta di eseguire il routing di 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 Cloud de Confiance nello stesso progettoCloud de Confiance , la console Cloud de Confiance in genere assegna automaticamente queste autorizzazioni. Tuttavia, se crei il sink in un progettoCloud de Confiance 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 in modo che utilizzi 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 ai criteri organizzativi con i sink
Se provi a instradare una voce di log, ma riscontri una norma 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 ai criteri dell'organizzazione, puoi procedere nel seguente modo:
Aggiorna la policy dell'organizzazione per la destinazione per rimuovere i vincoli che impediscono al sink di instradare le voci di log. Ciò presuppone che tu disponga delle autorizzazioni appropriate per aggiornare la policy dell'organizzazione.
Potresti verificare se esiste una limitazione della località della risorsa (
constraints/gcp.resourceLocations). Questo vincolo determina le località in cui possono essere archiviati 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 Vincoli delle policy dell'organizzazione.Per le istruzioni, vedi Creare e modificare le policy.
Se non riesci ad aggiornare la policy dell'organizzazione, aggiorna il sink nella pagina Router dei log per utilizzare una destinazione conforme.
Il sink inizia a instradare le voci di log quando il criterio dell'organizzazione non impedisce più al sink di scrivere nella destinazione e Logging riceve nuove voci di log che corrispondono al filtro.
Problemi relativi alle chiavi di crittografia con i sink
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 Cloud de Confiance progetto che contiene la chiave Cloud KMS configurata per criptare i dati non è stato trovato.
Utilizza una chiave Cloud KMS valida di un progettoCloud de Confiance esistente.
La posizione della chiave Cloud KMS non corrisponde a quella della destinazione.
Se il Cloud de Confiance progetto che contiene la chiave Cloud KMS si trova in una regione diversa da quella della destinazione, la crittografia non va a buon fine e il sink non può instradare i dati a quella destinazione.
Utilizza una chiave Cloud KMS contenuta in un progetto Cloud de Confiance 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 Cloud KMS per il account di servizio specificato nel campo
writerIdentitydel sink per la chiave utilizzata nella destinazione. Verifica inoltre che l'API Cloud KMS sia abilitata.
Problemi relativi alle quote con i lavandini
Quando i sink scrivono le voci di log, si applicano le quote di esportazione e di destinazione. A seconda della destinazione, le quote vengono applicate alla risorsa in cui è stato creato il sink, ad esempio per Pub/Sub, o alla destinazione stessa, ad esempio per BigQuery. Se la quota è esaurita, un sink interrompe il routing delle voci di log alla destinazione.
- I sink che indirizzano le voci di log a un argomento Pub/Sub sono limitati
a 60 GB/min. Se il volume delle voci di log
supera la quota della velocità di esportazione, viene scritta una voce di log con un codice di errore
topic_over_quota.
Le quote si applicano anche ai sink aggregati. Questi sink indirizzano le voci di log per la cartella o l'organizzazione in cui sono stati creati e per le risorse secondarie.
Per risolvere i problemi di esaurimento della quota, prova quanto segue:
Riduci la quantità di dati di log instradati aggiornando il filtro del sink in modo che corrisponda a un numero inferiore di voci di log. Puoi utilizzare la funzione
samplenel filtro per selezionare una frazione del numero totale di voci di log.Invia una richiesta di assistenza per aumentare la quota.
Per informazioni dettagliate sui limiti che potrebbero essere applicati quando indirizzi le voci di log, consulta le informazioni sulle quote della destinazione appropriata:
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 Cloud de Confiance che ha generato le voci di log.
Per risolvere il problema, verifica di eseguire la query nelCloud de Confiance 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 Cloud de Confiance .
Risolvi i problemi di archiviazione dei log
Perché non riesco a eliminare questo bucket?
Se stai tentando di eliminare un bucket:
Verifica di disporre delle autorizzazioni corrette per eliminare il bucket. Per l'elenco delle autorizzazioni necessarie, consulta Controllo dell'accesso con IAM.
Determina se il bucket è bloccato elencando gli attributi del bucket. Se il bucket è bloccato, controlla il periodo di conservazione. Non puoi eliminare un bucket bloccato finché tutti i log nel bucket non hanno soddisfatto il periodo di conservazione del bucket.
Quali service account eseguono il routing dei log nel mio bucket?
Per determinare se alcuni service account dispongono delle autorizzazioni IAM per instradare i log al tuo bucket, procedi nel seguente modo:
-
Nella console Cloud de Confiance vai alla pagina IAM:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e amministrazione.
Nella scheda Autorizzazioni, visualizza per Ruoli. Viene visualizzata una tabella con tutti i ruoli e le entità IAM associati al tuo progettoCloud de Confiance .
Nella casella di testo Filtro filter_list della tabella, inserisci Writer bucket log.
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.(Facoltativo) Se vuoi impedire a un account di servizio di instradare i log al tuo progetto Cloud de Confiance , seleziona la casella di controllo check_box_outline_blank per il account di servizio e fai clic su Rimuovi.
Perché vedo i log per un progetto Cloud de Confiance anche se l'ho escluso dal mio sink _Default?
Potresti visualizzare i log in un bucket di log in un progetto centralizzato Cloud de Confiance , che aggrega i log di tutta l'organizzazione.
Se utilizzi Esplora log per accedere a questi log e visualizzare i log che hai
escluso dal sink _Default, la visualizzazione potrebbe essere impostata sul
livello di progettoCloud de Confiance .
Per risolvere il problema, seleziona Visualizzazione log nel menu
Definisci ambito
e poi seleziona la visualizzazione log associata al bucket _Default nel tuo
progettoCloud de Confiance . Non dovresti più vedere i log esclusi.