Crea criteri di avviso per l'assenza di metriche

Le policy di avviso per l'assenza di metriche in Cloud Monitoring inviano notifiche quando una serie temporale monitorata non contiene dati per un periodo di tempo specificato da te. Puoi configurare questo periodo di tempo, chiamato tempo di assenza del trigger, fino a un massimo di 23,5 ore. Affinché la condizione venga soddisfatta, il sottosistema monitorato deve scrivere almeno un punto dati dopo la creazione o la modifica della criterio di avviso. Ad esempio, se imposti un tempo di assenza dell'attivatore di 30 minuti, la condizione viene soddisfatta solo dopo che il sottosistema scrive almeno un punto dati e poi non scrive punti dati per 30 minuti.

Per monitorare l'uptime di un servizio, crea un controllo di uptime e monitora i risultati di questo controllo con una criterio di avviso monitorare i tipi di metriche come compute.googleapis.com/instance/uptime. Per saperne di più, consulta Crea policy di avviso per i controlli di uptime.

Questi contenuti non si applicano alle policy di avviso basate su log. Per informazioni sulle policy di avviso basate su log, che ti informano quando un determinato messaggio viene visualizzato nei log, consulta Monitoraggio dei log.

Per ricevere notifiche quando i valori delle metriche superano una soglia o si prevede che violino una soglia, consulta Crea policy di avviso basate su soglie metriche e Crea policy di avviso basate su valori delle metriche previsti. Per creare policy di avviso in modo programmatico utilizzando l'API Cloud Monitoring, consulta Crea policy di avviso utilizzando l'API. Per creare policy di avviso che utilizzano query Monitoring Query Language (MQL) con soglie statiche o dinamiche, consulta Policy di avviso con MQL e Crea livelli di gravità dinamici utilizzando MQL.

Questa funzionalità è supportata solo per i progetti Google Cloud . Per le configurazioni di App Hub, seleziona il progetto host o il progetto di gestione di App Hub.

Prima di iniziare

  1. Per ottenere le autorizzazioni necessarie per creare e modificare le policy di avviso utilizzando la console Google Cloud , chiedi all'amministratore di concederti il ruolo IAM Monitoring Editor (roles/monitoring.editor) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Per saperne di più sui ruoli di Cloud Monitoring, consulta Controlla l'accesso con Identity and Access Management.

  2. Assicurati di avere familiarità con i concetti generali delle policy di avviso. Per informazioni su questi argomenti, consulta Panoramica degli avvisi.

  3. Configura i canali di notifica che vuoi utilizzare per ricevere le notifiche. Per garantire la ridondanza, ti consigliamo di creare più tipi di canali di notifica. Per saperne di più, consulta la pagina Crea e gestisci canali di notifica.

Crea policy di avviso

