Grafico e monitoraggio delle metriche delle quote

Questo documento descrive come creare criteri di avviso e grafici per monitorare la quota assegnata da Google Cloud e include diversi esempi. Google Cloud stabilisce varie quote che puoi utilizzare per monitorare e limitare le risorse utilizzate da un progetto o un'organizzazione. Per informazioni generali sulle quote, incluse informazioni su quote di allocazione e quote di frequenza, consulta Utilizzo delle quote.

Prima di iniziare

Questo documento presuppone familiarità con i dati delle serie temporali e la loro manipolazione. Le seguenti risorse forniscono ulteriori informazioni:

  • Per informazioni sull'utilizzo dei dati delle serie temporali, consulta Filtri e aggregazione.
  • Per le definizioni dei termini gauge, delta e cumulativo, consulta Tipi di metriche.
  • Per maggiori dettagli sulle funzioni utilizzate per combinare le serie temporali, consulta Aligner e Reducer.

Gestione delle quote

Cloud Monitoring gestisce la quota in due modi:

  • Quota consumer: per questo tipo di quota, la risorsa monitorata è consumer_quota. Le metriche per questa risorsa sono un sottoinsieme delle metriche di serviceruntime.

    La maggior parte degli esempi in questa pagina sono esempi di quote consumer.

  • Quote specifiche delle risorse: alcuni servizi forniscono risorse monitorate con metriche per le quote specifiche delle risorse. Questi tipi di metriche vengono visualizzati in gruppi di tre e hanno un formato di denominazione:

    • service/quota/quota-type/exceeded
    • service/quota/quota-type/limit
    • service/quota/quota-type/usage

    Ad esempio, Compute Engine ha la risorsa compute.googleapis.com/VpcNetwork. Le metriche relative alla quota associate a questa risorsa sono il sottoinsieme compute.googleapis.com/quota delle metriche compute. Esistono tre tipi di metriche relative alla quota "istanze per rete VPC":

Identificare le metriche di quota e i nomi dei limiti

I dati non elaborati sul consumo delle quote, in particolare per la quota consumer, possono includere informazioni su molte quote diverse. Per estrarre informazioni su una quota specifica per un grafico o un criterio di avviso, devi identificare il sottoinsieme di dati della quota.

A seconda dell'origine, i dati della quota potrebbero includere etichette che puoi utilizzare per isolare le informazioni desiderate. Queste etichette includono:

  • Metrica di quota: la metrica di quota è un identificatore di un tipo di quota; non è uno dei tipi di metrica descritti nell'Elenco metriche. Ad esempio, tutti i dati della quota consumer sono scritti come tipo di metrica serviceruntime.googleapis.com come quota/allocation/usage. Questo tipo di metrica ha un'etichetta quota_metric che può essere utilizzata per filtrare in base a una quota specifica, ad esempio dati sull'utilizzo dell'allocazione.
  • Nome limite: il nome del limite identifica un limite su un tipo specifico di quota. A una quota può essere associato più di un limite. Ad esempio, una quota per le chiamate di lettura potrebbe avere un limite al minuto di 100 e un limite giornaliero di 1000, con due nomi limite, readsPerMinute e readsPerDay. I tipi di metriche relative alle quote potrebbero avere un campo limit_name per questo valore.

Tutti i tipi di metriche serviceruntime.googleapis.com/quota forniscono l'etichetta quota_metric, ma solo alcuni includono l'etichetta limit_name. I tipi di metriche specifiche della risorsa per la quota includono l'etichetta limit_name.

Non tutti i servizi Google Cloud supportano le metriche delle quote. Per determinare se un servizio supporta le metriche di quota e per identificare i valori delle etichette specifiche della quota, puoi utilizzare la seguente procedura:

  1. Nel pannello di navigazione della console Google Cloud, seleziona IAM e amministrazione e poi Quote:

    Vai a Quote

  2. Fai clic su Visualizza colonna e aggiungi le seguenti colonne alla visualizzazione della quota:

    • Metrica: questa colonna mostra il valore dell'etichetta quota_metric.
    • Nome limite: in questa colonna viene visualizzato il valore dell'etichetta limit_name.
    • Risorsa monitorata: se compilata, la quota utilizza la risorsa monitorata elencata. Se è vuota, la risorsa monitorata per la quota è consumer_quota.
  3. Individua la quota di interesse.

    Ad esempio, nella quota delle subnet dell'API Compute Engine la Metrica è compute.googleapis.com/subnetworks, il Nome limite è SUBNETWORKS-per-project e non è presente una Risorsa monitorata. Di conseguenza, la risorsa monitorata per questa quota è consumer_quota.

