Esta página descreve como criar gráficos e políticas de alertas para monitorar a cota alocada pelo Google Cloud. O Google Cloud estabelece várias cotas que podem ser usadas para rastrear e limitar os recursos consumidos por um projeto ou uma organização. Para informações gerais sobre cotas, incluindo informações sobre cotas de alocação e de taxas, consulte Como trabalhar com cotas.
Antes de começar
Nesta página, presume-se familiaridade com os dados de série temporal e a respectiva manipulação. As páginas a seguir fornecem informações adicionais:
- Para informações sobre como trabalhar com dados de série temporal, consulte Como filtrar e agregar dados.
- Para definições dos termos gauge, delta e cumulativo, consulte Tipos de métricas.
- Para detalhes sobre as funções usadas para combinar séries temporais, consulte
Aligner
eReducer
.
Como trabalhar com métricas de cota
O Cloud Monitoring gerencia a cota de duas maneiras:
Cota do consumidor. Para esse tipo de cota, o recurso monitorado é
consumer_quota
. As métricas desse recurso são um subconjunto das métricasserviceruntime
.A maioria dos exemplos desta página são exemplos de cotas do consumidor.
Cotas específicas de recursos. Alguns serviços fornecem recursos monitorados que têm métricas específicas dos recursos para cotas. Esses tipos de métricas aparecem em grupos de três, seguindo este padrão:
service/quota/quota-type/exceeded
service/quota/quota-type/limit
service/quota/quota-type/usage
Por exemplo, o Compute Engine tem o recurso
compute.googleapis.com/VpcNetwork
. As métricas relacionadas à cota associadas a esse recurso são o subconjuntocompute.googleapis.com/quota
dascompute
métricas. Há três tipos de métrica relacionados à cota "instâncias por rede VPC":quota/instances_per_vcp_network/exceeded
quota/instances_per_vcp_network/limit
quota/instances_per_vcp_network/usage
Como identificar métricas de cotas e nomes de limites
Os dados brutos sobre o consumo de cotas, principalmente para cotas do consumidor, podem incluir informações sobre muitas cotas diferentes. Para extrair informações sobre uma cota específica de um gráfico ou política de alertas, identifique esse subconjunto de dados de cota.
Dependendo da origem, os dados de cota podem incluir rótulos que podem ser usados para isolar as informações que você quer. Esses rótulos incluem o seguinte:
- Métrica de cota: a métrica de cota é um identificador para um tipo de cota. Não é um dos tipos de métrica descritos na lista de métricas. Por exemplo, todos os dados de cota do consumidor são gravados como o tipo de métrica
serviceruntime.googleapis.com
, comoquota/allocation/usage
. Esse tipo de métrica tem um rótuloquota_metric
que pode ser usado para filtrar uma cota específica, por exemplo, dados de uso de alocação. - Nome do limite: o nome do limite identifica um limite em um tipo específico de cota.
Uma cota pode ter mais de um limite associado a ela. Por exemplo, uma cota para chamadas de leitura pode ter um limite por minuto de 100 e um limite por dia de 1.000, com dois nomes de limite,
readsPerMinute
ereadsPerDay
. Os tipos de métrica relacionados a cotas podem ter um campolimit_name
para esse valor.
Todos os tipos de métrica serviceruntime.googleapis.com/quota
fornecem o rótulo quota_metric
, mas apenas alguns incluem o rótulo limit_name
.
Os tipos de métrica específicos do recurso para a cota incluem o rótulo limit_name
.
Para identificar métricas de cota e nomes de limites específicos, use o seguinte procedimento:
No Console do Google Cloud, acesse a página Cotas do administrador:
Localize a cota de interesse e clique em Todas as cotas.
Se um serviço for compatível com métricas de cota, os campos Métrica de cota e Nome do limite serão exibidos. Por exemplo, veja na captura de tela a seguir a cota de sub-redes da API Compute Engine mostra que a métrica é
compute.googleapis.com/subnetworks
e o nome do limite éSUBNETWORKS-per-project
:
Se as informações detalhadas não listarem uma métrica de cota ou um nome de limite, o serviço não será compatível com métricas de cota.
Se as informações detalhadas não incluírem um recurso monitorado, esse recurso será consumer_quota
. Caso contrário, essa cota mostrada na página de detalhes é uma cota específica de recursos para o recurso monitorado nomeado. A captura de tela anterior não lista explicitamente um recurso monitorado. Portanto, essa cota usa o recurso monitorado consumer_quota
.
Exemplo: como visualizar o uso de uma métrica específica de cota do consumidor
A meta é criar um gráfico que exiba, por região, a cota total de armazenamento em disco do Compute Engine. Este exemplo de cota do consumidor recupera dados de quota/allocation/usage
e filtra os dados para que o uso de alocação para uma métrica de cota específica seja exibido:
No Console do Google Cloud, selecione Cloud Monitoring e clique em Metrics Explorer.
Configure o Metrics Explorer para exibir o uso da cota de alocação definindo o tipo de recurso como Cota do consumidor e definindo o tipo de métrica como Uso da cota de alocação:
O gráfico exibe o uso da cota de alocação como um gráfico de barras para o período de seis semanas. Ao visualizar a legenda, é possível ver que o gráfico exibe o uso da cota para vários serviços.
Se a API Cloud Monitoring estiver sendo utilizada, o valor de filtro equivalente será:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
Para limitar o gráfico ao serviço do Compute Engine, adicione o filtro
service = "compute.googleapis.com"
:Se a API Cloud Monitoring estiver sendo utilizada, o valor de filtro equivalente será:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
Agora, o gráfico exibe a série temporal para o uso da cota alocada para as cotas do Compute Engine. A legenda exibe o valor do rótulo
quota_metric
para cada série temporal exibida. Esse valor identifica a cota específica. Por exemplo,compute.googleapis.com/disks_total_storage
identifica a série temporal da cota total de armazenamento em disco do Compute Engine.O gráfico exibe o uso de cota apenas para as cotas que têm uso registrado. Por exemplo, se o projeto não tiver recursos do Compute Engine, filtrar o serviço
compute.googleapis.com
resultará em um gráfico sem dados.Para criar um gráfico que exiba o uso total da cota de armazenamento em disco do Compute Engine, use o filtro
quota_metric = "compute.googleapis.com/disks_total_storage"
:Se a API Cloud Monitoring estiver sendo utilizada, o valor de filtro equivalente será:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
O gráfico anterior exibe séries temporais para as regiões
us-centra1
eus-east1
e para várias zonas, incluindo a zonaus-central1-a
.Para refinar o gráfico para que ele exiba dados apenas das regiões, sem as zonas, adicione um filtro com base no rótulo
location
. Neste exemplo, onde as duas regiões são prefixadas porus-
e terminam com1
, um filtro que usa a expressão regularlocation =~"^us.*1$"
funciona bem:
Para cota do consumidor, o valor do rótulo quota_metric
identifica o uso do serviço e do uso da cota específica. Use essas informações para criar gráficos ou políticas de alertas que monitoram uma métrica de cota específica.
Políticas de alertas no Cloud Monitoring
As políticas de alertas são uma maneira de configurar o Cloud Monitoring para notificar você quando algo acontecer, como atingir 85% do seu limite em uma cota.
Uma política de alertas é um conjunto de condições e informações de notificação:
- Uma condição descreve o que está sendo monitorado, como os dados de série temporal desse recurso precisam ser combinados e quando um alerta precisa ser gerado. As políticas de alertas precisam especificar pelo menos uma condição.
- O canal de notificação especifica quem será notificado e o modo de recebimento da notificação quando ocorrer um alerta. Por exemplo, é possível configurar a política de alertas para enviar e-mails a uma pessoa específica ou a um grupo de pessoas.
É possível usar duas técnicas para criar condições de política de alertas:
Como usar filtros do Monitoring para selecionar e manipular dados. Por exemplo, quando você usa a interface gráfica para criar condições de política de alertas, está criando filtros. No exemplo mostrado em Como trabalhar com métricas de cota, use filtros para selecionar dados para um gráfico. Também é possível usar filtros em solicitações para a API Monitoring.
Como usar a linguagem de consulta do Monitoring (MQL, na sigla em inglês) para selecionar e manipular dados. MQL é uma linguagem de consulta baseada em texto. Com o Editor de consulta MQL, você pode criar consultas que não podem ser criadas com a técnica baseada em filtro. Recomendamos que você use MQL para criar políticas de alertas com base em proporção. Para mais informações, consulte exemplos de política de alertas MQL.
Esta página discute as duas técnicas. Também é possível criar gráficos usando qualquer técnica.
Filtrar exemplos de políticas de alertas
Nesta seção, cada subseção inclui uma representação JSON de uma política de alertas e um par de tabelas que descrevem como configurar a política no Console do Google Cloud:
- Na primeira, descrevemos o que está sendo monitorado e como os dados precisam ser combinados.
- Já na segunda, descrevemos quando um alerta precisa ser gerado.
Esses exemplos são para a abordagem baseada em filtro.
Nenhuma dessas políticas calcula as proporções. Para exemplos baseados em proporção, consulte exemplos de política de alertas MQL.
Alerta sobre quota/exceeded
erros
É possível criar uma política de alertas para notificar você se algum serviço no seu projeto do Google Cloud estiver relatando um erro de cota ultrapassada. É possível criar esse tipo de política usando o Console do Google Cloud ou a API Cloud Monitoring.
Como usar o Console do Google Cloud
O restante do conteúdo desta subseção é para a caixa de diálogo de condições de uma política de alertas.
Preencha a caixa de diálogo Destino usando as configurações da tabela a seguir.
Elas especificam que você quer monitorar os dados da série temporal da métrica serviceruntime
/quota/exceeded
para todos os serviços em seu projeto do Google Cloud e agrupar os dados pelo limite de cota.
Campo do painel Valor desejado |
Valor |
---|---|
Resource type | Insira consumer_quota |
Metric | Selecione serviceruntime.googleapis.com/quota/exceeded |
Filter |
Adicione um filtro para que o gráfico exiba apenas os dados do serviço que você quer monitorar. Por exemplo, para monitorar o serviço de gerenciamento de identidade e acesso, adicione o filtro a seguir: service = iam.googleapis.com. Quando o campo de filtro está vazio, todos os dados de métricas disponíveis são incluídos no gráfico. |
Group By |
Selecione Esta opção agrupa os dados pelo tipo de nome do |
Aggregator |
Selecione O campo de agregação é definido automaticamente como |
Período | Selecione 1 m |
Advanced Aggregation | Alinhador: count true
Esta métrica é do tipo Para essa métrica, as configurações do alinhador de |
Preencha a caixa de diálogo Configuração usando as configurações a seguir. Essas configurações fazem com que a política de alertas crie um alerta se o número de erros de cota excedida ultrapassar o valor de 0 para 1 m. Um valor de zero é selecionado aqui porque erros de cota excedida são inesperados e são uma indicação de que uma cota precisa ser aumentada ou que um serviço precisa ser modificado para reduzir as solicitações da API. Convém usar um limite mais alto.
Campo do painel Configuração |
Valor |
---|---|
Condition triggers if |
Any time series violates |
Condition |
is above |
Threshold |
0 |
For |
1 m |
Como usar a API Cloud Monitoring
É possível criar essa política de alertas usando o método da API alertPolicies.create
. É possível invocar a API Cloud Monitoring diretamente, usando a ferramenta de linha de comando gcloud
ou usando bibliotecas de cliente. Para mais informações, consulte Como criar políticas.
Para informações sobre como representar políticas de alertas em JSON ou YAML, consulte Políticas de amostra.
Veja abaixo uma representação dessa política de alertas no 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",
}
Alerta sobre o quota/allocation/usage
absoluto
É possível criar uma política de alertas para notificar você se o uso da cota de alocação para um serviço específico em seu projeto do Google Cloud estiver excedendo um limite especificado pelo usuário. É possível criar esse tipo de política usando o Console do Google Cloud ou a API Cloud Monitoring.
Como usar o Console do Google Cloud
O restante do conteúdo desta subseção é para a caixa de diálogo de condições de uma política de alertas.
Preencha a caixa de diálogo Destino usando as configurações da tabela a seguir.
Elas especificam que você quer monitorar os dados da série temporal da métrica serviceruntime
/quota/allocation/usage
para um serviço em seu projeto do Google Cloud, e que você quer agrupar os dados pelo limite de cota.
Campo do painel Valor desejado |
Valor |
---|---|
Resource type | Insira consumer_quota |
Metric | Selecione serviceruntime.googleapis.com/quota/allocation/usage |
Filter |
Adicione um filtro para que o gráfico exiba apenas os dados do serviço que você quer monitorar. Por exemplo, para monitorar o serviço de gerenciamento de identidade e acesso, adicione o filtro a seguir: service = iam.googleapis.com. Quando o campo de filtro está vazio, todos os dados de métricas disponíveis são incluídos no gráfico. |
Group By |
Selecione Esta opção agrupa os dados pelo tipo de nome do |
Aggregator |
Selecione O campo de agregação é definido automaticamente como |
Período | Selecione 1440 m As correspondências de período são o intervalo de amostragem dessa métrica. |
Advanced Aggregation | Alinhador: next older O alinhador está definido como |
Preencha a caixa de diálogo Configuração usando as configurações a seguir. Essas configurações fazem com que a política de alertas crie um alerta se o valor da série temporal exceder 2,5 para 1440 m. O valor de 1.440 m corresponde ao período de alinhamento. O valor de 2,5 foi selecionado para este exemplo porque é um pouco maior do que o valor normal para o sistema de teste. Selecione o limite com base no serviço que você está monitorando em combinação com uma compreensão do intervalo esperado de valores para a métrica.
Campo do painel Configuração |
Valor |
---|---|
Condition triggers if |
Any time series violates |
Condition |
is above |
Threshold |
2.5 |
For |
1440 m |
Como usar a API Cloud Monitoring
É possível criar essa política de alertas usando o método da API alertPolicies.create
. É possível invocar a API Cloud Monitoring diretamente, usando a ferramenta de linha de comando gcloud
ou usando bibliotecas de cliente. Para mais informações, consulte Como criar políticas.
Para informações sobre como representar políticas de alertas em JSON ou YAML, consulte Políticas de amostra.
Veja abaixo uma representação dessa política de alertas no 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": "84600s",
"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",
}
Exemplos de políticas de alertas MQL
MQL é uma linguagem de consulta baseada em texto que usa uma série de operações vinculadas por barras. O MQL permite criar consultas mais avançadas e flexíveis do que é possível criar com filtros do Monitoring. Recomendamos que você use MQL para configurar políticas de alertas com base em proporção. Por exemplo, com o MQL, é possível configurar uma proporção para o uso da cota de taxas, que exige o cálculo da proporção de uma métrica de medidor (o limite) e uma métrica delta (a taxa).
É possível criar políticas de alertas baseadas em MQL usando o Console do Cloud ou a API Monitoring:
Console do Cloud: use o Editor de consulta MQL ao criar a condição de alerta. Para abrir o Editor de consultas, clique em code Editor de consultas na guia Métrica no painel de condições. Para mais informações sobre como usar esse editor, consulte Como usar o Editor de consultas.
API Monitoring: use o método
alertPolicies.create
e forneça uma condição do tipoMonitoringQueryLanguageCondition
. Esse tipo de condição usa uma consulta MQL como um valor de campo. Para mais informações sobre como usar a API Monitoring com MQL, consulte Como criar condições para políticas de alertas MQL.
Para informações específicas sobre MQL, consulte Como usar a linguagem de consulta do Monitoring. Para mais informações sobre políticas de alertas baseadas em MQL, consulte Políticas de alerta com MQL.
Alerta de proporção sobre o uso da cota de taxa para um limite
O padrão de consulta MQL a seguir descreve um alerta que monitora quando o uso de taxa por minuto de um serviço de recursos específico excede 80% de um limite específico:
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 == 'myApiLimitPerDay'
| group_by [resource.project_id, metric.quota_metric, resource.location],
sliding(1m), max(val()) }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
Para usar esse padrão de consulta, faça as seguintes alterações:
- Substitua
sample.googleapis.com
pelo serviço que você quer monitorar. - Substitua
myApiLimitPerDay
pelometric.limit_name
pelo limite que você quer rastrear. Para informações sobre como encontrar nomes de limites, consulte Como identificar métricas de cotas e nomes de limites - Substitua
1m
nas funçõesdelta_gauge
esliding
por uma janela apropriada para seu limite.
Não modifique a operação every 1m
, que determina com que frequência a condição é verificada.
Não é possível criar esta consulta com filtros.
Alerta de proporção sobre o uso da cota de taxa com caracteres curinga
O MQL é compatível com filtragem com caracteres curinga, expressões regulares e lógica booleana. Por exemplo, você pode usar o MQL para criar um alerta que rastreie vários limites e avisa se houver algum limite.
O seguinte padrão de consulta de MQL descreve um alerta que monitora quando o uso de taxa por minuto ou por dia de quaisquer serviços de recursos excede 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(1d)
| 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(1d), max(val()) }
| ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')
Para usar esse padrão de consulta, faça as seguintes alterações:
- Substitua a expressão regular de
resource.service
por uma expressão regular para os serviços que você quer acompanhar. - Na primeira proporção:
- Substitua
.*PerMinute.*
pelometric.limit_name
por uma expressão regular para o primeiro grupo de limites que você quer acompanhar. Para informações sobre como encontrar nomes de limites, consulte Como identificar métricas de cotas e nomes de limites - Substitua
1m
nas funçõesdelta_gauge
esliding
por uma janela apropriada para seus limites.
- Substitua
- Na segunda proporção:
- Substitua
.*PerDay.*
pelometric.limit_name
por uma expressão regular para o segundo grupo de limites que você quer acompanhar. - Substitua
1d
nas funçõesdelta_gauge
esliding
por uma janela apropriada para seus limites.
- Substitua
Não modifique a operação every 1m
, que determina com que frequência a condição é verificada.
Não é possível criar esta consulta com filtros.
Alerta de proporção sobre o uso da cota de alocação para um limite
O padrão de consulta MQL a seguir descreve um alerta que monitora quando o uso de alocação por dia de um serviço de recursos específico excede 80% de um limite específico:
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 == 'CPUs-per-project'
| 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')
Para usar esse padrão de consulta, faça as seguintes alterações:
- Substitua
sample.googleapis.com
pelo serviço que você quer monitorar. - Substitua
CPUs-per-project
pelometric.limit_name
pelo limite que você quer rastrear. Para informações sobre como encontrar nomes de limites, consulte Como identificar métricas de cotas e nomes de limites
Não modifique a operação every 1m
, que determina com que frequência a condição é verificada.
Exemplo: uso de CPU de 75% em qualquer região
A consulta a seguir cria uma política de alertas que é acionada quando o uso de CPU da instância de VM do Compute Engine ultrapassa 75% do limite em qualquer região:
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')
Esta política de cota do consumidor usa o nome do limite CPUS-per-project-region
na cota "CPUs" da API Compute Engine. Para informações sobre como encontrar nomes de limite, consulte Como identificar métricas de cotas e nomes de limites.
Alerta de proporção sobre o uso da cota de alocação para qualquer serviço
O MQL é compatível com a filtragem com caracteres curinga, expressões regulares e lógica booleana. Por exemplo, é possível usar o MQL para criar um alerta que rastreia vários limites ou serviços e avisa se houver algum limite.
A consulta MQL a seguir descreve um alerta que monitora quando o uso por alocação por dia de qualquer serviço de recursos excede 80% em qualquer limite de cota:
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')
Você pode usar essa consulta como apresentada ou substituir a expressão regular para resource.service
por uma expressão regular para os serviços que você quer acompanhar. Também é possível filtrar um serviço específico e usar caracteres curinga em um filtro de limite.
Não modifique a operação every 1m
, que determina com que frequência a condição é verificada.
Exemplo: uso da CPU acima de 50% em zonas específicas
A consulta a seguir cria uma política de alertas que é acionada quando o uso de CPU das instâncias de VM do Compute Engine ultrapassa 50% do limite em qualquer uma das zonas us-central1
. Nessa consulta, os dados do limit
são filtrados por um nome de limite e pelo local do recurso:
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')
Esta política de cota do consumidor usa o nome do limite CPUS-per-project-zone
na cota "CPUs" da API Compute Engine. Para informações sobre como encontrar nomes de limite, consulte Como identificar métricas de cotas e nomes de limites.
Alerta de proporção usando a cota específica de recursos
É possível usar o MQL para configurar proporções para métricas relacionadas a cotas específicas de recursos. Nesse caso, você especifica um recurso monitorado específico do serviço e calcula uma proporção em um par de métricas relacionadas a cotas específicas do recurso.
O padrão de consulta a seguir descreve um alerta que monitora quando o uso de uma cota excede 80% do 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')
Para usar esse padrão de consulta, faça as seguintes alterações:
- Substitua
sample.googleapis.com
pelo serviço que você quer monitorar. - Substitua
sampleResource
pelo recurso monitorado associado. - Substitua
samplemetric
pela string de um grupo de tipos de métricas. - Nas operações
group_by
, liste cada um dos rótulos de recurso e métrica.
Exemplo: uso de CPU de 75% em qualquer região
Por exemplo, a consulta MQL a seguir configura um alerta que monitora quando o uso da cota instances_per_vpc_network
do Compute Engine excede 80% para qualquer ID de rede:
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')
Nessa consulta, o tipo de recurso compute.googleapis.com/VpcNetwork
é usado, não consumer_quota
, e a proporção de duas métricas compute.googleapis.com/quota/instances_per_vpc_network
, usage
e limit
. para começar.
Exemplos de gráficos
Os gráficos exibem dados de série temporal. É possível usar o Metrics Explorer para criar um gráfico. Com o Metrics Explorer, é possível descartar o gráfico quando não precisar mais dele ou salvá-lo em um painel. Na visualização do painel, é possível adicionar um gráfico ao painel.
Para criar um gráfico, especifique o que você quer visualizar e como quer visualizar os dados. O restante desta seção contém configurações que podem ser usadas para criar gráficos para cota de consumidor e cota específica de recursos. Também é possível usar as configurações da caixa de diálogo Destino de uma política de alertas para criar um gráfico.
Uso máximo no intervalo para quota/allocation/usage
Para visualizar os dados da série temporal da métrica serviceruntime
quota/allocation/usage
, para todos os serviços em seu projeto do Google Cloud, quando os dados forem agrupados pelo nome da métrica de cota e o valor máximo da métrica em um intervalo de 25 horas for exibido, use as seguintes configurações:
Campo do painel Valor desejado |
Valor |
---|---|
Resource type | Insira consumer_quota |
Metric | Selecione serviceruntime.googleapis.com/quota/allocation/usage |
Filter |
Adicione um filtro para que o gráfico exiba apenas os dados do serviço que você quer monitorar. Por exemplo, para monitorar o serviço de gerenciamento de identidade e acesso, adicione o filtro a seguir: service = iam.googleapis.com. Quando o campo de filtro está vazio, todos os dados de métricas disponíveis são incluídos no gráfico. |
Group By |
Selecione Esta opção agrupa os dados pelo tipo de nome do |
Aggregator |
Selecione O campo de agregação é definido automaticamente como |
Período | Selecione 1500 m O período, 25 horas, é um pouco mais longo do que o intervalo de amostragem dessa métrica. |
Advanced Aggregation | Alinhador: max Agregador secundário: sum
O alinhador é definido para exibir o valor máximo da métrica medida no período de alinhamento. O agregador secundário combina a série temporal para os diferentes serviços em uma única série temporal. |
Série temporal para quota/rate/net_usage
Para visualizar os dados da série temporal da métrica serviceruntime
quota/rate/net_usage
, para todos os serviços do projeto do Google Cloud, quando os dados forem agrupados pelo nome da métrica de cota e a taxa de uso for exibida, use as seguintes configurações:
Campo do painel Valor desejado |
Valor |
---|---|
Resource type | Insira consumer_quota |
Metric | Selecione serviceruntime.googleapis.com/quota/rate/net_usage |
Filter |
Adicione um filtro para que o gráfico exiba apenas os dados do serviço que você quer monitorar. Por exemplo, para monitorar o serviço de gerenciamento de identidade e acesso, adicione o filtro a seguir: service = iam.googleapis.com. Quando o campo de filtro está vazio, todos os dados de métricas disponíveis são incluídos no gráfico. |
Group By |
Selecione Esta opção agrupa os dados pelo tipo de nome do |
Aggregator |
Selecione O campo de agregação é definido automaticamente como |
Período | Selecione 1 m O período de 1 minuto corresponde ao intervalo de amostragem dessa métrica. |
Advanced Aggregation | Alinhador: rate
Definindo o alinhador com o valor de |
Série temporal para quota/limit
Para visualizar os dados da série temporal da métrica serviceruntime
quota/limit
, para todos os serviços em seu projeto do Google Cloud, em que os dados são agregados em 25 horas, use as seguintes configurações:
Campo do painel Valor desejado |
Valor |
---|---|
Resource type | Insira consumer_quota |
Metric | Selecione serviceruntime.googleapis.com/quota/limit |
Filter |
Adicione um filtro para que o gráfico exiba apenas os dados do serviço que você quer monitorar. Por exemplo, para monitorar o serviço de gerenciamento de identidade e acesso, adicione o filtro a seguir: service = iam.googleapis.com. Quando o campo de filtro está vazio, todos os dados de métricas disponíveis são incluídos no gráfico. |
Group By | Deixe em branco. |
Aggregator | none |
Período | Selecione 1500 m |
Advanced Aggregation | Alinhador: next older O alinhador está definido como |
Série temporal para quota/instances_per_vpc_network/limit
Para visualizar os dados da série temporal da métrica compute.googleapis.com
quota/instances_per_vpc_network/limit
, para todas as redes no seu projeto do Google Cloud, use as seguintes configurações:
Campo do painel Valor desejado |
Valor |
---|---|
Resource type | Insira compute.googleapis.com/VpcNetwork |
Metric | Selecione compute.googleapis.com/quota/instances_per_vpc_network/limit |
Filtrar | Deixar em branco |
Group By | Deixar em branco |
Aggregator | Sair como none |
Período | Selecione 1 m As correspondências de período são o intervalo de amostragem dessa métrica. |
Advanced Aggregation | Ignorar |
Série temporal para quota/instances_per_vpc_network/usage
Para visualizar os dados da série temporal da métrica compute.googleapis.com
quota/instances_per_vpc_network/usage
, para uma das redes no seu projeto do Google Cloud, use as seguintes configurações:
Campo do painel Valor desejado |
Valor |
---|---|
Resource type | Insira compute.googleapis.com/VpcNetwork |
Metric | Selecione compute.googleapis.com/quota/instances_per_vpc_network/usage |
Filtrar |
Adicione um filtro para que o gráfico exiba apenas um subconjunto de todos os dados. Por exemplo, para ver o uso de uma rede específica, adicione o seguinte filtro: network_id = identifier. Quando o campo de filtro está vazio, todos os dados de métricas disponíveis são incluídos no gráfico. |
Group By | Deixar em branco |
Aggregator | Sair como none |
Período | Selecione 1 m |
Advanced Aggregation | Ignorar |
Gráficos MQL
É possível usar consultas do MQL para criar gráficos usando o Editor de consulta MQL. Por exemplo, qualquer uma das consultas mostradas nos exemplos de políticas de alertas MQL pode ser inserida no Editor de consultas. É possível omitir a última operação, condition
, em cada consulta. mas aplica-se ao criar uma condição para uma política de alertas. Em um gráfico, a operação condition
não faz nada.
Para mais informações, consulte Como usar o Editor de consultas e Exemplos de MQL.