Per creare una criterio di avviso che invii notifiche quando una serie temporale monitorata non contiene dati per un periodo di assenza di trigger specifico, segui questi passaggi:

  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. Nella barra degli strumenti della console Google Cloud , seleziona il tuo progetto Google Cloud . Per le configurazioni di App Hub, seleziona il progetto host o il progetto di gestione di App Hub.
  3. Seleziona Crea policy.
  4. Seleziona le serie temporali da monitorare:

    1. Fai clic su Seleziona una metrica, scorri i menu per selezionare un tipo di risorsa e un tipo di metrica, quindi fai clic su Applica.

      Il menu Seleziona una metrica contiene funzionalità che ti aiutano a trovare i tipi di metriche disponibili:

      • Per trovare un tipo di metrica specifico, utilizza la barra dei filtri. Ad esempio, se inserisci util, limiti il menu in modo che mostri le voci che includono util. Le voci vengono visualizzate quando superano un test "contiene" senza distinzione tra maiuscole e minuscole.

      Puoi monitorare qualsiasi metrica integrata o definita dall'utente.

    2. (Facoltativo) Per monitorare un sottoinsieme delle serie temporali che corrispondono ai tipi di metrica e risorsa selezionati nel passaggio precedente, fai clic su Aggiungi filtro. Nella finestra di dialogo del filtro, seleziona l'etichetta in base alla quale filtrare, un comparatore e poi il valore del filtro. Ad esempio, il filtro zone =~ ^us.*.a$ utilizza un'espressione regolare per trovare corrispondenze in tutti i dati delle serie temporali il cui nome della zona inizia con us e termina con a. Per saperne di più, consulta Filtra le serie temporali selezionate.

    3. (Facoltativo) Per modificare l'allineamento dei punti in una serie temporale, imposta i campi Finestra mobile e Funzione finestra mobile nella sezione Trasforma i dati. Ad esempio, una finestra di 15 minuti con max restituisce il valore massimo degli ultimi 15 minuti.

      La console Google Cloud imposta i valori predefiniti in base al tipo di metrica. Se monitori una metrica basata su log, imposta il campo Finestra temporale continua su almeno 10 minuti.

      Se selezioni count o mean per Funzione finestra temporale continua, verifica che la funzione corrisponda al tipo di metrica. La funzione count conteggia i punti dati, non i relativi valori, mentre la funzione mean calcola la media delle variazioni per campione sulle metriche DELTA. Per generare un avviso sul volume o sulla frequenza totali per una metrica DELTA, seleziona sum, delta o rate. Per i tipi di metriche e di valori supportati, consulta Aligner.

      Per saperne di più, consulta Allineamento: regolarizzazione all'interno delle serie

    4. (Facoltativo) Combina le serie temporali quando vuoi ridurre il numero di serie temporali monitorate da una policy o quando vuoi monitorare solo una raccolta di serie temporali. Ad esempio, anziché monitorare l'utilizzo della CPU di ogni istanza VM, potresti voler calcolare la media dell'utilizzo della CPU per tutte le VM in una zona e poi monitorare questa media. Per impostazione predefinita, le serie temporali non vengono combinate. Per informazioni generali, consulta Riduzione: combinazione di serie temporali.

      Per combinare tutte le serie temporali, segui questi passaggi:

      1. Nella sezione Tra serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione serie temporali su un valore diverso da none. Ad esempio, per visualizzare il valore medio della serie temporale, seleziona mean.
      3. Assicurati che il campo Raggruppamento serie temporali sia vuoto.

      Per combinare o raggruppare le serie temporali in base ai valori delle etichette, segui questi passaggi:

      1. Nella sezione Tra serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione serie temporali su un valore diverso da none.
      3. Nel campo Raggruppa serie temporali per, seleziona le etichette in base alle quali raggruppare.

      Ad esempio, se raggruppi in base all'etichetta zone e poi imposti il campo di aggregazione su un valore di mean, il grafico mostra una serie temporale per ogni zona per cui esistono dati. La serie temporale mostrata per una zona specifica è la media di tutte le serie temporali con quella zona.

    5. Fai clic su Avanti.

  5. Configura l'attivatore della condizione:

    1. Seleziona Assenza metrica per il tipo di condizione.

    2. (Facoltativo) Aggiorna il menu Trigger di avviso, che contiene i seguenti valori:

      • Una serie temporale è in violazione: impostazione predefinita. Qualsiasi serie temporale con dati assenti per l'intero periodo di assenza del trigger determina la soddisfazione della condizione.

      • Percentuale di serie temporali in violazione: una percentuale di serie temporali deve avere dati assenti per l'intero periodo di assenza del trigger prima che la condizione venga soddisfatta. Ad esempio, potresti ricevere una notifica quando il 50% delle serie temporali monitorate non contiene dati per l'intero periodo di assenza dell'attivatore.

      • Numero di serie temporali in violazione: un numero specifico di serie temporali deve avere dati assenti per l'intero periodo di assenza del trigger prima che la condizione venga soddisfatta. Ad esempio, potresti ricevere una notifica quando 32 delle serie temporali monitorate non hanno dati per l'intero periodo di assenza del trigger.

      • Tutte le serie temporali sono in violazione: tutte le serie temporali devono avere dati assenti per l'intero periodo di assenza del trigger prima che la condizione venga soddisfatta.

      Per informazioni sugli intervalli utilizzati da Monitoring per allineare e misurare i dati delle serie temporali, consulta Periodi di allineamento e finestre di riapprovazione.

    3. Specifica per quanto tempo i dati delle metriche devono essere assenti prima che Monitoring ti invii una notifica utilizzando il campo Tempo di assenza trigger.

    4. Fai clic su Avanti.

  6. (Facoltativo) Crea una criterio di avviso con più condizioni.

    La maggior parte delle policy monitora un singolo tipo di metrica, ad esempio il numero di byte scritti su un'istanza VM. Se vuoi monitorare più tipi di metriche, crea una policy con più condizioni. Ogni condizione monitora un tipo di metrica. Dopo aver creato le condizioni, specifica come vengono combinate. Per saperne di più, consulta Policy con più condizioni.

    Per creare una criterio di avviso con più condizioni, segui questi passaggi:

    1. Per ogni condizione aggiuntiva, fai clic su Aggiungi condizione di avviso e poi configura la condizione.
    2. Fai clic su Avanti e configura la modalità di combinazione delle condizioni.
    3. Fai clic su Avanti per passare alla configurazione delle notifiche e della documentazione.
  7. Configura la notifica e aggiungi le etichette utente:

    1. Espandi il menu Notifiche e nome e seleziona i canali di notifica. Ai fini della ridondanza, ti consigliamo di aggiungere più tipi di canali di notifica a una criterio di avviso. Per saperne di più, consulta Gestisci i canali di notifica.

    2. (Facoltativo) Per utilizzare un oggetto personalizzato nella notifica anziché quello predefinito, aggiorna il campo Oggetto della notifica.

    3. (Facoltativo) Per ricevere una notifica quando un avviso viene chiuso, seleziona Notifica alla chiusura dell'avviso. Per impostazione predefinita, quando crei una criterio di avviso con la console Google Cloud , viene inviata una notifica solo quando viene creato un avviso.

    4. (Facoltativo) Per modificare il tempo di attesa di Monitoring prima di chiudere un avviso dopo l'interruzione dell'invio dei dati, seleziona un'opzione dal menu Durata della chiusura automatica dell'avviso. Per impostazione predefinita, quando i dati smettono di arrivare, Monitoring attende sette giorni prima di chiudere un avviso aperto.

    5. (Facoltativo) Per associare la criterio di avviso a un'applicazione App Hub, nella sezione Etichette applicazione, seleziona un'applicazione e un servizio o un workload. Gli avvisi e le notifiche mostrano queste etichette.

    6. (Facoltativo) Seleziona un'opzione dal menu Livello di gravità della policy. Gli avvisi e le notifiche mostrano il livello di gravità.

    7. (Facoltativo) Per aggiungere etichette personalizzate alla criterio di avviso, nella sezione Etichette utente della policy, segui questi passaggi:

      1. Fai clic su Aggiungi etichetta e nel campo Chiave inserisci un nome per l'etichetta. I nomi delle etichette devono iniziare con una lettera minuscola e possono contenere lettere minuscole, numeri, trattini bassi e trattini. Ad esempio, inserisci severity.
      2. Fai clic su Valore e inserisci un valore per l'etichetta. I valori delle etichette possono contenere lettere minuscole, numeri, trattini bassi e trattini. Ad esempio, inserisci critical.

      Per informazioni su come utilizzare le etichette delle policy per gestire le notifiche, consulta Annota gli avvisi con etichette.

  8. (Facoltativo) Nella sezione Documentazione, inserisci i contenuti che vuoi includere nella notifica.

    Per formattare la documentazione, puoi utilizzare testo normale, Markdown e variabili. Puoi anche includere link per aiutare gli utenti a eseguire il debug dell'avviso, ad esempio link a playbook interni, dashboard Google Cloud e pagine esterne. Ad esempio, il seguente modello di documentazione descrive un avviso di utilizzo della CPU per una risorsa gce_instance e include diverse variabili per fare riferimento alle risorse REST della criterio di avviso e della condizione. Il modello di documentazione indirizza poi i lettori a pagine esterne per aiutarli con il debug.

    Quando vengono create le notifiche, Monitoring sostituisce le variabili della documentazione con i relativi valori. I valori sostituiscono le variabili solo nelle notifiche. Il riquadro di anteprima e altre sezioni della console Google Cloud mostrano solo la formattazione Markdown.

    Anteprima

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    Formato nella notifica

    Esempio di come viene visualizzata la documentazione in una notifica.

    Per saperne di più, consulta Annota le notifiche con la documentazione definita dall'utente e Utilizza i controlli del canale.

  9. Fai clic su Nome avviso e inserisci un nome per la policy di avviso.

  10. Fai clic su Crea policy.

