Monitoraggio dei log

Questo documento descrive come utilizzare Cloud Monitoring per osservare le tendenze nei dati di log e per ricevere notifiche quando si verificano le condizioni specificate. Per fornire a Cloud Monitoring i dati dei tuoi log, Logging supporta le seguenti funzionalità:

  • Puoi generare metriche personalizzate dalle voci di log. Queste metriche sono chiamate metriche basate su log. Puoi anche creare policy di avviso basate su metriche per ricevere una notifica quando una metrica basata su log soddisfa una condizione. Per maggiori informazioni, consulta Visualizzare i dati voce di log con le metriche basate su log.

  • Puoi utilizzare i criteri di avviso per monitorare, quasi in tempo reale, quando un messaggio viene visualizzato nelle voci di log. Queste policy di avviso sono chiamate policy di avviso basate su log. Per saperne di più, consulta Monitorare le singole voci di log per i messaggi.

  • Puoi scrivere una query SQL in Observability Analytics e creare una criterio di avviso che monitori i risultati della query. Queste policy di avviso sono chiamate policy di avviso basate su SQL. Per saperne di più, consulta Monitora i risultati delle query SQL.

    Le policy di avviso basate su SQL sono in anteprima pubblica.

Il resto di questo documento descrive le differenze tra queste tre policy di avviso e fornisce informazioni su autorizzazione, costi e limiti.

Visualizzare i dati voce di log con le metriche basate su log

Quando vuoi monitorare gli eventi ricorrenti nei dati di log nel tempo, utilizza le metriche basate sui log. Le metriche basate su log generano dati numerici dai dati di log e sono adatte quando vuoi eseguire una delle seguenti operazioni:

  • Conteggia le occorrenze di un messaggio, ad esempio un avviso o un errore, nei dati di log e ricevi una notifica quando il numero di occorrenze supera una soglia.
  • Osserva le tendenze nei tuoi dati, ad esempio i valori di latenza nei dati di log, e ricevi una notifica quando i valori cambiano in modo inaccettabile.
  • Crea grafici per visualizzare i dati numerici estratti.

Poiché le metriche basate su log generano dati numerici dai dati di log, puoi utilizzarle nelle policy di avviso e visualizzarli nei grafici. Per informazioni sulla creazione di policy di avviso e grafici per le metriche basate su log, consulta Configura le notifiche per le metriche basate su log.

Cloud Monitoring fornisce un insieme di metriche basate su log predefinite e puoi definirne di tue. Per visualizzare un elenco delle metriche basate su log definite dal sistema, fai clic sul seguente pulsante :

Metriche basate su log definite dall'utente

Puoi creare metriche basate su log per estrarre dati numerici dai dati di log. Le metriche basate su log definite dall'utente calcolano i valori dalle voci di log incluse ed escluse.

Per impostazione predefinita, le metriche basate su log definite dall'utente raccolgono dati da tutte le voci di log ricevute dal router dei log nel tuo progetto Google Cloud , ma puoi definire metriche basate su log che raccolgono dati dalle voci di log instradate a un bucket di log specifico.

Se definisci le tue metriche basate su log, potresti incorrere in addebiti. Per saperne di più sui costi associati all'importazione delle metriche, consulta Prezzi di Google Cloud Observability.

Monitora le singole voci di log per i messaggi

Quando vuoi ricevere una notifica ogni volta che si verifica un messaggio specifico in una voce di log, utilizza i criteri di avviso basati su log. Le policy di avviso basate su log sono utili per rilevare eventi relativi alla sicurezza nelle voci di log, come i seguenti:

  • Vuoi ricevere una notifica quando un evento viene visualizzato in un log di controllo; ad esempio, un utente umano accede alla chiave di sicurezza di un account di servizio.
  • La tua applicazione scrive i messaggi di deployment nei log e vuoi ricevere una notifica quando viene registrata una modifica al deployment.

Le policy di avviso basate sui log sono utili per gli eventi che prevedi siano rari e importanti. Non vuoi conoscere una tendenza o un pattern, ma vuoi sapere che si è verificato un evento.

