Monitoraggio dei log

Questo documento descrive come utilizzare Cloud Monitoring per osservare le tendenze nei dati dei log e per ricevere una notifica quando si verificano le condizioni descritte. Per fornire a Cloud Monitoring i dati dei 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 criteri di avviso basati su metriche per ricevere una notifica quando una metrica basata su log soddisfa una condizione. Per ulteriori informazioni, consulta la sezione 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 del log. Questi criteri di avviso sono chiamati criteri di avviso basati su log. Per ulteriori informazioni, consulta Monitorare le singole voci di log per i messaggi.

  • Puoi scrivere una query SQL in Log Analytics e creare un criterio di avviso che monitora i risultati della query. Questi criteri di avviso sono chiamati criteri di avviso basati su SQL. Per ulteriori informazioni, consulta Monitorare i risultati delle query SQL.

    I criteri di avviso basati su SQL sono in anteprima pubblica.

La parte rimanente di questo documento descrive le differenze tra questi tre criteri 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 dei log nel tempo, utilizza le metriche basate su log. Le metriche basate su log generano dati numerici dai dati di log e sono adatte quando vuoi eseguire una delle seguenti operazioni:

  • Conta 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 dei log, e ricevi una notifica quando i valori cambiano in modo inaccettabile.
  • Crea grafici per visualizzare i dati numerici estratti.

Poiché le metriche basate sui log generano dati numerici dai dati di log, puoi utilizzare queste metriche nei criteri di avviso e visualizzarle nei grafici. Per informazioni sulla creazione di criteri di avviso e grafici per le metriche basate su log, consulta Configurare 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 i dati numerici dai dati dei log. Le metriche basate su log definite dall'utente calcolano i valori sia dalle voci di log incluse sia da quelle escluse.

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

Se definisci le tue metriche basate su log, potresti incorrere in addebiti. Per ulteriori informazioni sui costi associati all'importazione delle metriche, consulta Metriche addebitabili.

Monitorare le singole voci dei log per i messaggi

Quando vuoi ricevere una notifica ogni volta che viene visualizzato un messaggio specifico in una voce di log, utilizza i criteri di avviso basati su log. I criteri di avviso basati su log sono utili per rilevare eventi correlati alla sicurezza nelle voci dei log, come i seguenti:

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

I criteri di avviso basati su log sono utili per gli eventi che prevedi essere singolari e importanti. Non vuoi conoscere una tendenza o un modello, ma vuoi sapere che è successo qualcosa.

I criteri di avviso basati su log sono definiti in un progetto e analizzano una voce di log quando le seguenti condizioni sono vere:

  • La fatturazione è abilitata.
  • La voce di log ha origine in 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 provenga dal progetto A. Se un sink di log nel progetto A instrada la voce di log a un bucket di log, le norme di avviso basate su log definite nel progetto A eseguono la scansione della voce di log.

    Come secondo esempio, supponiamo che una voce di log provenga dal 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 norme di avviso basate su log definite nel progetto X e nel progetto Y eseguono la scansione della voce di log.

Non puoi utilizzare i criteri di avviso basati su log per monitorare le voci di log che hanno origine in cartelle, account di fatturazione o organizzazioni o 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 l'instradamento da parte dei sink nel progetto da cui ha origine la voce di log.

Per informazioni sulla creazione di criteri di avviso basati su log, consulta Configurare i criteri di avviso basati su log.

Monitorare i risultati delle query SQL

Puoi configurare criteri di avviso che utilizzano Log Analytics per eseguire query SQL sui dati voce di log. Questi tipi di criteri di avviso sono efficaci quando vuoi ricevere una notifica in base a pattern che non possono essere valutati dai criteri di avviso basati su log, ad esempio pattern complessi nelle voci di log o aggregazioni di dati dei log. Per ulteriori informazioni, consulta Monitorare i risultati delle query SQL con un criterio di avviso.

Confronto delle opzioni di avviso

Questa sezione mette a confronto i criteri di avviso basati su metriche basate su log, i criteri di avviso basati su log e i criteri di avviso basati su SQL.

Tabella riepilogativa

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