Esempio: visualizzare l'utilizzo per una metrica specifica della quota consumer

L'obiettivo è creare un grafico che mostri, per regione, la quota totale di spazio di archiviazione su disco di Compute Engine. Questo esempio di quota consumer recupera i dati di quota/allocation/usage, quindi li filtra in modo che venga visualizzato l'utilizzo dell'allocazione per una metrica di quota specifica:

  1. Nella console Google Cloud, seleziona Cloud Monitoring e poi Metrics Explorer.

  2. Seleziona la scheda Configurazione.

  3. Nella barra degli strumenti, imposta l'intervallo di tempo su un mese selezionando 1 milione.

  4. Espandi il menu Grafico a linee e seleziona Grafico a barre in pila.

  5. Configura Metrics Explorer per visualizzare l'utilizzo della quota di allocazione:

    1. Fai clic su Seleziona una metrica e inserisci allocation nella barra dei filtri.
    2. Seleziona Consumer Quota (Quota consumer) per la risorsa.
    3. Seleziona Quota come categoria di metrica.
    4. Seleziona Utilizzo quota di allocazione per la metrica e fai clic su Applica.

    Seleziona la quota consumer.

    Il grafico mostra l'utilizzo della quota di allocazione sotto forma di grafico a barre per il periodo di sei settimane. Visualizzando la legenda, puoi vedere che il grafico mostra l'utilizzo della quota per più servizi.

    Se utilizzi l'API Cloud Monitoring, il valore del filtro equivalente è:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
    

    Per visualizzare questo valore del filtro, espandi il menu Tipo di risorsa e seleziona Modalità filtro diretto.

  6. Per limitare il grafico al servizio Compute Engine, aggiungi il filtro service = compute.googleapis.com:

    Filtra la quota consumer in base al servizio di computing.

    Se utilizzi l'API Cloud Monitoring, il valore del filtro equivalente è:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
    

    Il grafico ora mostra le serie temporali per l'utilizzo delle quote allocate per le quote di Compute Engine. La legenda mostra il valore dell'etichetta quota_metric per ogni serie temporale visualizzata. Questo valore identifica la quota specifica. Ad esempio, compute.googleapis.com/disks_total_storage identifica le serie temporali per la quota totale di archiviazione su disco di Compute Engine.

    Il grafico mostra l'utilizzo delle quote solo per le quote che lo hanno registrato. Ad esempio, se il progetto non ha risorse Compute Engine, filtra in base ai risultati del servizio compute.googleapis.com in un grafico senza dati.

  7. Per creare un grafico che mostri l'utilizzo totale della quota di archiviazione su disco di Compute Engine, utilizza il filtro quota_metric = compute.googleapis.com/disks_total_storage:

    Filtra la quota consumer in base alla metrica della quota.

    Se utilizzi l'API Cloud Monitoring, il valore del filtro equivalente è:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  8. Il grafico precedente mostra le serie temporali per le regioni us-central1 e us-east1 e per più zone, inclusa la zona us-central1-a.

    Per perfezionare il grafico in modo che mostri solo i dati per le regioni, senza le zone, aggiungi un filtro basato sull'etichetta location. In questo esempio, dove entrambe le regioni hanno il prefisso us- e terminano con 1, un filtro che utilizza l'espressione regolare location =~ ^us.*1$ funziona bene:

    Filtra per metrica di quota e regione.

Per la quota consumer, il valore dell'etichetta quota_metric identifica sia il servizio sia l'utilizzo specifico della quota che viene monitorato. Utilizza queste informazioni quando crei grafici o criteri di avviso che monitorano una metrica di quota specifica.

Criteri di avviso in Cloud Monitoring

