Crea criteri di avviso per l'assenza di metriche

Questo documento descrive come utilizzare la console Google Cloud per creare un criterio di avviso che invii notifiche quando una serie temporale monitorata non contiene dati per un periodo di tempo specifico.

Le condizioni di assenza di metriche richiedono almeno una misurazione riuscita, che recupera i dati, entro il periodo di tempo massimo dopo l'installazione o la modifica del criterio. Questo periodo di tempo è chiamato tempo di assenza trigger. Il tempo di assenza dell'attivatore configurabile massimo è 23,5 ore.

Ad esempio, supponiamo di impostare il tempo di assenza dell'attivatore in un criterio di assenza metrica su 30 minuti. La condizione non verrà soddisfatta quando il sottosistema che scrive i dati delle metriche non ha mai scritto un punto dati. Il sottosistema deve produrre almeno un punto dati e poi non riuscire a produrre punti dati aggiuntivi per 30 minuti.

Questi contenuti non si applicano ai criteri di avviso basati su log. Per informazioni sui criteri di avviso basati su log, che ti avvisano quando un messaggio specifico viene visualizzato nei log, consulta Monitorare i log.

Questo documento non descrive quanto segue:

Prima di iniziare

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

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

    Per ulteriori informazioni sui ruoli di Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

  2. Assicurati di conoscere i concetti generali dei criteri di avviso. Per informazioni su questi argomenti, consulta la Panoramica degli avvisi.

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

Crea criterio di avviso