Criteri di avviso basati su metriche Criteri di avviso basati su log Criteri di avviso basati su SQL Ulteriori informazioni
In base alle metriche ricavate 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
Utilizzato per informarti sulle tendenze nel tempo Utilizzato per inviare una notifica quando viene visualizzato un messaggio specifico in un log 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
Calcolata 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)
Corrispondenza solo con le voci di log incluse Calcolata dalle voci di log in una finestra mobile Entrate di log disponibili
Avvisi basati su SQL
Eseguire operazioni sulle metriche di tutti i progetti nell'ambito delle metriche del progetto di definizione dell'ambito Esegui operazioni sulle voci di log che soddisfano le seguenti condizioni:
  • La voce di log ha origine nel progetto in cui è definito il criterio.
  • 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.
Esegui operazioni sulle viste log accessibili tramite i set di dati collegati. I set di dati collegati possono trovarsi in qualsiasi progetto. Ambito delle metriche
Set di dati collegati
L'incidente viene creato quando il valore di una metrica soddisfa una condizione per un periodo specificato L'incidente viene creato ogni volta che una voce di log specifica corrisponde a un filtro L'incidente viene creato quando la tabella dei risultati della querysoddisfa una condizione Incidenti e notifiche
Creati e gestiti in Monitoraggio Creato in Logging;
gestito in Monitoraggio
Creato in Log Analytics; gestito in Monitoraggio Creazione e gestione dei criteri di avviso
Avvisi basati su SQL
Visualizzato in Monitoring Visualizzato in Monitoring Visualizzato in Monitoring Visualizzazione dei criteri di avviso
Può utilizzare qualsiasi canale di notifica supportato in Monitoraggio Può utilizzare qualsiasi canale di notifica supportato in Monitoraggio Può utilizzare qualsiasi canale di notifica supportato in Monitoraggio Canali di notifica

Voci di log disponibili

Le metriche basate su log definite dall'utente vengono calcolate da tutte le voci di log ricevute dall'API Logging per il Google Cloud progetto, indipendentemente da eventuali filtri di inclusione o filtri di esclusione che potrebbero essere applicati al Google Cloud progetto. 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 del progettoGoogle Cloud . Se un log è stato esplicitamente escluso, non è incluso in queste metriche. Se crei un criterio di avviso basato su una metrica basata su log definita dal sistema, il criterio monitora i dati solo dalle voci di log incluse.

I criteri di avviso basati su log sono definiti in un progetto e analizzano una voce di log quando le seguenti condizioni sono vere:

  • La fatturazione è abilitata.
  • La voce di log ha origine in 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 provenga dal progetto A. Se un sink di log nel progetto A instrada la voce di log a un bucket di log, le norme di avviso basate su log definite nel progetto A eseguono la scansione della voce di log.

    Come secondo esempio, supponiamo che una voce di log provenga dal 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 norme di avviso basate su log definite nel progetto X e nel progetto Y eseguono la scansione della voce di log.

Non puoi utilizzare i criteri di avviso basati su log per monitorare le voci di log che hanno origine in cartelle, account di fatturazione o organizzazioni o 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 l'instradamento da parte dei sink nel progetto da cui proviene la voce di log.

Le policy di avviso basate su SQL eseguono query sulle visualizzazioni dei log nei bucket di log. Per questi bucket dei log è necessario eseguire l'upgrade per utilizzare Log Analytics e poi collegarli a un set di dati BigQuery. Per saperne di più sui criteri di avviso basati su SQL, consulta Monitorare i risultati delle query SQL con un criterio 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 monitorati. Un progetto di definizione dell'ambito ospita l'ambito delle metriche. Il progetto di definizione dell'ambito memorizza i criteri 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 Google Cloud console.

I criteri di avviso basati su metriche basate su log, come i criteri di avviso basati su altre metriche, funzionano in tutti i progetti nell'ambito delle metriche del progetto di definizione dell'ambito.

L'ambito delle metriche non è pertinente ai 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 per più progetti, e sui progetti di definizione dell'ambito, consulta quanto segue:

Incidenti e notifiche

Quando la condizione di un criterio di avviso è soddisfatta, il monitoraggio apre un incidente e invia notifiche ai canali di notifica del criterio di avviso. Per visualizzare i dettagli dell'incidente, fai clic su Visualizza incidente nel messaggio di notifica o vai direttamente alla pagina Incidenti in Monitoraggio.

Incidenti per i criteri di avviso basati su metriche

I criteri di avviso basati su metriche basate su log creano incidenti e notifiche come tutti gli altri criteri di avviso basati su metriche in Monitoraggio, come descritto in Comportamento degli avvisi. Per ulteriori informazioni sulla gestione degli incidenti per i criteri di avviso basati su metriche, consulta Incidenti per i criteri di avviso basati su metriche.