I criteri di avviso sono un modo per configurare Monitoring in modo da ricevere notifiche quando si verifica un evento, ad esempio il raggiungimento dell'85% del limite di una quota.

Un criterio di avviso è un insieme di condizioni e informazioni di notifica:

  • Una condizione descrive cosa viene monitorato, come devono essere combinati i dati delle serie temporali per la risorsa e quando viene generato un incidente. Un criterio di avviso deve specificare almeno una condizione.
  • Il canale di notifica specifica chi deve ricevere la notifica e in che modo quando si verifica un incidente. Ad esempio, puoi configurare il criterio di avviso in modo che invii email a una persona specifica o a un gruppo di persone.

Per creare condizioni dei criteri di avviso, puoi utilizzare due tecniche:

  • Utilizzare i filtri di Monitoring per selezionare e manipolare i dati. Ad esempio, quando utilizzi l'interfaccia grafica per creare condizioni dei criteri di avviso, vengono creati dei filtri. L'esempio mostrato in Utilizzo delle metriche delle quote utilizza i filtri per selezionare i dati per un grafico. Puoi usare i filtri anche nelle richieste all'API Monitoring.

  • Utilizzare MQL per selezionare e manipolare i dati. MQL è un linguaggio di query basato su testo. Con l'editor di codice MQL, puoi creare query che non puoi creare con la tecnica basata su filtri. Ti consigliamo di utilizzare MQL per creare criteri di avviso basati sul rapporto. Per maggiori informazioni, consulta gli esempi di criteri di avviso MQL.

Questa pagina illustra entrambe le tecniche. Puoi anche creare grafici utilizzando una delle due tecniche.

Filtra esempi di criteri di avviso

In questa sezione, ogni sottosezione include una rappresentazione JSON di un criterio di avviso, insieme a una coppia di tabelle che descrivono come configurare il criterio nella console Google Cloud:

  • La prima tabella descrive cosa viene monitorato e come devono essere combinati i dati.
  • La seconda tabella descrive quando è necessario generare un incidente.

Questi esempi riguardano l'approccio basato su filtri.

Nessuno di questi criteri calcola i rapporti. Per esempi basati sul rapporto, consulta Esempi di criteri di avviso MQL.

Avvisi relativi a quota/exceeded errori

Puoi creare un criterio di avviso per ricevere una notifica se un servizio nel tuo progetto Google Cloud segnala un errore di superamento della quota. Puoi creare questo tipo di criterio utilizzando la console Google Cloud o l'API Cloud Monitoring.

Utilizzo della console Google Cloud

Il resto dei contenuti di questa sottosezione riguarda la finestra di dialogo delle condizioni di un criterio di avviso.

Completa la finestra di dialogo Nuova condizione utilizzando le impostazioni nella tabella seguente. Con questa impostazione specifichi che vuoi monitorare i dati delle serie temporali per la metrica serviceruntime /quota/exceeded per tutti i servizi nel progetto Google Cloud e che vuoi raggruppare i dati in base al limite di quota.

Finestra di dialogo Nuova condizione
Campo

Valore
Risorse e metriche Nel menu Risorse, seleziona Quota consumer.
Nel menu Categorie di metriche, seleziona Quota.
Nel menu Metriche, seleziona Errore quota superata.

(metric.type è serviceruntime.googleapis.com/quota/exceeded,
e resource.type è consumer_quota).
Filtro

Aggiungi un filtro in modo che il grafico mostri solo i dati relativi al servizio che vuoi monitorare. Ad esempio, per monitorare il servizio Identity and Access Management, aggiungi il seguente filtro: service = iam.googleapis.com.

Quando il campo del filtro è vuoto, tutti i dati delle metriche disponibili vengono inclusi nel grafico.

Finestra temporale continua Seleziona
1 m
Funzione finestra temporale continua Seleziona
count true

Questa metrica è di tipo GAUGE, il che significa che ogni punto dati nella serie temporale è una misurazione istantanea. Il tipo di valore è BOOL. Un valore true indica che la quota è stata superata.

Per questa metrica, le funzioni di finestra temporale continua di count true e count sono equivalenti.

Nelle serie temporali
Aggregazione delle serie temporali

