Crea criteri di avviso per l'assenza di metriche

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

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 del criterio. Questo periodo di tempo è chiamato tempo di assenza trigger. Il tempo di assenza trigger massimo configurabile è 23,5 ore.

Ad esempio, supponiamo di impostare il tempo di assenza dell'attivatore in un criterio metric-absence 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 restituire almeno un punto dati e poi non restituire 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 ti avvisano quando nei tuoi log viene visualizzato un messaggio specifico, vedi Monitoraggio dei log.

Questo documento non descrive quanto segue:

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

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) sul 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 Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

  2. Assicurati di avere familiarità con i concetti generali delle norme di avviso. Per informazioni su questi argomenti, consulta la sezione 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 la pagina Crea e gestisci canali di notifica.

Crea criterio di avviso

Per creare un criterio di avviso che invia notifiche quando una serie temporale monitorata non ha dati per un determinato periodo di assenza di trigger, 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 di App Hub o il progetto di gestione della cartella app.
  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 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 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 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ù, vedi Filtrare la serie temporale selezionata.

    3. (Facoltativo) Per modificare l'allineamento dei punti in una serie temporale, nella sezione Trasforma i dati, imposta i campi Finestra temporale continua e Funzione finestra temporale continua.

      Se monitori una metrica basata sui 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 che la funzione finestra sia max. Il punto allineato è il valore massimo di tutti i punti negli ultimi 15 minuti. Per ulteriori informazioni, vedi 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, vedi Riduzione: combinazione di serie temporali.

      Per combinare tutte le serie temporali:

      1. Nella sezione Serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione serie temporale 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 Serie temporali, fai clic su Espandi.
      2. Imposta il campo Aggregazione serie temporale 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 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 di condizione:

    1. Seleziona Assenza metrica per il tipo di condizione.

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

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

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

      • 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, vedi Periodi di allineamento e finestre di 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 attivazione dell'assenza.

    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. 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, vedi Policy 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 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 un criterio di avviso più tipi di canali di notifica. Per saperne di più, consulta Gestire 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 incidente è chiuso, seleziona Notifica alla chiusura dell'incidente. Per impostazione predefinita, quando crei una criterio di avviso con la console Google Cloud , viene inviata una notifica solo quando viene creato un incidente.

    4. (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 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, seleziona un'applicazione e un servizio o un workload nella sezione Etichette applicazione. 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 al criterio di avviso, nella sezione Etichette utente criterio, 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 delle norme per gestire le notifiche, vedi Annotare gli incidenti con le 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'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 condizione e della criterio di avviso. Il modello di documentazione indirizza quindi i lettori a pagine esterne per facilitare 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 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 ulteriori informazioni, vedi 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 il criterio di avviso.

  10. 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 del 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 determinato 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 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 contenitore 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 di metrica e risorsa 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 di filtro, 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
= Equality resource.labels.zone = "us-central1-a"
!= Disuguaglianza resource.labels.zone != "us-central1-a"
=~ Uguaglianza espressione regolare 2 monitoring.regex.full_match("^us.*")
!=~ Disuguaglianza espressione regolare 2 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")