Incidenti per i criteri di avviso basati su log

I criteri di avviso basati su log non sono criteri di avviso basati su metriche. Quando una voce di log soddisfa la condizione di un criterio di avviso basato su log, Monitoring crea incidenti e notifiche come segue:

  • La prima volta che Cloud Logging scrive una voce di log corrispondente alla query di avviso in un bucket di log, viene creato un incidente e viene inviata una notifica. Se viene scritta un'altra voce di log corrispondente, viene creato un nuovo incidente solo se l'incidente precedente è stato chiuso. Tuttavia, l'eliminazione di un incidente chiuso potrebbe richiedere fino a tre minuti. Quando viene ricevuta una voce di log corrispondente nei tre minuti successivi alla chiusura di un incidente, il sistema potrebbe riaprirlo anziché crearne uno nuovo.

  • Quando crei un criterio di avviso basato su log, puoi specificare il tempo minimo tra le notifiche. Ad esempio, seleziona 10 minuti come tempo tra le notifiche. Se la condizione del criterio di avviso basato su log viene soddisfatta due volte nel periodo in questione, riceverai una sola notifica.

    La frequenza massima di incidenti per i criteri di avviso basati su log è di 1 incidente ogni 5 minuti. Se la query del criterio di avviso basato su log estrae i valori delle etichette, ogni combinazione di valori estratti rappresenta la propria sequenza temporale degli incidenti. Ad esempio, supponiamo che un criterio di avviso basato su log estragga i valori di un'etichetta e che l'etichetta possa avere due valori. Con questa configurazione, è possibile aprire due incidenti, uno per ciascun valore dell'etichetta, negli stessi 5 minuti.

  • Esiste un limite di 20 incidenti al giorno per ogni criterio di avviso basato su log. Se raggiungi questo limite, la notifica include un messaggio che ti informa che hai raggiunto il limite per la giornata.

  • Gli incidenti vengono chiusi automaticamente alla scadenza della durata della chiusura automatica. Per impostazione predefinita, la durata della chiusura automatica è di 7 giorni.

    La durata della chiusura automatica specifica il tempo che deve trascorrere, senza che si ripeta la causa dell'incidente, prima che l'incidente venga chiuso. Per questo motivo, quando un incidente è aperto e la relativa causa si ripresenta, l'incidente può rimanere aperto più a lungo della durata della chiusura automatica.

Per ulteriori informazioni sulla gestione degli incidenti per i criteri di avviso basati su log, consulta Gestire gli incidenti per i criteri di avviso basati su log.

Incidenti per i criteri di avviso basati su SQL

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

Per ulteriori informazioni sulla gestione degli incidenti per i criteri di avviso basati su SQL, consulta Gestire gli incidenti per i criteri di avviso basati su SQL.

Creazione e gestione dei criteri di avviso

Puoi creare, modificare ed eliminare i 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 Gestire i criteri.

Puoi creare criteri di avviso basati su log utilizzando Esplora log o l'API Cloud Monitoring. Modifica ed elimina i criteri di avviso basati su log in Monitoring o con l'API Cloud Monitoring. Per ulteriori informazioni, consulta Gestire i criteri di avviso basati su log.

Puoi creare criteri di avviso basati su SQL utilizzando Log Analytics o l'API Cloud Monitoring. Puoi modificare ed eliminare i criteri di avviso basati su SQL in Monitoring o utilizzando l'API Cloud Monitoring. Per ulteriori informazioni, consulta Monitorare i risultati delle query SQL con un criterio di avviso.

Visualizzazione dei criteri di avviso

La pagina Norme in Monitoraggio elenca tutte le norme di avviso nel progetto. Google Cloud Questo elenco include i criteri che utilizzano metriche basate su log e criteri di avviso basati 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.

I criteri di avviso basati su log vengono visualizzati nell'elenco con il valore Logs nella colonna Tipo. I criteri di avviso basati su metriche, tra cui quelle basate sui log, vengono visualizzati nell'elenco con il valore Metrics nella colonna Tipo. I criteri di avviso basati su SQL vengono visualizzati nell'elenco con il valore SQL nella colonna Tipi. Lo screenshot seguente mostra un estratto di un elenco di norme:

Per visualizzare i criteri di avviso per tipo, utilizza la colonna **Tipo** nell'elenco
di criteri di avviso.

Canali di notifica

