Crea criteri di avviso per l'assenza di metriche

Questo documento descrive come utilizzare la Google Cloud consoleper creare una policy di avviso che invia notifiche quando una serie temporale monitorata non ha dati per un periodo di tempospecifico.

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

Ad esempio, supponiamo che tu abbia impostato il tempo di assenza del trigger in una policy di assenza di metriche 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 generare almeno un punto dati e poi non generare altri punti dati per 30 minuti.

Questi contenuti non si applicano alle policy di avviso basate su log. Per informazioni sulle policy di avviso basate su log, che ti inviano una notifica quando nei log viene visualizzato un messaggio specifico, consulta Monitorare i log.

Questo documento non descrive quanto segue:

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

Prima di iniziare

  1. Per ottenere le autorizzazioni necessarie per creare e modificare le policy di avviso utilizzando la Google Cloud console, chiedi all'amministratore di concederti il ruolo IAM Editor di Monitoring (roles/monitoring.editor) sul 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 saperne di più sui ruoli di Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

  2. Assicurati di conoscere 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 motivi di ridondanza, ti consigliamo di creare più tipi di canali di notifica. Per saperne di più, consulta Crea e gestisci canali di notifica.

Crea criterio di avviso

Per creare una criterio di avviso che invia notifiche quando una serie temporale monitorata non ha dati per un tempo di assenza del trigger specifico:

  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 Google Cloud console, seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione.
  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, il menu viene limitato per mostrare 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 ai tipi di metriche e risorse selezionati nel passaggio precedente, fai clic su Aggiungi filtro. Nella finestra di dialogo del filtro, seleziona l'etichetta in base alla quale filtrare, un operatore di confronto 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 la modalità di allineamento dei punti in una serie temporale, nella sezione Trasforma dati, imposta i campi Finestra mobile e Funzione finestra mobile.

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

      Questi campi specificano come vengono combinati i punti registrati in una finestra. Ad esempio, supponiamo che la finestra sia di 15 minuti e la funzione finestra sia max. Il punto allineato è il valore massimo di tutti i punti negli ultimi 15 minuti. Per saperne di più, consulta Allineamento: regolarizzazione all'interno della 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:

      1. Nella sezione Tra le 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 Raggruppa serie temporali per sia vuoto.

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

      1. Nella sezione Tra le 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 visualizza una serie temporale per ogni zona per cui sono presenti 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 Attivatore avviso, che ha i seguenti valori:

      • Una serie temporale è in violazione: impostazione predefinita. Qualsiasi serie temporale con dati mancanti per l'intero tempo di assenza del trigger 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 tempo di assenza del trigger 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 tempo di assenza del trigger.

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

      • Tutte le serie temporali sono in violazione: tutte le serie temporali devono avere dati mancanti per l'intero tempo 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 ripetizione del test.

    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 del 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 una policy potrebbe monitorare il numero di byte scritti in 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:

    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. Per motivi di ridondanza, ti consigliamo di aggiungere a una criterio di avviso più tipi di canali di notifica. Per saperne di più, consulta Gestire i canali di notifica.

    2. (Facoltativo) Per utilizzare una riga dell'oggetto personalizzata nella notifica anziché quella predefinita, aggiorna il campo Oggetto della notifica.

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

    4. (Facoltativo) Per modificare il tempo di attesa di Monitoring prima di chiudere un incidente dopo l'interruzione della ricezione dei dati, seleziona un'opzione dal menu Durata chiusura automatica incidenti. Per impostazione predefinita, quando i dati smettono di arrivare, Monitoring attende sette giorni prima di chiudere un incidente 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 incidenti e le notifiche mostrano queste etichette.

    6. (Facoltativo) Seleziona un'opzione dal menu Livello di gravità della policy. Gli incidenti 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 Annotare gli incidenti con le etichette.

  8. (Facoltativo) Nella sezione Documentazione, inserisci tutti 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'incidente, ad esempio link a playbook interni, Google Cloud dashboard 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 della criterio di avviso e della condizione. Il modello di documentazione indirizza quindi 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 altri punti della Google Cloud console 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 Annotare le notifiche con la documentazione definita dall'utente e Utilizzare i controlli dei canali.

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

  10. Fai clic su Crea policy.

Filtra le serie temporali selezionate

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 il rendimento 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, il numero di serie temporali da valutare è inferiore, il che può migliorare il rendimento dell'avviso.

Un filtro è composto da un'etichetta, un operatore di confronto e un valore. Ad esempio, per trovare corrispondenze in 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 operatore di confronto supportato. In genere, puoi filtrare le etichette di metriche e risorse e in base al 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 suo significato e un esempio:

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