Filtra la serie temporale selezionata

I filtri assicurano che vengano monitorate solo le serie temporali che soddisfano un insieme di criteri. Quando applichi i filtri, potresti ridurre il numero di righe nel grafico, il che può migliorare le prestazioni del grafico. Puoi anche ridurre la quantità di dati monitorati applicando l'aggregazione. I filtri assicurano che vengano utilizzate solo le serie temporali che soddisfano un insieme di criteri. Quando applichi i filtri, ci sono meno serie temporali da valutare, il che può migliorare le prestazioni dell'avviso.

Un filtro è composto da un'etichetta, un comparatore e un valore. Ad esempio, per trovare tutte le serie temporali la cui etichetta zone inizia con "us-central1", puoi utilizzare il filtro zone=~"us-central1.*", che utilizza un'espressione regolare per eseguire il confronto.

Quando filtri in base all'ID progetto o al container di risorse, devi utilizzare l'operatore di uguaglianza (=). Quando filtri in base ad altre etichette, puoi utilizzare qualsiasi comparatore supportato. In genere, puoi filtrare le etichette delle metriche e delle risorse, nonché per gruppo di risorse.

Quando fornisci più criteri di filtro, vengono monitorate solo le serie temporali che soddisfano tutti i criteri.

Per aggiungere un filtro, fai clic su Aggiungi filtro, completa la finestra di dialogo e poi fai clic su Fine. Nella finestra di dialogo, utilizza il campo Filtro per selezionare il criterio in base al quale filtrare, seleziona l'operatore di confronto e poi seleziona o inserisci il valore. Il menu a discesa elenca solo i valori visualizzati nell'ultima settimana, ma puoi inserire qualsiasi valore. Ogni riga della tabella seguente elenca un operatore di confronto, il relativo significato e un esempio:

OperatoreSignificatoEsempio
= Uguaglianza resource.labels.zone = "us-central1-a"
!= Disuguaglianza resource.labels.zone != "us-central1-a"
=~ Uguaglianza di espressione regolare2 monitoring.regex.full_match("^us.*")
!=~ Disuguaglianza espressione regolare2 monitoring.regex.full_match("^us.*")
starts_with Il valore inizia con resource.labels.zone = starts_with("us")
ends_with Il valore termina con resource.labels.zone = ends_with("b")
has_substring Il valore contiene resource.labels.zone = has_substring("east")
one_of Una tra resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with Il valore non inizia con resource.labels.zone != starts_with("us")
!ends_with Il valore non termina con resource.labels.zone != ends_with("b")
!has_substring Il valore non contiene resource.labels.zone != has_substring("east")
!one_of Il valore non è uno dei seguenti resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")