Seleziona sum.

Il campo di aggregazione viene impostato automaticamente su sum quando i dati vengono raggruppati. Questa impostazione definisce il modo in cui vengono combinati i dati delle singole serie temporali.

Nelle serie temporali
Raggruppa per serie temporali

Seleziona quota_metric.

Questa opzione raggruppa i dati in base al tipo di nome dell'oggetto quota_metric.

Completa la finestra di dialogo Configura trigger utilizzando le seguenti impostazioni. Queste impostazioni fanno sì che il criterio di avviso crei un avviso se il numero di errori di quota superata supera il valore di 0 per 1 m. Qui viene selezionato il valore 0 perché gli errori di superamento della quota sono imprevisti e indicano che è necessario aumentare una quota o che un servizio deve essere modificato per ridurre le richieste API. Ti consigliamo di utilizzare una soglia più alta.

Finestra di dialogo Configura trigger
Campo

Valore
Tipo di condizione Threshold
Attivazione degli avvisi Any time series violates
Posizione soglia Above threshold
Valore soglia 0
Periodo di nuovo test 1 m

Utilizzo dell'API Cloud Monitoring

Puoi creare questo criterio di avviso utilizzando il metodo API alertPolicies.create. Puoi richiamare l'API Cloud Monitoring direttamente tramite Google Cloud CLI oppure librerie client. Per ulteriori informazioni, consulta la sezione Creazione dei criteri.

Per informazioni sulla rappresentazione dei criteri di avviso in JSON o YAML, consulta i criteri di esempio.

Di seguito è riportata una rappresentazione di questo criterio di avviso in formato JSON.


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "60s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_COUNT_TRUE"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Quota exceeded error by label.quota_metric SUM",
      }
    ],
    "displayName": "Quota exceeded policy",
  }

Generazione di avvisi sul valore assoluto di quota/allocation/usage

Puoi creare un criterio di avviso per ricevere una notifica se l'utilizzo della quota di allocazione per un servizio specifico nel tuo progetto Google Cloud supera una soglia specificata dall'utente. Puoi creare questo tipo di criterio utilizzando la console Google Cloud o l'API Cloud Monitoring.

Utilizzo della console Google Cloud

Il resto dei contenuti di questa sottosezione riguarda la finestra di dialogo delle condizioni di un criterio di avviso.

Completa la finestra di dialogo Nuova condizione utilizzando le impostazioni nella tabella seguente. Queste impostazioni specificano che vuoi monitorare i dati delle serie temporali per la metrica serviceruntime /quota/allocation/usage per un servizio nel tuo progetto Google Cloud e che vuoi raggruppare i dati in base al limite di quota.

Finestra di dialogo Nuova condizione
Campo

Valore
Risorse e metriche Nel menu Risorse, seleziona Quota consumer.
Nel menu Categorie di metriche, seleziona Quota.
Nel menu Metriche, seleziona Utilizzo quota di allocazione.

(metric.type è serviceruntime.googleapis.com/quota/allocation/usage,
e resource.type è consumer_quota).
Filtro

Aggiungi un filtro in modo che il grafico mostri solo i dati relativi al servizio che vuoi monitorare. Ad esempio, per monitorare il servizio Identity and Access Management, aggiungi il seguente filtro: service = iam.googleapis.com.

Quando il campo del filtro è vuoto, tutti i dati delle metriche disponibili vengono inclusi nel grafico.

Finestra temporale continua Seleziona
1440 m

Le corrispondenze del periodo sono l'intervallo di campionamento per questa metrica.

Funzione finestra temporale continua Seleziona
next older

La funzione finestra temporale continua è impostata su next older per includere il valore misurato più recente di questa metrica GAUGE.

Nelle serie temporali
Aggregazione delle serie temporali

Seleziona sum.

Il campo di aggregazione viene impostato automaticamente su sum quando i dati vengono raggruppati. Questa impostazione definisce il modo in cui vengono combinati i dati delle singole serie temporali.

Nelle serie temporali
Raggruppa per serie temporali

Seleziona quota_metric.

Questa opzione raggruppa i dati in base al tipo di nome dell'oggetto quota_metric.

