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 invia notifiche quando una serie temporale monitorata non contiene dati per una finestra di durata specifica.

Le condizioni di assenza di metriche richiedono almeno una misurazione riuscita, che recuperi i dati, entro la finestra di durata massima successiva all'installazione o alla modifica del criterio. La durata massima configurabile è di 24 ore se utilizzi la console Google Cloud e di 24,5 ore se utilizzi l'API Cloud Monitoring.

Ad esempio, supponi di aver impostato la finestra di durata in un criterio di assenza di metriche su 30 minuti. La condizione non può essere soddisfatta se il sottosistema che scrive i dati delle metriche non ha mai scritto un punto dati. Il sottosistema deve restituire almeno un punto dati e poi non produrre altri punti dati 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 inviano una notifica quando un determinato messaggio viene visualizzato nei log, consulta Monitoraggio dei 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 Monitoring (roles/monitoring.editor) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

    Potresti anche essere in grado di 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 acquisire familiarità con 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 eventuali avvisi. Per motivi di ridondanza, ti consigliamo di creare più tipi di canali di notifica. Per maggiori informazioni, consulta Creare e gestire 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 periodo di tempo specifico:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Avvisi:

    Vai ad Avvisi

  2. Seleziona Crea criterio.
  3. Seleziona le serie temporali da monitorare:

    1. Fai clic su Seleziona una metrica, naviga tra i menu per selezionare un tipo di risorsa e un tipo di metrica, poi 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 alla visualizzazione delle voci che includono util. Le voci vengono mostrate quando superano un test "contains" 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 corrisponde ai tipi di metrica e di 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 elemento di confronto e il valore del filtro. Ad esempio, il filtro zone =~ ^us.*.a$ utilizza un'espressione regolare per trovare la corrispondenza di tutti i dati delle serie temporali il cui nome della zona inizia con us e termina con a. Per ulteriori informazioni, consulta Filtrare le serie temporali selezionate.

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

      Questi campi specificano il modo in cui 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 maggiori informazioni, consulta Allineamento: regolarizzazione all'interno della serie.

    4. (Facoltativo) Combina le serie temporali se 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 voler calcolare la media dell'utilizzo della CPU per tutte le VM in una zona e, quindi, 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 tutte le serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione di serie temporali su un valore diverso da none. Ad esempio, per visualizzare il valore medio delle serie temporali, seleziona mean.
      3. Assicurati che il campo Raggruppa per serie temporali per sia vuoto.

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

      1. Nella sezione In tutte le serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione di serie temporali su un valore diverso da none.
      3. Nel campo Raggruppa per serie temporali, 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 la quale esistono dati. Le serie temporali mostrate per una zona specifica rappresentano la media di tutte le serie temporali con quella zona.

    5. Tocca Avanti.

  4. Configura l'attivatore della condizione:

    1. Seleziona Assenza metrica come tipo di condizione.
    2. Seleziona un valore per il menu Attivatore di avvisi. Questo menu consente di specificare il sottoinsieme di serie temporali che non deve contenere dati prima che la condizione sia soddisfatta.
    3. Specifica per quanto tempo i dati della metrica devono essere assenti prima che l'avviso ti invii una notifica utilizzando il campo Tempo di assenza del trigger.
    4. Tocca 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. Se vuoi monitorare più tipi di metriche, crea un criterio con più condizioni. Ogni condizione monitora un tipo di metrica. Dopo aver creato le condizioni, puoi specificare in che modo vengono combinate. Per informazioni, consulta la pagina Norme con più condizioni.

    Per creare un criterio di avviso con più condizioni:

    1. Per ogni condizione aggiuntiva, fai clic su Aggiungi condizione di avviso e configura quella condizione.
    2. Fai clic su Avanti e configura la combinazione delle condizioni.
    3. Fai clic su Avanti per passare alle notifiche e alla configurazione della documentazione.
  6. Configura le notifiche:

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

    2. (Facoltativo) Per ricevere una notifica quando un incidente viene 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 di Monitoring prima di chiudere un incidente dopo l'arrivo dei dati, seleziona un'opzione dal menu Durata della chiusura automatica dell'incidente. Per impostazione predefinita, quando i dati non arrivano, Monitoring attende sette giorni prima di chiudere un incidente aperto.

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

    5. (Facoltativo) Per aggiungere etichette personalizzate al criterio di avviso, nella sezione Etichette utente dei criteri, segui questi passaggi:

      1. Fai clic su Aggiungi etichetta e inserisci un nome per l'etichetta nel campo Chiave. 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 dei criteri per gestire gli avvisi, consulta Annotare gli avvisi con etichette.

  7. (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'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 al criterio di avviso e alle risorse REST della condizione. Il modello di documentazione indirizza poi i lettori a pagine esterne per facilitare il debug.

    Quando le notifiche vengono create, Monitoring sostituisce le variabili della documentazione con i relativi valori. I valori sostituiscono le variabili solo nelle notifiche. Il riquadro di anteprima e altre posizioni nella 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
    

    Formatta nella notifica

    Esempio di come viene visualizzata la documentazione in una notifica.

    Per maggiori informazioni, consulta Annotare gli avvisi con la documentazione definita dall'utente e Utilizzare i controlli del canale.

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

  9. Fai clic su Crea criterio.

Filtra le serie temporali selezionate

I filtri assicurano che vengano monitorate solo le serie temporali che soddisfano alcuni criteri. Quando applichi i filtri, puoi ridurre il numero di linee sul grafico, per 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 alcuni criteri. Quando applichi i filtri, sono presenti meno serie temporali da valutare, il che può migliorare le prestazioni dell'avviso.

Un filtro è composto da un'etichetta, un criterio di confronto e un valore. Ad esempio, per trovare corrispondenze di tutte le serie temporali la cui etichetta zone inizia con "us-central1", potresti 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 uguale a (=). Quando filtri in base ad altre etichette, puoi utilizzare qualsiasi strumento di confronto 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 fai clic su Fine. Nella finestra di dialogo, utilizza il campo Filtro per selezionare il criterio in base al quale filtrare, selezionare l'operatore di confronto e quindi selezionare il valore. Ogni riga nella 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 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 di resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")