Le policy di avviso basate su log sono definite in un progetto e analizzano una voce di log quando si verificano le seguenti condizioni:

  • La fatturazione è abilitata.
  • La voce di log proviene da un progetto.
  • I sink nel progetto in cui ha origine la voce di log o in un progetto a cui viene instradata la voce di log, instradano la voce di log a un bucket di log.

    Ad esempio, supponiamo che una voce di log abbia origine nel progetto A. Se un sink di log nel progetto A instrada la voce di log a un bucket di log, le policy di avviso basate su log definite nel progetto A analizzano la voce di log.

    Come secondo esempio, supponiamo che una voce di log abbia origine nel progetto X e che un sink di log nel progetto X indirizzi la voce di log al progetto Y. Se un sink nel progetto Y instrada la voce di log a un bucket di log, le policy di avviso basate su log definite nel progetto X e nel progetto Y analizzano la voce di log.

Non puoi utilizzare le policy di avviso basate su log per monitorare le voci di log provenienti da cartelle, account di fatturazione o organizzazioni o per monitorare le voci di log non archiviate nei bucket di log. Se crei sink aggregati, questi potrebbero intercettare una voce di log e impedirne il routing da parte dei sink nel progetto in cui ha origine la voce di log.

Per informazioni sulla creazione di policy di avviso basate su log, consulta Configura le policy di avviso basate su log.

Monitora i risultati delle query SQL

Puoi configurare policy di avviso che utilizzano Observability Analytics per eseguire query SQL sui dati voce di log. Questi tipi di policy di avviso sono efficaci quando vuoi ricevere notifiche in base a pattern che non possono essere valutati dalle policy di avviso basate sui log, come pattern complessi nelle voci di log o aggregazioni di dati di log. Per maggiori informazioni, consulta Monitorare i risultati delle query SQL con una policy di avviso.

Confronto delle opzioni di avviso

Questa sezione mette a confronto le policy di avviso basate su metriche basate su log, le policy di avviso basate su log e le policy di avviso basate su SQL.

Tabella riepilogativa

La tabella seguente riassume le tecniche di avviso e fornisce link a ulteriori informazioni:

Policy di avviso basate su metriche Policy di avviso basate su log Policy di avviso basate su SQL Ulteriori informazioni
Basate su metriche derivate dalle voci di log In base alle stringhe nelle singole voci di log In base alle tabelle restituite dalle query SQL sulle voci di log Metriche basate su log
Avvisi basati su log
Avvisi basati su SQL
Utilizzata per informarti sulle tendenze nel tempo Utilizzato per inviarti una notifica quando in un log viene visualizzato un messaggio specifico Utilizzato per avvisarti di un pattern in una finestra di voci di log Metriche basate su log
Avvisi basati su log
Avvisi basati su SQL
Calcolato da
  • Voci di log incluse (metriche basate su log definite dal sistema)
  • Voci di log incluse ed escluse (metriche basate su log definite dall'utente)
Trova corrispondenze solo con le voci di log incluse Calcolato dalle voci di log in una finestra scorrevole Voci di log disponibili
Avvisi basati su SQL
Operare sulle metriche di tutti i progetti nell'ambito delle metriche del progetto di definizione dell'ambito Agisci sulle voci di log che soddisfano le seguenti condizioni:
  • La voce di log ha origine nel progetto in cui è definita la policy.
  • I sink nel progetto in cui ha origine la voce di log o in un progetto a cui viene indirizzata la voce di log indirizzano la voce di log a un bucket di log.
Operare sulle visualizzazioni dei log accessibili tramite i set di dati BigQuery collegati. Questi set di dati possono trovarsi in qualsiasi progetto. Ambito delle metriche
Set di dati BigQuery collegati
L'avviso viene creato quando il valore di una metrica soddisfa una condizione per un periodo specificato L'avviso viene creato ogni volta che una voce di log specifica corrisponde a un filtro L'avviso viene creato quando la tabella dei risultati della query soddisfa una condizione Avvisi e notifiche
Create e gestite in Monitoraggio Creato in Logging;
gestito in Monitoring
Creato in Observability Analytics; gestito in Monitoring Creazione e gestione delle policy di avviso
Avvisi basati su SQL
Visualizzato in Monitoring Visualizzato in Monitoring Visualizzato in Monitoring Visualizzazione delle policy di avviso
Può utilizzare qualsiasi canale di notifica supportato in Monitoring Può utilizzare qualsiasi canale di notifica supportato in Monitoring Può utilizzare qualsiasi canale di notifica supportato in Monitoring Canali di notifica

Voci di log disponibili

Questa sezione descrive quali voci di log possono essere conteggiate da una metrica basata su log e quali possono essere monitorate da una criterio di avviso basata su log.

Voci di log che possono essere conteggiate dalle metriche basate su log

Le metriche basate su log definite dall'utente vengono calcolate da tutte le voci di log ricevute dall'API Logging per il progetto Google Cloud , indipendentemente dai filtri di inclusione o dai filtri di esclusione che potrebbero essere applicati al progetto Google Cloud . Se crei un criterio di avviso basato su una metrica basata su log definita dall'utente, il criterio monitora i dati di tutte le voci di log.

Le metriche basate su log definite dal sistema vengono calcolate solo dalle voci di log archiviate nei bucket di log nel progettoGoogle Cloud . Se un log è stato escluso esplicitamente, non viene incluso in queste metriche. Se crei unacriterio di avvisoo basata su una metrica basata su log definita dal sistema, la policy monitora i dati solo delle voci di log incluse.

Voci di log che possono essere monitorate dalle policy di avviso basate su log

Le policy di avviso basate su log sono definite in un progetto ed esaminano una voce di log quando si verificano le seguenti condizioni:

  • La fatturazione è abilitata.
  • La voce di log proviene da un progetto.
  • I sink nel progetto in cui ha origine la voce di log o in un progetto a cui viene instradata la voce di log, instradano la voce di log a un bucket di log.

    Ad esempio, supponiamo che una voce di log abbia origine nel progetto A. Se un sink di log nel progetto A instrada la voce di log a un bucket di log, le policy di avviso basate su log definite nel progetto A analizzano la voce di log.

    Come secondo esempio, supponiamo che una voce di log abbia origine nel progetto X e che un sink di log nel progetto X indirizzi la voce di log al progetto Y. Se un sink nel progetto Y instrada la voce di log a un bucket di log, le policy di avviso basate su log definite nel progetto X e nel progetto Y analizzano la voce di log.

Non puoi utilizzare criteri di avviso basati su log per monitorare le voci di log che hanno origine in cartelle, account di fatturazione o organizzazioni oppure per monitorare le voci di log che non sono archiviate nei bucket di log. Se crei sink aggregati, questi potrebbero intercettare una voce di log e impedirne il routing da parte dei sink nel progetto in cui ha origine la voce di log.

Voci di log che le policy di avviso basate su SQL possono monitorare

Le policy di avviso basate su SQL non hanno accesso ai singoli log. Queste policy eseguono invece query sui set di dati BigQuery collegati e poi monitorano il risultato della query. I set di dati BigQuery collegati forniscono l'accesso ai dati nelle visualizzazioni dei log.

Ogni visualizzazione di log si trova in un bucket di log. Puoi creare il set di dati BigQuery collegato per quel bucket di log dopo aver eseguito l'upgrade del bucket di log per utilizzare Observability Analytics.

Per saperne di più sulle policy di avviso basate su SQL, consulta Monitora i risultati delle query SQL con una policy di avviso.

Monitora le metriche in più progetti

Puoi monitorare le metriche di più progetti configurando un ambito delle metriche. Un ambito delle metriche elenca tutti i progetti e gli account che monitora. Un progetto di definizione dell'ambito ospita l'ambito delle metriche. Il progetto di definizione dell'ambito archivia le policy di avviso e altre configurazioni che crei per l'ambito delle metriche. Il progetto di definizione dell'ambito per un ambito delle metriche è il progetto selezionato dal selettore di progetti della console Google Cloud .

Le policy di avviso basate su metriche basate su log, come quelle basate su altre metriche, funzionano in tutti i progetti nell'ambito delle metriche del progetto di definizione dell'ambito.

L'ambito delle metriche non è pertinente per i criteri di avviso basati sulle voci di log, come i criteri basati su log e SQL.

Per ulteriori informazioni sugli ambiti delle metriche, inclusi gli ambiti delle metriche multiprogetto, e sui progetti di definizione dell'ambito, consulta quanto segue:

Avvisi e notifiche

Quando la condizione di una criterio di avviso viene soddisfatta, Monitoring apre un avviso e invia notifiche ai canali di notifica della criterio di avviso. Per visualizzare i dettagli dell'avviso, fai clic su Visualizza avviso nel messaggio di notifica o vai direttamente alla pagina Avvisi in Monitoring.

Avvisi per le policy di avviso basate su metriche

Le policy di avviso basate su metriche basate su log creano avvisi e notifiche come tutte le altre policy di avviso basate su metriche in Monitoring, come descritto in Comportamento degli avvisi. Per saperne di più sulla gestione degli avvisi per le policy di avviso basate su metriche, consulta Avvisi per le policy di avviso basate su metriche.

Avvisi per le policy di avviso basate su log

I contenuti di questa sezione si applicano solo alle policy di avviso basate sui log. Queste policy monitorano le singole voci di log. Non si applica alle policy di avviso che monitorano i dati delle metriche, incluse le metriche basate su log, o i risultati delle query SQL.

Quando Cloud Logging scrive la voce di log in un bucket di log, ogni criterio di avviso basata sui log analizza la voce di log. Se una voce di log corrisponde al filtro della criterio di avviso, Cloud Logging estrae le etichette e inoltra i dati a Cloud Monitoring.

Una volta ricevuti i dati da Cloud Logging, Cloud Monitoring utilizza le seguenti regole per determinare le azioni da intraprendere:

  • Se non sono presenti avvisi aperti per la criterio di avviso, Monitoring apre un nuovo avviso e invia una notifica.

    Quando sono disponibili etichette estratte, le informazioni identificative dell'avviso includono queste etichette.

  • Se esiste un avviso chiuso i cui valori delle etichette estratte corrispondono ai valori delle etichette estratte per la voce di log corrente, Monitoring riapre l'avviso chiuso o ne apre uno nuovo. Monitoring determina l'azione da intraprendere in base all'eliminazione o meno dell'avviso chiuso, che potrebbe richiedere fino a tre minuti.

  • Se è presente un avviso aperto i cui valori delle etichette corrispondono ai valori delle etichette estratte per la voce di log corrente, il sistema invia un'altra notifica o non esegue alcuna azione. Il comportamento del sistema dipende dal fatto che la criterio di avviso abbia superato o meno un limite di avvisi o notifiche.

Per ogni criterio di avviso basato su log, si applicano i seguenti limiti:

  • Un massimo di 20 avvisi al giorno per criterio di avviso basata su log.

    Quando questo limite viene raggiunto, la notifica include un'affermazione simile alla seguente: "È stato raggiunto il numero massimo di 20 avvisi giornalieri. Gli avvisi per questa norma riprenderanno entro le prossime 24 ore."

    Il limite giornaliero viene reimpostato in un momento casuale. Questo intervallo di ripristino non è configurabile dall'utente.

  • Un massimo di 2 nuovi avvisi al minuto percriterio di avvisoo basata su log.

    Quando una criterio di avviso basata su log estrae i valori delle etichette, questo limite potrebbe impedirti di ricevere le notifiche previste. Ad esempio, supponiamo che una criterio di avviso basata su log estragga un'etichetta con cinque valori possibili. In qualsiasi intervallo di un minuto, il sistema può aprire al massimo 2 avvisi.

  • L'intervallo minimo tra le notifiche ripetute per un avviso aperto è di 5 minuti. Puoi configurare questo intervallo quando crei o modifichi la criterio di avviso.

Gli avvisi si chiudono automaticamente quando il periodo di tempo specificato dalla durata di chiusura automatica trascorre, senza una ripetizione della causa dell' avviso. Per impostazione predefinita, la durata della chiusura automatica è di 7 giorni. A causa di eventi ricorrenti, l'avviso può rimanere aperto più a lungo della durata della chiusura automatica.

Per saperne di più sulla gestione degli avvisi per le policy di avviso basate su log, consulta Gestire gli avvisi per le policy di avviso basate su log.

Avvisi per le policy di avviso basate su SQL

Per le policy di avviso basate su SQL, Cloud Monitoring crea un avviso la prima volta che il risultato della query SQL soddisfa la condizione specificata nella policy. Ogni criterio di avvisoo ha un solo avviso aperto. Mentre l'avviso è aperto, se la condizione viene soddisfatta di nuovo, Monitoring non crea ulteriori avvisi né invia notifiche aggiuntive. Monitoring chiude gli avvisi basati su SQL dopo sette giorni, a meno che non configuri un periodo di chiusura degli avvisi più breve o non chiuda l'avviso autonomamente.

Per saperne di più sulla gestione degli avvisi per le policy di avviso basate su SQL, consulta Gestire gli avvisi per le policy di avviso basate su SQL.

Creazione e gestione delle policy di avviso

Puoi creare, modificare ed eliminare criteri di avviso basati su metriche basate su log in Cloud Monitoring, come qualsiasi altro criterio di avviso basato su metriche. Per saperne di più, consulta Gestione delle policy.

Puoi creare policy di avviso basate su log utilizzando Esplora log o l'API Cloud Monitoring. Puoi modificare ed eliminare le policy di avviso basate su log in Monitoring o con l'API Cloud Monitoring. Per saperne di più, consulta Gestione delle policy di avviso basate sui log.

Puoi creare policy di avviso basate su SQL utilizzando Observability Analytics o l'API Cloud Monitoring. Puoi modificare ed eliminare le policy di avviso basate su SQL in Monitoring o utilizzando l'API Cloud Monitoring. Per saperne di più, consulta Monitora i risultati delle query SQL con una policy di avviso.

Visualizzazione delle policy di avviso

La pagina Policy in Monitoring elenca tutte le policy di avviso nel tuo progetto Google Cloud . Questo elenco include policy che utilizzano metriche basate su log e policy di avviso basate su log.

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

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

  2. Seleziona Visualizza tutte le norme.

Le policy di avviso basate su log vengono visualizzate nell'elenco con il valore Logs nella colonna Tipo. Le policy di avviso basate su metriche, incluse quelle basate su log, vengono visualizzate nell'elenco con il valore Metrics nella colonna Tipo. Le policy di avviso basate su SQL vengono visualizzate nell'elenco con il valore SQL nella colonna Tipi. Lo screenshot seguente mostra un estratto di un elenco di policy:

Per visualizzare le policy di avviso per tipo, utilizza la colonna **Tipo** nell'elenco delle
policy di avviso.

Canali di notifica

Puoi inviare notifiche da qualsiasi tipo di criterio di avviso a qualsiasi canale di notifica supportato da Monitoring. Devi configurare questi canali prima di poterli utilizzare nelle policy di avviso.

Per saperne di più, consulta Gestione dei canali di notifica.

Requisiti di autorizzazione

L'utilizzo di metriche basate su log o criteri di avviso basati su log richiede l'autorizzazione sia per Cloud Logging che per Cloud Monitoring.

Limiti

Questa sezione elenca i limiti per le metriche basate sui log e per le norme di avviso. I limiti per le policy di avviso dipendono dal tipo di dati monitorati dalle policy.

Limiti per le metriche basate su log

Esistono limiti al numero e alla struttura delle metriche basate su log definite dall'utente. Per saperne di più su questi limiti, consulta Limiti per le metriche basate su log.

Limiti per le policy di avviso

Le prime due colonne della tabella seguente elencano una categoria e un valore limite. La terza colonna elenca i tipi di policy a cui si applica il limite:

  • Metrica:si applica alle policy di avviso che monitorano i dati delle metriche, incluse le metriche basate su log.
  • LBA: si applica alle policy di avviso che monitorano le voci di log. Queste policy sono chiamate policy di avviso basate su log.
  • SQL:si applica alle policy di avviso che monitorano il risultato di una query SQL.
  • Tutte:si applica a tutte le norme di avviso.
Categoria Valore Tipo di criterio
Policy di avviso (somma di metrica e log) per ambito delle metriche 1 2000 Metrica, LBA
Condizioni per criterio di avviso basata su metriche 6 Metrica
Condizioni per policy di avviso basata su SQL
(anteprima pubblica)
1 SQL
Tempo massimo di esecuzione della query per una
policy di avviso basata su SQL
(anteprima pubblica)
5 minuti SQL
Periodo di tempo massimo valutato da una condizione di assenza di metriche
2
1 giorno Metrica
Periodo di tempo massimo in cui viene valutata una condizione di soglia metrica
2
25 ore Metrica
Periodo di tempo massimo in cui viene valutata una
condizione PromQL
2 anni Metrica
Lunghezza massima del filtro utilizzato
in una condizione di soglia della metrica
2048 caratteri Unicode Metrica
Numero massimo di serie temporali
monitorate da una condizione di previsione
64 Metrica
Finestra di previsione minima 1 ora (3600 secondi) Metrica
Finestra di previsione massima 2,5 giorni (216.000 secondi) Metrica
Canali di notifica per criterio di avviso 16 Tutti
Numero massimo di nuovi avvisi
per criterio di avviso basata su log
20 avvisi al giorno LBA
Numero massimo di notifiche3
per criterio di avviso basata su log
20 notifiche al giorno LBA
Frequenza massima di nuovi avvisi
per criterio di avviso basata su log
2 nuovi avvisi al minuto LBA
Intervallo minimo tra le notifiche per un avviso aperto4
per criterio di avviso basata su log
5 minuti LBA
Numero massimo di policy di avviso attivate contemporaneamente
per progetto
80.000 Tutti
Numero massimo di avvisi aperti contemporaneamente
per criterio di avviso
1000 Tutti
Periodo dopo il quale un avviso senza nuovi dati viene
chiuso automaticamente
7 giorni Metrica, SQL
Durata massima di un avviso se non viene chiuso manualmente 7 giorni LBA
Conservazione degli avvisi chiusi 13 mesi Non applicabile
Conservazione degli avvisi aperti Indeterminato Non applicabile
Canali di notifica per ambito delle metriche 4000 Non applicabile
Numero massimo di policy di avviso per posticipo 16 Tutti
Conservazione di un posticipo 13 mesi Non applicabile
1Puoi richiedere di aumentare questo limite dal valore predefinito di 2000 policy per ambito delle metriche fino a 10.000 policy per ambito delle metriche.
2Il periodo di tempo massimo in cui una condizione viene valutata è la somma dei valori del periodo di allineamento e della finestra di durata. Ad esempio, se il periodo di allineamento è impostato su 15 ore e la finestra di durata è impostata su 15 ore, sono necessarie 30 ore di dati per valutare la condizione.
3Monitoring genera notifiche per un avviso aperto quando trascorre il tempo minimo tra le notifiche e una voce di log corrisponde alle etichette dell'avviso. Se un criterio di avviso basato su log viene posticipato quando Monitoring genera una notifica, la notifica viene eliminata e non viene inviata ai canali di notifica del criterio. In caso contrario, Monitoring invia la notifica ai canali di notifica della criterio di avviso. Tutte le notifiche generate da Monitoring vengono conteggiate ai fini del limite di 20 notifiche al giorno della criterio di avviso.
4Se la query della criterio di avviso basata su log estrae etichette, ogni combinazione di valori delle etichette estratte rappresenta la propria sequenza temporale di avviso. Pertanto, puoi ricevere più notifiche entro 5 minuti.

Prezzi

Per informazioni sui prezzi di Cloud Logging, consulta la pagina Prezzi di Google Cloud Observability.