Questo documento descrive come creare criteri di avviso e grafici per monitorare la quota allocata da Google Cloude 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 quelle su allocazione e frequenza, consulta Utilizzo delle quote.
Prima di iniziare
Questo documento presuppone la 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, vedi Filtro e aggregazione.
- Per le definizioni dei termini gauge, delta e cumulativo, consulta Tipi di metriche.
- Per informazioni dettagliate sulle funzioni utilizzate per combinare le serie temporali, vedi
Aligner
eReducer
.
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 metricheserviceruntime
.La maggior parte degli esempi in questa pagina riguarda le quote dei consumatori.
Quote specifiche per le risorse: alcuni servizi forniscono risorse monitorate che dispongono di metriche specifiche per le risorse per le quote. Questi tipi di metriche vengono visualizzati in gruppi di tre e seguono 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 delle metrichecompute
.compute.googleapis.com/quota
Esistono tre tipi di metriche correlate alla quota "istanze per rete VPC":quota/instances_per_vpc_network/exceeded
quota/instances_per_vpc_network/limit
quota/instances_per_vpc_network/usage
Identifica le metriche delle quote e i nomi dei limiti
I dati non elaborati sul consumo di quota, in particolare per la quota consumer, possono includere informazioni su molte quote diverse. Per estrarre informazioni su una quota specifica per un grafico o unacriterio di avvisoo, devi identificare quel sottoinsieme di dati della quota.
A seconda dell'origine, i dati sulle quote potrebbero includere etichette che puoi utilizzare per isolare le informazioni che ti interessano. Queste etichette includono:
- Metrica di quota: la metrica di quota è un identificatore per un tipo di quota; non è uno dei tipi di metriche descritti nell'elenco delle metriche. Ad esempio, tutti i dati relativi alla quota di consumo vengono scritti come tipo di metrica
serviceruntime.googleapis.com
, ad esempioquota/allocation/usage
. Questo tipo di metrica ha un'etichettaquota_metric
che può essere utilizzata per filtrare una quota specifica, ad esempio i dati sull'utilizzo dell'allocazione. - Nome limite: il nome del limite identifica un limite per 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 al giorno
di 1000, con due nomi di limite,
readsPerMinute
ereadsPerDay
. I tipi di metrica correlati alla quota potrebbero avere un campolimit_name
per questo valore.
Tutti i tipi di metrica serviceruntime.googleapis.com/quota
forniscono l'etichetta quota_metric
, ma solo alcuni includono l'etichetta limit_name
.
I tipi di metriche specifici per le risorse 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 per la quota, puoi utilizzare la seguente procedura:
-
Nella console Google Cloud , vai alla pagina Quote e limiti di sistema:
Vai a Quote e limiti di sistema
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e amministrazione.
Fai clic su view_column Visualizza colonna e aggiungi le seguenti colonne alla visualizzazione della quota:
- Metrica: questa colonna mostra il valore dell'etichetta
quota_metric
. - Nome limite: questa colonna mostra il valore dell'etichetta
limit_name
. - Risorsa monitorata: se compilata, la quota utilizza la risorsa monitorata elencata. Se è vuoto, la risorsa monitorata per la quota è
consumer_quota
.
- Metrica: questa colonna mostra il valore dell'etichetta
Individua la quota di interesse.
Ad esempio, la quota di subnet dell'API Compute Engine elenca la metrica come
compute.googleapis.com/subnetworks
, il nome limite comeSUBNETWORKS-per-project
e non elenca una risorsa monitorata. Pertanto, la risorsa monitorata per questa quota èconsumer_quota
.
Esempio: visualizzare l'utilizzo per una metrica di quota consumer specifica
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 di consumo recupera
i dati quota/allocation/usage
e poi li filtra
in modo che venga visualizzato l'utilizzo dell'allocazione per una metrica di quota specifica:
Nella console Google Cloud , seleziona Cloud Monitoring, quindi seleziona Metrics Explorer.
Nella barra degli strumenti, espandi il menu del periodo di tempo e seleziona Ultimi 14 giorni.
Espandi il menu Tipo di widget e seleziona Grafico a barre in pila.
Configura Esplora metriche per visualizzare l'utilizzo della quota di allocazione:
- Fai clic su Seleziona una metrica e inserisci
allocation
nella filter_list barra dei filtri. - Seleziona Quota consumer per la risorsa.
- Seleziona Quota per la categoria di metriche.
- Seleziona Utilizzo quota di allocazione per la metrica e fai clic su Applica.
- Espandi il menu Aggregazione e seleziona Nessuna aggregazione.
Il grafico mostra l'utilizzo della quota di allocazione come grafico a barre per il periodo di sei settimane. Visualizzando la legenda, puoi notare 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"
Puoi visualizzare questo valore del filtro espandendo il menu Tipo di risorsa e poi selezionando Modalità di filtro diretto.
- Fai clic su Seleziona una metrica e inserisci
Per limitare il grafico al servizio Compute Engine, aggiungi il filtro
service = compute.googleapis.com
: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 della quota allocata 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 la serie temporale per la quota di spazio di archiviazione totale su disco di Compute Engine.Il grafico mostra l'utilizzo della quota solo per le quote che hanno registrato un utilizzo. Ad esempio, se il progetto non ha risorse Compute Engine, il filtro per il servizio
compute.googleapis.com
genera un grafico senza dati.Per creare un grafico che mostri l'utilizzo totale della quota di spazio di archiviazione su disco di Compute Engine, utilizza il filtro
quota_metric = compute.googleapis.com/disks_total_storage
: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"
Il grafico precedente mostra le serie temporali per le regioni
us-central1
eus-east1
e per più zone, inclusa la zonaus-central1-a
.Per perfezionare il grafico in modo che mostri i dati solo per le regioni, senza le zone, aggiungi un filtro basato sull'etichetta
location
. Per questo esempio, in cui entrambe le regioni hanno il prefissous-
e terminano con1
, un filtro che utilizza l'espressione regolarelocation =~ ^us.*1$
funziona bene:
Per la quota di consumo, il valore dell'etichetta quota_metric
identifica
sia il servizio sia l'utilizzo specifico della quota monitorata. Quando crei
grafici o criteri di avviso che monitorano una metrica di quota specifica, utilizzi
queste informazioni.
Criteri di avviso in Cloud Monitoring
I criteri di avviso sono un modo per configurare Monitoring in modo che ti invii una notifica 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 quella risorsa e quando viene generato un incidente. Una criterio di avviso deve specificare almeno una condizione.
- Il canale di notifica specifica chi deve essere avvisato e come deve essere avvisato quando si verifica un incidente. Ad esempio, puoi configurare il criterio di avviso per inviare email a una persona specifica o a un gruppo di persone.
Esistono due tecniche che puoi utilizzare per creare condizioni per le policy di avviso:
Utilizzo dei filtri di monitoraggio per selezionare e manipolare i dati. Ad esempio, quando utilizzi l'interfaccia grafica per creare condizioni per i criteri di avviso, stai creando filtri. L'esempio mostrato in Utilizzo delle metriche di quota utilizza i filtri per selezionare i dati per un grafico. Puoi anche utilizzare i filtri nelle richieste all'API Monitoring.
Utilizzo di MQL per selezionare e manipolare i dati. MQL è un linguaggio di query basato sul testo. Con l'editor di codice MQL, puoi creare query che non puoi creare con la tecnica basata sui filtri. Ti consigliamo di utilizzare MQL per creare criteri di avviso basati sui rapporti. Per ulteriori informazioni, consulta Esempi di criteri di avviso MQL.
Questa pagina illustra entrambe le tecniche. Puoi anche creare grafici utilizzando una delle due tecniche.
Esempi di policy di avviso filtrate
In questa sezione, ogni sottosezione include una rappresentazione JSON di una criterio di avviso, insieme a una coppia di tabelle che descrivono come configurare la policy nella console Google Cloud :
- La prima tabella descrive cosa viene monitorato e come devono essere combinati i dati.
- La seconda tabella descrive quando deve essere generato un incidente.
Questi esempi si riferiscono all'approccio basato sui filtri.
Nessuna di queste norme calcola i rapporti. Per esempi basati sul rapporto, vedi Esempi di criteri di avviso MQL.
Avvisi sugli errori quota/exceeded
Puoi creare un criterio di avviso per ricevere una notifica se un servizio nel tuo progettoGoogle Cloud segnala un errore di superamento della quota. Puoi creare questo tipo di policy 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 unacriterio di avvisoo.
Completa la finestra di dialogo Nuova condizione utilizzando le impostazioni nella
tabella seguente.
Questa impostazione specifica che vuoi monitorare i dati delle serie temporali per la metrica serviceruntime
/quota/exceeded
per tutti i servizi nel tuo progetto Google Cloud e che vuoi raggruppare i dati in base al limite di quota.
Campo nella finestra di dialogo Nuova condizione |
Valore |
---|---|
Risorsa e metrica | Nel menu Risorse, seleziona Quota consumer. Nel menu Categorie di metriche, seleziona Quota. Nel menu Metriche, seleziona Errore di superamento quota. (Il metric.type è serviceruntime.googleapis.com/quota/exceeded ,e il resource.type è consumer_quota ).
|
Filtro |
Aggiungi un filtro in modo che il grafico mostri solo i dati del 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, nel grafico vengono inclusi tutti i dati delle metriche disponibili. |
Finestra temporale continua | Seleziona 1 m |
Funzione finestra temporale continua | Seleziona count true
Questa metrica è di tipo Per questa metrica, le funzioni finestra temporale continua di |
Tra le serie temporali Aggregazione serie temporali |
Seleziona Il campo di aggregazione viene impostato automaticamente su |
Tra le serie temporali Raggruppa serie temporali per |
Seleziona Questa opzione raggruppa i dati in base al tipo di nome di |
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 superamento della quota supera il valore 0 per 1 minuto. Qui è selezionato un valore pari a 0 perché gli errori di superamento della quota sono imprevisti e indicano che una quota deve essere aumentata o che un servizio deve essere modificato per ridurre le richieste API. Ti consigliamo di utilizzare una soglia più alta.
Campo nella finestra di dialogo Configura trigger |
Valore |
---|---|
Tipo di condizione | Threshold |
Trigger avviso | Any time series violates |
Posizione soglia | Above threshold |
Valore soglia | 0 |
Finestra di ripetizione test | 1 min |
Utilizzo dell'API Cloud Monitoring
Puoi creare questo criterio di avviso utilizzando il metodo API
alertPolicies.create
. Puoi richiamare l'API Cloud Monitoring direttamente, utilizzando Google Cloud CLI o le librerie client. Per saperne di più, consulta Creazione di criteri.
Per informazioni sulla rappresentazione dei criteri di avviso in formato JSON o YAML, consulta Criteri di esempio.
Di seguito è riportata una rappresentazione di questa 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",
}
Avviso 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 progettoGoogle Cloud supera una soglia specificata dall'utente. Puoi creare questo tipo di policy 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 unacriterio di avvisoo.
Completa la finestra di dialogo Nuova condizione utilizzando le impostazioni nella
tabella seguente.
Questa impostazione specifica 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.
Campo nella finestra di dialogo Nuova condizione |
Valore |
---|---|
Risorsa e metrica | Nel menu Risorse, seleziona Quota consumer. Nel menu Categorie di metriche, seleziona Quota. Nel menu Metriche, seleziona Utilizzo quota di allocazione. (Il metric.type è serviceruntime.googleapis.com/quota/allocation/usage ,e il resource.type è consumer_quota ).
|
Filtro |
Aggiungi un filtro in modo che il grafico mostri solo i dati del 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, nel grafico vengono inclusi tutti i dati delle metriche disponibili. |
Finestra temporale continua | Seleziona 1440 m Il periodo di corrispondenza è l'intervallo di campionamento per questa metrica. |
Funzione finestra temporale continua | Seleziona next older La funzione finestra mobile è impostata su |
Tra le serie temporali Aggregazione serie temporali |
Seleziona Il campo di aggregazione viene impostato automaticamente su |
Tra le serie temporali Raggruppa serie temporali per |
Seleziona Questa opzione raggruppa i dati in base al tipo di nome di |
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 valore della serie temporale supera 2,5 per 1440 m. Il valore di 1440 m corrisponde alla finestra mobile. Il valore 2, 5 è stato selezionato per questo esempio 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 una comprensione dell'intervallo di valori previsto per la metrica.
Campo nella finestra di dialogo Configura trigger |
Valore |
---|---|
Tipo di condizione | Threshold |
Trigger avviso | Any time series violates |
Posizione soglia | Above threshold |
Valore soglia | 2.5 |
Finestra di ripetizione 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, utilizzando Google Cloud CLI o le librerie client. Per saperne di più, consulta Creazione di criteri.
Per informazioni sulla rappresentazione dei criteri di avviso in formato JSON o YAML, consulta Criteri di esempio.
Di seguito è riportata una rappresentazione di questa 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 pipe. MQL ti consente di creare query più potenti e flessibili rispetto a quelle che puoi creare con i filtri di Monitoring. Ti consigliamo di utilizzare MQL per configurare criteri di avviso basati sul rapporto. Ad esempio, con MQL puoi impostare un rapporto per l'utilizzo della quota di velocità, che richiede il calcolo del rapporto tra una metrica di tipo indicatore (il limite) e una metrica delta (la velocità).
Puoi creare criteri di avviso basati su MQL utilizzando la console Google Cloud o l'API Monitoring:
ConsoleGoogle Cloud : utilizza l'editor di codice MQL quando crei la condizione di avviso. Per visualizzare l'editor di codice, nella barra degli strumenti della finestra di dialogo Crea criterio di avviso, fai clic su code Editor query. Per ulteriori informazioni sull'utilizzo di questo editor, consulta Utilizzare l'editor di codice per MQL.
API Monitoring: utilizza il metodo
alertPolicies.create
e fornisci una condizione di tipoMonitoringQueryLanguageCondition
. Questo tipo di condizione accetta una query MQL come valore del campo. Per ulteriori informazioni sull'utilizzo dell'API Monitoring con MQL, consulta Creazione di condizioni per i criteri di avviso MQL.
Per informazioni specifiche su 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 frequenza 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
permetric.limit_name
con il limite che vuoi monitorare. Per informazioni su come trovare i nomi dei limiti, consulta Identificare le metriche delle quote e i nomi dei limiti - Sostituisci
1m
nelle funzionidelta_gauge
esliding
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 tra la quota di velocità con caratteri jolly
MQL supporta il filtro con caratteri jolly, espressioni regolari e logica booleana. Ad esempio, puoi utilizzare MQL per creare un criterio di avviso che monitora più limiti e ti avvisa se uno di questi supera una soglia.
Il seguente pattern di query MQL descrive un criterio di avviso che invia notifiche quando l'utilizzo al minuto o al giorno di qualsiasi servizio di 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(23h)
| 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(23h), max(val()) }
| ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')
Nella query precedente, l'argomento per l'allineatore delta_gauge
è impostato su
23 ore anziché 1 giorno. MQL può richiedere solo
23 ore e 30 minuti di dati e, ai fini del calcolo,
l'allineatore delta_gauge
aggiunge un'ora al periodo di allineamento. Se utilizzi delta_gauge(1d)
, la condizione non può essere salvata perché richiede 25 ore di dati. Questo comportamento è diverso da quello
dell'allineatore next_older
, che non riempie il periodo 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. - Nel primo rapporto:
- Sostituisci
.*PerMinute.*
permetric.limit_name
con un'espressione regolare per il primo gruppo di limiti che vuoi monitorare. Per informazioni su come trovare i nomi dei limiti, consulta Identificare le metriche delle quote e i nomi dei limiti - Sostituisci
1m
nelle funzionidelta_gauge
esliding
con una finestra adatta ai tuoi limiti.
- Sostituisci
- Nel secondo rapporto:
- Sostituisci
.*PerDay.*
permetric.limit_name
con un'espressione regolare per il secondo gruppo di limiti che vuoi monitorare. - Sostituisci
23h
nelle funzionidelta_gauge
esliding
con una finestra adatta ai tuoi limiti.
- Sostituisci
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 di 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:
- Sostituisci
sample.googleapis.com
con il servizio che vuoi monitorare. - Sostituisci
Limit
permetric.limit_name
con il limite che vuoi monitorare. Per informazioni su come trovare i nomi dei limiti, consulta Identificare le metriche delle quote e i nomi dei limiti
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 dei consumatori utilizza il nome del limite CPUS-per-project-region
nella quota "CPU" dell'API Compute Engine. Per informazioni su come trovare i nomi dei limiti,
consulta Identificare le metriche di quota e i nomi dei limiti.
Criterio di avviso che monitora il rapporto tra la quota di allocazione per qualsiasi servizio
MQL supporta il filtraggio con caratteri jolly, espressioni regolari e logica booleana. Ad esempio, puoi utilizzare MQL per creare un avviso che monitora più limiti o servizi e ti avvisa se uno di questi supera una 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ì com'è 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 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 una criterio di avviso che viene attivata quando l'utilizzo della CPU delle istanze VM di Compute Engine supera il 50% del limite in una qualsiasi delle zone us-central1
. Questa query filtra i dati limit
in base a un nome limite e alla posizione della risorsa:
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 dei consumatori utilizza il nome del limite CPUS-per-project-zone
nella quota "CPU" dell'API Compute Engine. Per informazioni su come trovare i nomi dei limiti,
consulta Identificare le metriche di quota e i nomi dei limiti.
Avviso sul rapporto che utilizza la quota specifica per le risorse
Puoi utilizzare MQL per configurare i rapporti per le metriche relative alle quote specifiche per le risorse. In questo caso, specifichi una risorsa monitorata specifica del servizio e calcoli un rapporto su una coppia di metriche correlate alla quota specifiche della risorsa.
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 metriche. - Nelle operazioni
group_by
, elenca ciascuna etichetta di risorsa e 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 di 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 tra 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 Esplora metriche puoi eliminare il grafico quando non ti serve più oppure puoi salvarlo in una dashboard. Nella visualizzazione della dashboard, puoi aggiungere un grafico alla dashboard.
Se vuoi configurare solo un grafico che mostri i dati della quota, 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 di creazione di grafici includono Esplora metriche e la configurazione dei grafici nelle dashboard personalizzate:Nome campo della finestra di dialogo Nuova condizione |
Grafici |
---|---|
Funzione finestra temporale continua | Configurato in modo ottimale in base alle impostazioni di aggregazione e alla metrica selezionata. Per specificare la funzione di allineamento, procedi nel seguente modo:
|
Finestra temporale continua | Intervallo minimo (per accedere, fai clic su add Aggiungi elemento di query) |
Raggruppa serie temporali per (nella sezione Tra le serie temporali) |
Secondo menu dell'elemento Aggregazione |
Aggregazione serie temporali (nella sezione Tra serie temporali) |
Primo menu dell'elemento Aggregazione |
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 ,
dove i dati sono raggruppati in base al nome della metrica di quota e viene visualizzato il tasso di utilizzo,
utilizza le seguenti impostazioni:
Campo nella finestra di dialogo Nuova condizione |
Valore |
---|---|
Risorsa e metrica | 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 del 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, nel grafico vengono inclusi tutti i dati delle metriche disponibili. |
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 di |
Tra le serie temporali Aggregazione serie temporali |
Seleziona Il campo di aggregazione viene impostato automaticamente su |
Tra le serie temporali Raggruppa serie temporali per |
Seleziona Questa opzione raggruppa i dati in base al tipo di nome di |
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:
Campo nella finestra di dialogo Nuova condizione |
Valore |
---|---|
Risorsa e metrica | Nel menu Tipo di risorsa, seleziona Rete VPC. Nel menu Categoria metrica, seleziona Quota. Nel menu Metrica, seleziona Limite di quota per istanze per rete VPC. (Il metric.type è compute.googleapis.com/quota/instances_per_vpc_network/limit ,e il resource.type è compute.googleapis.com/VpcNetwork ).
|
Filtro | Lascia vuoto |
Finestra temporale continua | Seleziona 1 m Il periodo di corrispondenza è l'intervallo di campionamento per questa metrica. |
Funzione finestra temporale continua | Seleziona mean |
Tra le serie temporali Aggregazione serie temporali |
Lascia come none
|
Tra le serie temporali Raggruppa serie temporali per |
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
per una delle reti nel tuo progetto Google Cloud , utilizza le seguenti impostazioni:
Campo nella finestra di dialogo Nuova condizione |
Valore |
---|---|
Risorsa e metrica | Nel menu Tipo di risorsa, seleziona Rete VPC. Nel menu Categoria metrica, seleziona Quota. Nel menu Metrica, seleziona Utilizzo quota istanze per rete VPC. (Il metric.type è compute.googleapis.com/quota/instances_per_vpc_network/usage ,e il 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 di una rete specifica, aggiungi il seguente filtro: network_id = identifier. Quando il campo del filtro è vuoto, nel grafico vengono inclusi tutti i dati delle metriche disponibili. |
Finestra temporale continua | Seleziona 1 m Il periodo di corrispondenza è l'intervallo di campionamento per questa metrica. |
Funzione finestra temporale continua | Seleziona mean |
Tra le serie temporali Aggregazione serie temporali |
Lascia come none
|
Tra le serie temporali Raggruppa serie temporali per |
Lascia vuoto |
Grafici MQL
Puoi utilizzare le query MQL per creare grafici utilizzando l'editor di codice MQL. Ad esempio, puoi inserire una qualsiasi delle query mostrate in
Esempi di criterio di avviso MQL nell'editor di codice. Puoi omettere l'ultima operazione, condition
,
in ogni query; si applica tranne quando crei una condizione per un criterio di avviso. In un grafico, l'operazione condition
non ha alcun effetto.
Per ulteriori informazioni, consulta Utilizzare l'editor di codice per MQL ed Esempi di MQL.