Completa la finestra di dialogo Configura trigger utilizzando le impostazioni seguenti. Queste impostazioni fanno sì che il criterio di avviso crei un avviso se il valore della serie temporale supera 2,5 per 1440 m. Il valore di 1440 m corrisponde alla finestra temporale continua. Per questo esempio è stato selezionato il valore 2, 5 perché è leggermente superiore al valore normale per il sistema di test. Devi selezionare la soglia in base al servizio che stai monitorando in combinazione con la comprensione dell'intervallo previsto di valori per la metrica.

Finestra di dialogo Configura trigger
Campo

Valore
Tipo di condizione Threshold
Attivazione degli avvisi Any time series violates
Posizione soglia Above threshold
Valore soglia 2.5
Periodo di nuovo test 1440 m

Utilizzo dell'API Cloud Monitoring

Puoi creare questo criterio di avviso utilizzando il metodo API alertPolicies.create. Puoi richiamare l'API Cloud Monitoring direttamente tramite Google Cloud CLI oppure librerie client. Per ulteriori informazioni, consulta la sezione Creazione dei criteri.

Per informazioni sulla rappresentazione dei criteri di avviso in JSON o YAML, consulta i criteri di esempio.

Di seguito è riportata una rappresentazione di questo criterio di avviso in formato JSON.


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "86400s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "thresholdValue": 2.5,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
      }
    ],
    "displayName": "Absolute quota usage policy",
  }

Esempi di criteri di avviso MQL

MQL è un linguaggio di query basato su testo che utilizza una serie di operazioni collegate da barre verticali. MQL consente di creare query più efficaci e flessibili rispetto ai filtri di Monitoring. Ti consigliamo di utilizzare MQL per configurare criteri di avviso basati su rapporto. Ad esempio, con MQL puoi impostare un rapporto per l'utilizzo della quota di frequenza, che richiede il calcolo del rapporto tra una metrica indicatore (il limite) e una metrica delta (frequenza).

Puoi creare criteri di avviso basati su MQL utilizzando la console Google Cloud o l'API Monitoring:

Per informazioni specifiche di MQL, consulta Utilizzo di Monitoring Query Language. Per ulteriori informazioni sui criteri di avviso basati su MQL, consulta Criteri di avviso con MQL.

Criterio di avviso che monitora il rapporto tra la quota di frequenza e il limite di quota

Il seguente pattern di query MQL descrive un criterio di avviso che invia una notifica quando l'utilizzo della tariffa al minuto di un servizio di risorse specifico supera l'80% di un limite specifico:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/rate/net_usage
    | align delta_gauge(1m)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sum(value.net_usage)
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'Limit'
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sliding(1m), max(val()) }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Per utilizzare questo pattern di query, apporta le seguenti modifiche:

  • Sostituisci sample.googleapis.com con il servizio che vuoi monitorare.
  • Sostituisci Limit per metric.limit_name con il limite che vuoi monitorare. Per informazioni sui nomi dei limiti per l'individuazione, consulta Identificazione delle metriche di quota e dei nomi dei limiti
  • Sostituisci 1m nelle funzioni delta_gauge e sliding con una finestra appropriata per il tuo limite.

Non modificare l'operazione every 1m, che determina la distanza tra i punti dati nei risultati della query.

Non puoi creare questa query con i filtri.

Criterio di avviso che monitora il rapporto della quota di frequenza con caratteri jolly

MQL supporta l'applicazione di filtri con caratteri jolly, espressioni regolari e logica booleana. Ad esempio, puoi utilizzare MQL per creare un criterio di avviso che monitori più limiti e ti avvisi se qualcuno supera una determinata soglia.

Il seguente pattern di query MQL descrive un criterio di avviso che invia notifiche quando l'utilizzo della tariffa al minuto o al giorno di qualsiasi servizio delle risorse supera l'80%:

fetch consumer_quota
| filter resource.service =~ '.*'
| { { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(1m)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerMinute.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(1m), max(val()) }
    | ratio
  ; { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(23hr)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerDay.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(23hr), max(val()) }
    | ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')

Nella query precedente, l'argomento dell'allineatore delta_gauge è impostato su 23 ore anziché su 1 giorno. MQL può richiedere solo 23 ore e 30 minuti di dati e, a fini di calcolo, l'allineatore delta_gauge aggiunge un'ora alla finestra di allineamento. Se utilizzi delta_gauge(1d), la condizione non può essere salvata perché la condizione richiede 25 ore di dati. Questo comportamento è diverso dall'allineatore next_older, che non riempie la finestra di allineamento.

Per utilizzare questo pattern di query, apporta le seguenti modifiche:

  • Sostituisci l'espressione regolare per resource.service con un'espressione regolare per i servizi che vuoi monitorare.
  • Nella prima proporzione:
    • Sostituisci .*PerMinute.* in metric.limit_name con un'espressione regolare per il primo gruppo di limiti che vuoi monitorare. Per informazioni sui nomi dei limiti per l'individuazione, consulta Identificazione delle metriche di quota e dei nomi dei limiti
    • Sostituisci 1m nelle funzioni delta_gauge e sliding con una finestra appropriata per i tuoi limiti.
  • Nella seconda proporzione:
    • Sostituisci .*PerDay.* per metric.limit_name con un'espressione regolare per il secondo gruppo di limiti che vuoi monitorare.
    • Sostituisci 23hr nelle funzioni delta_gauge e sliding con una finestra appropriata per i tuoi limiti.

Non modificare l'operazione every 1m, che determina la distanza tra i punti dati nei risultati della query.

Non puoi creare questa query con i filtri.

Avviso sul rapporto sull'utilizzo della quota di allocazione per un limite

Il seguente pattern di query MQL descrive un avviso che monitora quando l'utilizzo dell'allocazione giornaliera di un servizio di risorse specifico supera l'80% di un limite specifico:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'Limit'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Per utilizzare questo pattern di query, apporta le seguenti modifiche:

Non modificare l'operazione every 1m, che determina la distanza tra i punti dati nei risultati della query.

Esempio: utilizzo della CPU del 75% in qualsiasi regione

La seguente query crea un criterio di avviso che si attiva quando l'utilizzo della CPU dell'istanza VM di Compute Engine supera il 75% del limite in qualsiasi regione:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-region'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.75 '1')

Questo criterio per le quote consumer utilizza il nome del limite CPUS-per-project-region nella quota "CPU" dell'API Compute Engine. Per informazioni su come individuare i nomi dei limiti, consulta Identificazione delle metriche di quota e dei nomi dei limiti.

Criterio di avviso che monitora il rapporto della quota di allocazione per qualsiasi servizio

MQL supporta l'applicazione di filtri con caratteri jolly, espressioni regolari e logica booleana. Ad esempio, puoi utilizzare MQL per creare un avviso che monitori più limiti o servizi e ti avvisi se uno di questi supera una determinata soglia.

La seguente query MQL descrive un avviso che monitora quando l'utilizzo dell'allocazione giornaliera di qualsiasi servizio di risorse supera l'80% per uno qualsiasi dei limiti di quota:

fetch consumer_quota
| filter resource.service =~ '.*'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Puoi utilizzare questa query così come presentato oppure sostituire l'espressione regolare per resource.service con un'espressione regolare per i servizi che vuoi monitorare. Puoi anche filtrare in base a un servizio specifico e utilizzare caratteri jolly in un filtro con limite.

Non modificare l'operazione every 1m, che determina la distanza tra i punti dati nei risultati della query.

Esempio: utilizzo della CPU superiore al 50% in zone specifiche

La seguente query crea un criterio di avviso che si attiva quando l'utilizzo della CPU delle istanze VM di Compute Engine supera il 50% del limite in una delle zone us-central1. Questa query filtra i dati limit in base a un nome di limite e alla località delle risorse:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-zone' &&
              resource.location =~ 'us-central1-.*'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.50 '1')

Questo criterio per le quote consumer utilizza il nome del limite CPUS-per-project-zone nella quota "CPU" dell'API Compute Engine. Per informazioni su come individuare i nomi dei limiti, consulta Identificazione delle metriche di quota e dei nomi dei limiti.

Avviso relativo alle proporzioni che utilizza la quota specifica della risorsa