Per creare un criterio di avviso che invii notifiche quando una serie temporale monitorata non contiene dati per un'assenza dell'attivatore specifica, segui questi passaggi:

  1. Nella console Google Cloud, 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 Crea criterio.
  3. Seleziona le serie temporali da monitorare:

    1. Fai clic su Seleziona una metrica, naviga nei 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, il menu mostrerà solo le voci che includono util. Le voci vengono mostrate quando superano un test "contiene" senza distinzione tra maiuscole e minuscole.

      Puoi monitorare qualsiasi metrica integrata o qualsiasi metrica definita dall'utente.

    2. (Facoltativo) Per monitorare un sottoinsieme delle serie temporali che corrispondono alle tipologie di metriche e risorse selezionate nel passaggio precedente, fai clic su Aggiungi filtro. Nella finestra di dialogo del filtro, seleziona l'etichetta in base alla quale applicare il filtro, un comparatore e poi il valore del filtro. Ad esempio, il filtro zone =~ ^us.*.a$ utilizza un'espressione regolare per trovare tutti i dati delle serie temporali il cui nome della zona inizia con us e termina con a. Per ulteriori informazioni, consulta Filtrare la serie temporale selezionata.

    3. (Facoltativo) Per modificare il modo in cui i punti di una serie temporale sono allineati, imposta i campi Finestra temporale continua e Funzione finestra temporale continua nella sezione Trasforma i dati.

      Se stai monitorando una metrica basata su log, ti consigliamo di impostare il menu Finestra mobile su almeno 10 minuti.

      Questi campi specificano in che modo vengono combinati i punti registrati in una finestra. Ad esempio, supponiamo che la finestra sia di 15 minuti e che la funzione finestra sia max. Il punto allineato è il valore massimo di tutti i punti negli ultimi 15 minuti. Per ulteriori informazioni, consulta Allineamento: regolarizzazione all'interno della serie.

    4. (Facoltativo) Combina le serie temporali quando vuoi ridurre il numero di serie temporali monitorate da un criterio o quando vuoi monitorare solo una raccolta di serie temporali. Ad esempio, anziché monitorare l'utilizzo della CPU di ogni istanza VM, potresti calcolare la media dell'utilizzo della CPU per tutte le VM di 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:

      1. Nella sezione In serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione delle 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 Raggruppa serie temporali per sia vuoto.

      Per combinare o raggruppare le serie temporali in base ai valori delle etichette:

      1. Nella sezione In serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione delle serie temporali su un valore diverso da none.
      3. Nel campo Raggruppa serie temporali per, seleziona le etichette per le quali eseguire il raggruppamento.

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

    5. Fai clic su Avanti.

  4. Configura l'attivatore della condizione:

    1. Seleziona Assenza metrica per il tipo di condizione.

    2. (Facoltativo) Aggiorna il menu Trigger degli avvisi, che ha i seguenti valori:

      • Qualsiasi serie temporale è in violazione: impostazione predefinita. Qualsiasi serie temporale con dati mancanti per l'intero periodo di assenza dell'attivatore fa sì che la condizione venga soddisfatta.

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

      • Numero di serie temporali in violazione: un numero specifico di serie temporali deve avere dati mancanti per l'intero periodo di assenza dell'attivatore 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 dell'attivatore.

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

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

    3. Specifica il periodo di tempo per cui i dati delle metriche devono essere assenti prima che il monitoraggio ti invii una notifica utilizzando il campo Tempo di assenza dell'attivatore.

    4. Fai clic su Avanti.

  5. (Facoltativo) Crea un criterio di avviso con più condizioni.

    La maggior parte dei criteri monitora un singolo tipo di metrica, ad esempio un criterio potrebbe monitorare il numero di byte scritti in un'istanza VM. Quando vuoi monitorare più tipi di metriche, crea un criterio con più condizioni. Ogni condizione monitora un tipo di metrica. Dopo aver creato le condizioni, specifica come vengono combinate. Per informazioni, consulta Criteri con più condizioni.

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

    1. Per ogni condizione aggiuntiva, fai clic su Aggiungi condizione di avviso e poi configurala.
    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.
  6. Configura le notifiche:

    1. Espandi il menu Notifiche e nome e seleziona i canali di notifica. Per motivi di ridondanza, ti consigliamo di aggiungere a un criterio di avviso più tipi di canali di notifica. Per saperne di più, consulta la pagina Gestire i canali di notifica.

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

    3. (Facoltativo) Per modificare il tempo di attesa del monitoraggio prima di chiudere un incidente dopo l'interruzione dell'arrivo dei dati, seleziona un'opzione dal menu Durata della chiusura automatica dell'incidente. Per impostazione predefinita, quando i dati non arrivano più, Monitoring attende sette giorni prima di chiudere un incidente aperto.

    4. Seleziona un'opzione dal menu Livello di gravità delle norme. Gli incidenti e le notifiche mostrano il livello di gravità.

    5. (Facoltativo) Per aggiungere etichette personalizzate al criterio di avviso, nella sezione Etichette utente del criterio:

      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 dell'etichetta possono contenere lettere minuscole, numeri, trattini bassi e trattini. Ad esempio, inserisci critical.

      Per informazioni su come utilizzare le etichette delle norme per gestire le notifiche, consulta Annotare gli incidenti con le etichette.

  7. (Facoltativo) Nella sezione Documentazione, inserisci i contenuti da 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'incidente, ad esempio link a playbook interni, dashboard di Google Cloud e pagine esterne. Ad esempio, il seguente modello di documentazione descrive un incidente di utilizzo della CPU per una risorsa gce_instance e include diverse variabili per fare riferimento alle risorse REST delle norme e delle condizioni di avviso. Il modello di documentazione indirizza quindi i lettori a pagine esterne per facilitare il debug.

    Quando vengono create le notifiche, il monitoraggio sostituisce le variabili della documentazione con i relativi valori. I valori sostituiscono le variabili solo nelle notifiche. Il riquadro di anteprima e altri punti 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 la documentazione viene visualizzata in una notifica.

    Per ulteriori informazioni, consulta Annotare le notifiche con la documentazione definita dall'utente e Utilizzare i controlli dei canali.

  8. Fai clic su Nome avviso e inserisci un nome per il criterio di avviso.

  9. Fai clic su Crea criterio.

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, in modo da migliorarne le prestazioni. 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 il rendimento dell'avviso.

Un filtro è composto da un'etichetta, un comparatore e un valore. Ad esempio, per trovare corrispondenze con 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 contenitore delle 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 e 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 applicare il filtro, l'operatore di confronto e poi il valore. Ogni riga della tabella seguente elenca un operatore di confronto, il relativo significato e un esempio:

OperatoreSignificatoEsempio
= Equality resource.labels.zone = "us-central1-a"
!= Diseguaglianza resource.labels.zone != "us-central1-a"
=~ Uguaglianza Espressione regolare2 monitoring.regex.full_match("^us.*")
!=~ Diseguaglianza 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")