Questo documento descrive come utilizzare Cloud Monitoring per osservare le tendenze nei dati di log e per inviarti una notifica quando si verificano le condizioni che specifichi. 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 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. Questi criteri di avviso sono chiamati criteri di avviso basati su log. Per ulteriori informazioni, vedi Monitorare le singole voci di log per i messaggi.
Puoi scrivere una query SQL in Log Analytics e creare una criterio di avviso che monitora i risultati della query. Queste policy di avviso sono chiamate policy di avviso basate su SQL. Per ulteriori informazioni, consulta Monitorare 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:
- 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 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 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 policy 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 definire le tue. Per visualizzare un elenco delle metriche basate su log definite dal sistema, fai clic sul seguente pulsante add_circle:
Metriche basate su log definite dall'utente
Puoi creare metriche basate sui 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.
- Per informazioni sulla definizione e sull'utilizzo delle metriche basate su log a livello di progetto, consulta Utilizzo delle metriche basate su log.
- Per informazioni sulla definizione e sull'utilizzo delle metriche basate su log a livello di bucket, consulta Metriche basate su log nei bucket di log.
Se definisci metriche basate su log personalizzate, potresti incorrere in addebiti. Per ulteriori informazioni sui costi associati all'importazione delle metriche, consulta Metriche addebitabili.
Monitorare 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. I criteri di avviso basati su log sono utili per rilevare eventi correlati 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 unaccount di serviziot.
- La tua applicazione scrive messaggi di deployment nei log e vuoi ricevere una notifica quando viene registrata una modifica del deployment.
I criteri di avviso basati su log sono utili per gli eventi che prevedi siano rari e importanti. Non vuoi conoscere una tendenza o un pattern, ma vuoi sapere che qualcosa è successo.
I criteri di avviso basati su log sono definiti in un progetto e analizzano una voce di log quando sono vere le seguenti condizioni:
- 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 indirizzata la voce di log, indirizzano 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 progettoA
esegue il routing della voce di log a un bucket di log, le policy di avviso basate su log definite nel progettoA
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 progettoX
esegua il routing della voce di log al progettoY
. Se un sink nel progettoY
instrada la voce di log a un bucket di log, le policy di avviso basate su log definite nel progettoX
e nel progettoY
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 sink potrebbero intercettare una voce di log e impedirne l'instradamento da parte dei sink nel progetto in cui ha origine la voce di log.
Per informazioni sulla creazione di criteri di avviso basati su log, consulta Configurare criteri di avviso basati su log.
Monitorare i risultati delle query SQL
Puoi configurare criteri di avviso che utilizzano l'analisi dei log per eseguire query SQL sui dati voce di log. Questi tipi di criteri di avviso sono efficaci quando vuoi ricevere notifiche in base a pattern che non possono essere valutati dai criteri di avviso basati sui log, come pattern complessi nelle voci di log o aggregazioni di dati di log. Per ulteriori informazioni, consulta Monitorare i risultati delle query SQL con una policy di avviso.
Confronto delle opzioni di avviso
Questa sezione confronta 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 generazione degli avvisi e fornisce link a ulteriori informazioni:
Criteri di avviso basati su metriche | Policy di avviso basate su log | Policy di avviso basate su SQL | Ulteriori informazioni |
---|---|---|---|
In base alle 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 |
Utilizzato per notificarti le 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 a partire da
|
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:
|
Operare 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 query soddisfa una condizione | Incidenti e notifiche |
Create e gestite in Monitoraggio | Create in Logging; gestite in Monitoring |
Creato in Log Analytics; gestito in Monitoring | 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 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
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 da eventuali filtri di inclusione o 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 a partire dalle voci di log archiviate nei bucket di log nel progettoGoogle Cloud . Se un log è stato escluso in modo esplicito, non viene 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 delle voci di log incluse.
I criteri di avviso basati su log sono definiti in un progetto e analizzano una voce di log quando sono vere le seguenti condizioni:
- 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 indirizzata la voce di log, indirizzano 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 progettoA
esegue il routing della voce di log a un bucket di log, le policy di avviso basate su log definite nel progettoA
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 progettoX
esegua il routing della voce di log al progettoY
. Se un sink nel progettoY
instrada la voce di log a un bucket di log, le policy di avviso basate su log definite nel progettoX
e nel progettoY
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 sink potrebbero intercettare una voce di log e impedirne l'instradamento da parte dei sink nel progetto in cui ha origine la voce di log.
Le policy di avviso basate su SQL eseguono query sulle visualizzazioni dei log nei bucket di log. Questi bucket di log devono essere aggiornati per utilizzare l'analisi dei log e poi collegati 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 che monitora. 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 console Google Cloud .
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 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 quelli multi-progetto, e sui progetti di definizione dell'ambito, consulta quanto segue:
Incidenti e notifiche
Quando la condizione di un criterio di avviso viene soddisfatta, Monitoring 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 oppure vai direttamente alla pagina Incidenti in Monitoring.
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 Monitoring, come descritto in Comportamento degli avvisi. Per saperne di più sulla gestione degli incidenti per i criteri di avviso basati su metriche, consulta Incidenti per i criteri di avviso basati su metriche.
Incidenti per le policy di avviso basate 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 nel seguente modo:
La prima volta che Cloud Logging scrive una voce di log che corrisponde alla query della norma di avviso in un bucket 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 quello 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 riaprire l'incidente anziché crearne uno nuovo.
Quando crei un criterio di avviso basato su log, puoi specificare il tempo minimo tra le notifiche. Ad esempio, selezioni 10 minuti come tempo tra le notifiche. Se la condizione della criterio di avviso basata su log viene soddisfatta due volte in questo periodo, riceverai una sola notifica.
La frequenza massima di incidenti per i criteri di avviso basati su log è 1 incidente ogni 5 minuti. Se la query del criterio di avviso basato sui log estrae i valori delle etichette, ogni combinazione di valori estratti rappresenta una propria cronologia degli incidenti. Ad esempio, supponiamo che un criterio di avviso basato sui log estragga i valori di un'etichetta e che l'etichetta possa avere due valori. Con questa configurazione, possono essere aperti due incidenti, uno per ogni 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 di 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 una ripetizione della causa dell'incidente, prima che l'incidente venga chiuso. Per questo motivo, quando un incidente è aperto e la sua 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, vedi Gestire gli incidenti per i criteri di avviso basati su log.
Incidenti per le policy di avviso basate su SQL
Per le policy di avviso basate su SQL, Cloud Monitoring crea un incidente la prima volta che il risultato della query SQL soddisfa la condizione specificata nella policy. Ogni criterio di avviso ha un solo incidente aperto. Mentre l'incidente è aperto, se la condizione viene soddisfatta di nuovo, Monitoring non crea ulteriori incidenti né invia notifiche aggiuntive. Il monitoraggio chiude gli incidenti basati su SQL dopo sette giorni, a meno che tu non configuri un periodo di chiusura più breve o chiuda l'incidente autonomamente.
Per saperne di più sulla gestione degli incidenti per i criteri di avviso basati su SQL, vedi Gestire gli incidenti per i criteri di avviso basati su SQL.
Creazione e gestione dei criteri 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 dei criteri.
Puoi creare criteri di avviso basati 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 ulteriori informazioni, consulta Gestione dei 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 una policy di avviso.
Visualizzazione dei criteri di avviso
La pagina Norme in Monitoring elenca tutte le norme di avviso nel tuo progetto Google Cloud . Questo elenco include i criteri che utilizzano metriche basate su log e criteri di avviso basati su log.
-
Nella Google Cloud console, vai alla pagina notifications Avvisi:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Seleziona Visualizza tutte le norme.
Le norme di avviso basate sui log vengono visualizzate nell'elenco con il valore Logs
nella colonna
Tipo. Le norme di avviso basate sulle metriche, incluse quelle basate sui log, vengono visualizzate 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:
Canali di notifica
Puoi inviare notifiche da qualsiasi tipo di criterio di avviso a uno qualsiasi 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 basate su log o criteri di avviso basati su log richiede l'autorizzazione sia per Cloud Logging sia per Cloud Monitoring.
Per le metriche basate su log definite dall'utente, consulta Autorizzazioni per le metriche basate su log.
Per le policy di avviso basate su log, consulta Autorizzazioni per le policy di avviso basate su log.
Per le policy di avviso basate su SQL, consulta Autorizzazioni per le policy di avviso basate su SQL.
Costi e limiti
Se definisci metriche basate su log personalizzate, si applicano le seguenti condizioni:
- Esistono limiti al numero e alla struttura delle metriche basate su log definite dall'utente. Per ulteriori informazioni su questi limiti, consulta Limiti per le metriche basate su log.
- Potresti incorrere in addebiti 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 progetto Google Cloud . Potresti incorrere in addebiti per una prenotazione 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 Monitoring relativi ai criteri di avviso:
Categoria | Valore | Tipo di norma1 |
---|---|---|
Criteri di avviso (somma di metrica e log) per ambito delle metriche 2 | 500 | Metrica, log |
Condizioni per criterio di avviso basato su metriche | 6 | Metrica |
Condizioni per policy di avviso basata su SQL (anteprima pubblica) | 1 | SQL |
Tempo massimo di esecuzione della query per una criterio di avviso basata su SQL (anteprima pubblica) | 5 minuti | SQL |
Periodo di tempo massimo in cui viene valutata una condizione di assenza metrica 3 |
1 giorno | Metrica |
Periodo di tempo massimo in cui viene valutata una condizione di soglia metrica 3 |
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 massima per le previsioni | 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 attivati simultaneamente 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 posticipo | 16 | Tutti |
Conservazione di un posticipo | 13 mesi | Non applicabile |
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 in cui viene valutata una condizione è 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.
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 sui log estragga i valori di un'etichetta e che l'etichetta possa avere due valori. Con questa configurazione, possono essere creati due incidenti, uno per ogni valore dell'etichetta, nello stesso intervallo di 5 minuti.
5Per gli avvisi basati su log, Monitoring 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 dall'ultima notifica. Vengono 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.