Puoi inviare notifiche da qualsiasi tipo di criterio di avviso a uno dei canali di notifica supportati da Monitoring. Devi configurare questi canali prima di poterli utilizzare nei criteri di avviso.

Per saperne di più, consulta la pagina relativa alla gestione dei canali di notifica.

Requisiti di autorizzazione

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

Costi e limiti

Se definisci le tue metriche basate su log, si applicano le seguenti regole:

  • Esistono limiti per il numero e la struttura delle metriche basate su log definite dall'utente. Per ulteriori informazioni su questi limiti, consulta i limiti per le metriche basate su log.
  • Potrebbero essere addebitati costi per le metriche basate su log definite dall'utente. Per ulteriori informazioni sui costi associati all'importazione delle metriche, consulta Metriche addebitabili.
  • I criteri di avviso basati su SQL vengono eseguiti in una prenotazione BigQuery nel tuo Google Cloud progetto. Potresti dover pagare degli addebiti per avere una prenotazione di BigQuery. Per ulteriori informazioni sui costi associati alle prenotazioni BigQuery, consulta Prezzi di BigQuery.

Non sono previsti costi associati all'utilizzo di criteri di avviso basati su metriche basate su log.

Si applicano i seguenti limiti di monitoraggio relativi ai criteri di avviso:

Categoria Valore Tipo di norma1
Criteri di avviso (somma di metriche e log) per ambito delle metriche 2 500 Metrica, log
Condizioni per il criterio di avviso basato su metriche 6 Metrica
Condizioni per i policy di avviso basati su SQL (anteprima pubblica) 1 SQL
Tempo di esecuzione massimo della query per un criterio di avviso basato su SQL (anteprima pubblica) 5 minuti SQL
Periodo di tempo massimo valutato da una
condizione di assenza metrica3
1 giorno Metrica
Periodo di tempo massimo valutato da una
condizione di soglia metrica3
23 ore 30 minuti Metrica
Lunghezza massima del filtro utilizzato
in una condizione di soglia 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
Tasso massimo di incidenti4
per gli avvisi basati su log
1 incidente ogni 5 minuti Log
Numero massimo di incidenti
per gli avvisi basati su log
20 incidenti al giorno per ogni criterio di avviso basato su log Log
Numero massimo di notifiche per incidente5
per gli avvisi basati su log
20 notifiche al giorno per incidente Log
Numero massimo di criteri di avviso che si attivano contemporaneamente
per progetto
80.000 Tutti
Numero massimo di incidenti aperti contemporaneamente
per criterio di avviso
1000 Tutti
Periodo dopo il quale un incidente senza nuovi dati viene
chiuso automaticamente
7 giorni Metrica, SQL
Durata massima di un incidente se non viene chiuso manualmente 7 giorni Log
Conservazione degli incidenti chiusi 13 mesi Non applicabile
Conservazione degli incidenti aperti Indeterminato Non applicabile
Canali di notifica per ambito delle metriche 4000 Non applicabile
Numero massimo di criteri di avviso per posticipazione 16 Tutti
Mantenimento di una posticipazione 13 mesi Non applicabile
1Metrica: un criterio di avviso basato sui dati delle metriche; Log: un criterio di avviso basato sui messaggi di log (avvisi basati su log)
2Apigee e Apigee hybrid sono profondamente integrati con Cloud Monitoring. Il limite di avvisi per tutti i livelli di abbonamento Apigee (Standard, Enterprise ed Enterprise Plus) è lo stesso di Cloud Monitoring: 500 per ambito delle metriche .
3Il periodo di tempo massimo valutato da una condizione è la somma del periodo di allineamento e dei valori 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 necessari 30 ore di dati per valutare la condizione.
4Se la query del criterio di avviso basato su log estrae i valori delle etichette, ogni combinazione di valori estratti rappresenta la propria cronologia degli incidenti. Ad esempio, supponiamo che un criterio di avviso basato su log estragga i valori di un'etichetta e che l'etichetta possa avere due valori. Con questa configurazione, è possibile creare due incidenti, uno per ogni valore dell'etichetta, negli stessi 5 minuti.
5Per gli avvisi basati su log, il monitoraggio invia una nuova notifica per un incidente aperto quando viene ricevuta una voce di log che corrisponde al filtro e sono trascorsi almeno 5 minuti dalla notifica più recente. Verranno inviate al massimo 20 notifiche al giorno per incidente. Ogni notifica viene inviata a tutti i canali di notifica configurati per il criterio di avviso.