Puoi utilizzare MQL per configurare i rapporti per le metriche relative alle quote specifiche delle risorse. In questo caso, devi specificare una risorsa monitorata specifica per il servizio e calcolare un rapporto su una coppia di metriche relative alle quote specifiche per le risorse.

Il seguente pattern di query descrive un avviso che monitora quando l'utilizzo di una quota supera l'80% del limite:

fetch sample.googleapis.com/SampleResource
  | { metric sample.googleapis.com/quota/samplemetric/usage
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        max(val())
  ; metric sample.googleapis.com/quota/samplemetric/limit
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Per utilizzare questo pattern di query, apporta le seguenti modifiche:

  • Sostituisci sample.googleapis.com con il servizio che vuoi monitorare.
  • Sostituisci sampleResource con la risorsa monitorata associata.
  • Sostituisci samplemetric con la stringa per un gruppo di tipi di metrica.
  • Nelle operazioni group_by, elenca ogni etichetta della risorsa e della metrica.

Esempio: utilizzo della CPU del 75% in qualsiasi regione

Ad esempio, la seguente query MQL configura un avviso che monitora quando l'utilizzo della quota instances_per_vpc_network di Compute Engine supera l'80% per qualsiasi ID rete:

fetch compute.googleapis.com/VpcNetwork
| { metric compute.googleapis.com/quota/instances_per_vpc_network/usage
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        max(val())
  ; metric compute.googleapis.com/quota/instances_per_vpc_network/limit
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.80 '1')

Tieni presente che questa query utilizza il tipo di risorsa compute.googleapis.com/VpcNetwork, non consumer_quota, e prende il rapporto di due metriche compute.googleapis.com/quota/instances_per_vpc_network, usage e limit.

Esempi di grafici

I grafici mostrano i dati delle serie temporali. Puoi utilizzare Metrics Explorer per creare un grafico. Con Metrics Explorer puoi eliminare il grafico quando non ti serve più o salvarlo in una dashboard. Nella visualizzazione della dashboard puoi aggiungere un grafico alla dashboard.

Quando vuoi solo configurare un grafico che mostri i dati delle quote, puoi utilizzare le impostazioni nella tabella Nuova condizione. Le condizioni di avviso utilizzano una notazione diversa rispetto agli strumenti di creazione di grafici. Gli strumenti per creare grafici includono Metrics Explorer e la configurazione dei grafici su dashboard personalizzate:
Finestra di dialogo Nuova condizione
nome campo
Grafici
Funzione finestra temporale continua

Configurata in modo ottimale in base alla metrica selezionata e alle impostazioni di aggregazione.

Per specificare la funzione di allineamento, procedi nel seguente modo:

  1. Nell'elemento Aggregation, espandi il primo menu e seleziona Configura allineatore. Vengono aggiunti gli elementi Funzione di allineamento e Raggruppamento.
  2. Espandi l'elemento Funzione di allineamento e effettua una selezione.

Finestra temporale continua Intervallo minimo
(per accedere, fai clic su Aggiungi elemento di query)
Raggruppa di serie temporali per
(nella sezione In serie temporali)
Secondo menu dell'elemento Aggregation
Aggregazione di serie temporali
(nella sezione Nelle serie temporali)
Primo menu dell'elemento Aggregation

Serie temporale per quota/rate/net_usage

Per visualizzare i dati delle serie temporali per la metrica serviceruntime quota/rate/net_usage, per tutti i servizi nel tuo progetto Google Cloud, in cui i dati sono raggruppati per nome della metrica della quota e viene visualizzata la frequenza di utilizzo, usa le seguenti impostazioni:

Finestra di dialogo Nuova condizione
Campo

Valore
Risorse e metriche Nel menu Risorse, seleziona Quota consumer.
Nel menu Categorie di metriche, seleziona Quota.
Nel menu Metriche, seleziona Utilizzo quota di frequenza.

(metric.type è serviceruntime.googleapis.com/quota/rate/net_usage,
e resource.type è consumer_quota).
Filtro

Aggiungi un filtro in modo che il grafico mostri solo i dati relativi al servizio che vuoi monitorare. Ad esempio, per monitorare il servizio Identity and Access Management, aggiungi il seguente filtro: service = iam.googleapis.com.

Quando il campo del filtro è vuoto, tutti i dati delle metriche disponibili vengono inclusi nel grafico.

Finestra temporale continua Seleziona
1 m

Il periodo di 1 minuto corrisponde all'intervallo di campionamento per questa metrica.

Funzione finestra temporale continua Seleziona
rate

Se imposti l'allineatore sul valore rate, i valori archiviati nella serie temporale per questa metrica DELTA vengono convertiti in una nuova serie temporale in cui archivia i dati sulle tariffe. L'asse y del grafico contiene le unità di quota al secondo.

Nelle serie temporali
Aggregazione delle serie temporali

Seleziona sum.

Il campo di aggregazione viene impostato automaticamente su sum quando i dati vengono raggruppati. Questa impostazione definisce il modo in cui vengono combinati i dati delle singole serie temporali.

Nelle serie temporali
Raggruppa per serie temporali

Seleziona quota_metric.

Questa opzione raggruppa i dati in base al tipo di nome dell'oggetto quota_metric.

Serie temporale per quota/instances_per_vpc_network/limit

Per visualizzare i dati delle serie temporali per la metrica compute.googleapis.com quota/instances_per_vpc_network/limit, per tutte le reti nel tuo progetto Google Cloud, utilizza le seguenti impostazioni:

Finestra di dialogo Nuova condizione
Campo

Valore
Risorse e metriche Nel menu Tipo di risorsa, seleziona Rete VPC.
Nel menu Categoria metrica, seleziona quota.
Nel menu Metrica, seleziona Istanze per limite di quota di rete VPC.

(metric.type è compute.googleapis.com/quota/instances_per_vpc_network/limit,
e resource.type è compute.googleapis.com/VpcNetwork).
Filtro Lascia vuoto
Finestra temporale continua Seleziona
1 m

Le corrispondenze del periodo sono l'intervallo di campionamento per questa metrica.

Funzione finestra temporale continua Seleziona
mean
Nelle serie temporali
Aggregazione delle serie temporali
Parti come none
Nelle serie temporali
Raggruppa per serie temporali
Lascia vuoto

Serie temporale per quota/instances_per_vpc_network/usage

Per visualizzare i dati delle serie temporali per la metrica compute.googleapis.com quota/instances_per_vpc_network/usage, utilizza le seguenti impostazioni per una delle reti nel tuo progetto Google Cloud:

Finestra di dialogo Nuova condizione
Campo

Valore
Risorse e metriche Nel menu Tipo di risorsa, seleziona Rete VPC.
Nel menu Categoria metrica, seleziona quota.
Nel menu Metrica, seleziona Istanze per utilizzo della quota di rete VPC.

(metric.type è compute.googleapis.com/quota/instances_per_vpc_network/usage,
e resource.type è compute.googleapis.com/VpcNetwork).
Metrica Nel menu Metrica, seleziona compute.googleapis.com/quota/instances_per_vpc_network/usage.
Filtro

Aggiungi un filtro in modo che il grafico mostri solo un sottoinsieme di tutti i dati. Ad esempio, per visualizzare l'utilizzo in una rete specifica, aggiungi il seguente filtro: network_id = identifier.

Quando il campo del filtro è vuoto, tutti i dati delle metriche disponibili vengono inclusi nel grafico.

Finestra temporale continua Seleziona
1 m

Le corrispondenze del periodo sono l'intervallo di campionamento per questa metrica.

Funzione finestra temporale continua Seleziona
mean
Nelle serie temporali
Aggregazione delle serie temporali
Parti come none
Nelle serie temporali
Raggruppa per serie temporali
Lascia vuoto

Grafici MQL

Puoi utilizzare le query MQL per creare grafici mediante l'editor di codice MQL. Ad esempio, le query mostrate negli esempi di criterio di avviso MQL possono essere inserite nell'editor di codice. Puoi omettere l'ultima operazione, condition, in ogni query; verrà applicata tranne quando crei una condizione per un criterio di avviso. In un grafico, l'operazione condition non ha alcun effetto.

Per maggiori informazioni, consulta Utilizzare l'editor di codice per MQL e Esempi di MQL.