Represente graficamente e monitorize as métricas de quota

Este documento descreve como criar políticas de alerta e gráficos para monitorizar a quota que lhe foi atribuída por Google Cloude inclui vários exemplos. Google Cloud estabelece várias quotas que pode usar para acompanhar e limitar os recursos consumidos por um projeto ou uma organização. Para informações gerais sobre quotas, incluindo informações sobre quotas de atribuição e quotas de taxa, consulte o artigo Trabalhar com quotas.

Antes de começar

Este documento pressupõe familiaridade com os dados de séries cronológicas e a respetiva manipulação. Os seguintes recursos fornecem informações adicionais:

  • Para obter informações sobre como trabalhar com dados de séries cronológicas, consulte Filtragem e agregação.
  • Para ver definições dos termos indicador, delta e cumulativo, consulte Tipos de métricas.
  • Para ver detalhes sobre as funções usadas para combinar séries cronológicas, consulte Aligner e Reducer.

Gestão de quotas

O Cloud Monitoring gere a quota de duas formas:

  • Quota de consumidor: para este tipo de quota, o recurso monitorizado é consumer_quota. As métricas deste recurso são um subconjunto das serviceruntime métricas.

    A maioria dos exemplos nesta página são exemplos de quota de consumidor.

  • Quotas específicas de recursos: alguns serviços fornecem recursos monitorizados que têm métricas específicas de recursos para quotas. Estes tipos de métricas aparecem em grupos de três e seguem um formato de nomenclatura:

    • 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 com a quota associadas a este recurso são o compute.googleapis.com/quota subconjunto das compute métricas. Existem três tipos de métricas relacionados com a quota "instâncias por rede VPC":

Identifique métricas de quota e nomes de limites

Os dados não processados sobre o consumo de quotas, particularmente para a quota de consumidor, podem incluir informações sobre muitas quotas diferentes. Para extrair informações acerca de uma quota específica para um gráfico ou uma política de alertas, tem de identificar esse subconjunto de dados de quotas.

Consoante a origem, os dados de quota podem incluir etiquetas que pode usar para isolar as informações que quer. Estas etiquetas incluem o seguinte:

  • Métrica de quota: a métrica de quota é um identificador de um tipo de quota; não é um dos tipos de métricas descritos na lista de métricas. Por exemplo, todos os dados de quota do consumidor são escritos como um tipo de métrica serviceruntime.googleapis.com, como quota/allocation/usage. Este tipo de métrica tem uma etiqueta quota_metric que pode ser usada para filtrar uma quota específica, por exemplo, dados de utilização da atribuição.
  • Nome do limite: o nome do limite identifica um limite num tipo específico de quota. Uma quota pode ter mais do que um limite associado. Por exemplo, uma quota para chamadas de leitura pode ter um limite por minuto de 100 e um limite por dia de 1000, com dois nomes de limites, readsPerMinute e readsPerDay. Os tipos de métricas relacionados com a quota podem ter um campo limit_name para este valor.

Todos os serviceruntime.googleapis.com/quotatipos de métricas fornecem a etiqueta quota_metric, mas apenas alguns incluem a etiqueta limit_name. Os tipos de métricas específicos dos recursos para a quota incluem a etiqueta limit_name.

Nem todos os Google Cloud serviços suportam métricas de quota. Para determinar se um serviço suporta métricas de quota e identificar os valores das etiquetas específicas da quota, pode usar o seguinte procedimento:

  1. Na Google Cloud consola, aceda à página Quotas e limites do sistema:

    Aceda a Quotas e limites do sistema

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é IAM e administração.

  2. Clique em Ver coluna e adicione as seguintes colunas à apresentação da quota:

    • Métrica: esta coluna apresenta o valor da etiqueta quota_metric.
    • Nome do limite: esta coluna apresenta o valor da etiqueta limit_name.
    • Recurso monitorizado: quando preenchido, a quota usa o recurso monitorizado indicado. Quando está vazio, o recurso monitorizado para a quota é consumer_quota.
  3. Localize a quota de interesse.

    Por exemplo, a quota de sub-redes da API Compute Engine apresenta a Métrica como compute.googleapis.com/subnetworks, o Nome do limite como SUBNETWORKS-per-project e não apresenta um Recurso monitorizado. Por conseguinte, o recurso monitorizado para esta quota é consumer_quota.

Exemplo: veja a utilização de uma métrica de quota de consumidor específica

O objetivo é criar um gráfico que apresente, por região, a quota total de armazenamento em disco do Compute Engine. Este exemplo de quota de consumidor obtém dados de quota/allocation/usage e, em seguida, filtra os dados para que seja apresentado o uso da atribuição de uma métrica de quota específica:

  1. Na Google Cloud consola, selecione Cloud Monitoring e, de seguida, selecione Metrics Explorer.

  2. Na barra de ferramentas, expanda o menu do período e selecione Últimos 14 dias.

  3. Expanda o menu Tipo de widget e selecione Gráfico de barras empilhadas.

  4. Configure o explorador de métricas para apresentar a utilização da quota de atribuição:

    1. Clique em Selecionar uma métrica e introduza allocation na barra de filtros.
    2. Selecione Quota de consumidor para o recurso.
    3. Selecione Quota para a categoria de métricas.
    4. Selecione Utilização da quota de atribuição para a métrica e clique em Aplicar.
    5. Expanda o menu Agregação e selecione Não agregados.

    Selecione a quota de consumidor.

    O gráfico apresenta a utilização da quota de atribuição como um gráfico de barras para o período de seis semanas. Ao ver a legenda, observa que o gráfico apresenta a utilização da quota para vários serviços.

    Se usar a API Cloud Monitoring, o valor do filtro equivalente é:

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

    Pode ver este valor de filtro expandindo o menu Tipo de recurso e, em seguida, selecionando Modo de filtro direto.

  5. Para limitar o gráfico ao serviço Compute Engine, adicione o filtro service = compute.googleapis.com:

    Filtre a quota de consumidor por serviço de computação.

    Se usar a API Cloud Monitoring, o valor do filtro equivalente é:

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

    O gráfico apresenta agora a série cronológica da utilização da quota atribuída para as quotas do Compute Engine. A legenda apresenta o valor da etiqueta quota_metric para cada intervalo temporal apresentado. Este valor identifica a quota específica. Por exemplo, compute.googleapis.com/disks_total_storage identifica a série cronológica para a quota total de armazenamento em disco do Compute Engine.

    O gráfico apresenta a utilização da quota apenas para as quotas que registaram utilização. Por exemplo, se o projeto não tiver recursos do Compute Engine, a filtragem do serviço compute.googleapis.com resulta num gráfico sem dados.

  6. Para criar um gráfico que apresente a utilização total da quota de armazenamento em disco do Compute Engine, use o filtro quota_metric = compute.googleapis.com/disks_total_storage:

    Filtre a quota de consumidor por métrica de quota.

    Se usar a API Cloud Monitoring, o valor do filtro equivalente é:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  7. O gráfico anterior apresenta intervalos temporais para as regiões us-central1 e us-east1, e para várias zonas, incluindo a zona us-central1-a.

    Para refinar o gráfico de modo que apresente dados apenas para as regiões, sem as zonas, adicione um filtro com base na etiqueta location. Para este exemplo, em que ambas as regiões têm o prefixo us- e terminam com 1, um filtro que usa a expressão regular location =~ ^us.*1$ funciona bem:

    Filtre por métrica de quota e região.

Para a quota de consumidor, o valor da etiqueta quota_metric identifica o serviço e a utilização específica da quota que está a ser monitorizada. Quando cria gráficos ou políticas de alertas que monitorizam uma métrica de quota específica, usa essas informações.

Políticas de alertas no Cloud Monitoring

As políticas de alerta são uma forma de configurar a monitorização para receber notificações quando acontece algo, como atingir 85% do seu limite numa quota.

Uma política de alertas é um conjunto de condições e informações de notificação:

  • Uma condição descreve o que está a ser monitorizado, como os dados de séries cronológicas desse recurso devem ser combinados e quando é gerado um incidente. Uma política de alerta tem de especificar, pelo menos, uma condição.
  • O canal de notificação especifica quem deve ser notificado e como deve ser notificado quando ocorre um incidente. Por exemplo, pode configurar a política de alertas para enviar um email a uma pessoa específica ou a um grupo de pessoas.

Existem duas técnicas que pode usar para criar condições de políticas de alerta:

  • Usar filtros de monitorização para selecionar e manipular dados. Por exemplo, quando usa a interface gráfica para criar condições de políticas de alerta, está a criar filtros. O exemplo apresentado em Trabalhar com métricas de quota usa filtros para selecionar dados para um gráfico. Também pode usar filtros em pedidos à API Monitoring.

  • Usar o PromQL para selecionar e manipular dados. O PromQL é uma linguagem de consulta baseada em texto. Com o editor de código PromQL, pode criar consultas que não consegue criar com a técnica baseada em filtros. Recomendamos que use o PromQL para criar políticas de alerta baseadas em rácios. Para mais informações, consulte os exemplos de políticas de alerta do PromQL.

Esta página aborda ambas as técnicas. Também pode criar gráficos usando qualquer uma das técnicas.

Exemplos de políticas de alerta de filtros

Nesta secção, cada subsecção inclui uma representação JSON de uma política de alerta, juntamente com um par de tabelas que descrevem como configurar a política na consola Google Cloud :

  • A primeira tabela descreve o que está a ser monitorizado e como os dados devem ser combinados.
  • A segunda tabela descreve quando deve ser gerado um incidente.

Estes exemplos são para a abordagem baseada em filtros.

Nenhuma destas políticas calcula rácios. Para ver exemplos baseados em rácios, consulte os exemplos de políticas de alerta do PromQL.

Alertas sobre erros quota/exceeded

Pode criar uma política de alerta para receber uma notificação se algum serviço no seu projetoGoogle Cloud estiver a comunicar um erro de quota excedida. Pode criar este tipo de política através da Google Cloud consola ou da API Cloud Monitoring.

Usar a Google Cloud consola

O resto do conteúdo nesta subsecção destina-se à caixa de diálogo de condições de uma política de alerta.

Preencha a caixa de diálogo Nova condição com as definições na tabela seguinte. Estas definições especificam que quer monitorizar os dados de séries cronológicas para a métrica serviceruntime/quota/exceeded para todos os serviços no seu projeto e que quer agrupar os dados pelo limite de quota. Google Cloud

Caixa de diálogo Nova condição
Campo

Valor
Recurso e métrica No menu Recursos, selecione Quota do consumidor.
No menu Categorias de métricas, selecione Quota.
No menu Métricas, selecione Erro de quota excedida.

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

Adicione um filtro para que o gráfico apresente apenas dados do serviço que quer monitorizar. Por exemplo, para monitorizar o serviço de gestão de identidade e de acesso, adicione o seguinte filtro: 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.

Janela contínua Selecione 1 m
Função de período contínuo Selecione count true

Esta métrica é do tipo GAUGE, o que significa que cada ponto de dados na série cronológica é uma medição instantânea. O tipo de valor é BOOL. Um valor de true indica que a quota foi excedida.

Para esta métrica, as funções de janela móvel de count true e count são equivalentes.

Em intervalos temporais
Agregação de intervalos temporais

Selecione sum.

O campo de agregação é automaticamente definido como sum quando os dados são agrupados. Esta definição define como os dados na série cronológica individual são combinados.

Em intervalos temporais
Agrupamento de intervalos temporais

Selecione quota_metric.

Esta opção agrupa os dados pelo tipo de nome do quota_metric.

Preencha a caixa de diálogo Configurar acionador com as seguintes definições. Estas definições fazem com que a política de alertas crie um alerta se o número de erros de quota excedida exceder o valor de 0 durante 1 m. É selecionado um valor de 0 aqui porque os erros de quota excedida são inesperados e indicam que é necessário aumentar uma quota ou que é necessário modificar um serviço para reduzir os pedidos API. Recomendamos que use um limite mais elevado.

Caixa de diálogo Configurar acionador
Campo

Valor
Tipo de condição Threshold
Acionador de alertas Any time series violates
Posição do limite Above threshold
Valor do limite 0
Período de novo teste 1 m

Usar a API Cloud Monitoring

Pode criar esta política de alertas através do método da API alertPolicies.create. Pode invocar a API Cloud Monitoring diretamente através da CLI Google Cloud ou de bibliotecas cliente. Para mais informações, consulte o artigo Criar políticas.

Para informações sobre a representação de políticas de alerta em JSON ou YAML, consulte as políticas de exemplo.

Segue-se uma representação desta política de alerta 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",
  }

A alertar sobre o valor absoluto de quota/allocation/usage

Pode criar uma política de alerta para receber uma notificação se a utilização da quota de atribuição de um serviço específico no seu Google Cloud projeto estiver a exceder um limite especificado pelo utilizador. Pode criar este tipo de política através da Google Cloud consola ou da API Cloud Monitoring.

Usar a Google Cloud consola

O resto do conteúdo nesta subsecção destina-se à caixa de diálogo de condições de uma política de alerta.

Preencha a caixa de diálogo Nova condição com as definições na tabela seguinte. Estas definições especificam que quer monitorizar os dados de séries cronológicas para a métrica serviceruntime/quota/allocation/usage para um serviço no seu projeto Google Cloud e que quer agrupar os dados pelo limite da quota.

Caixa de diálogo Nova condição
Campo

Valor
Recurso e métrica No menu Recursos, selecione Quota do consumidor.
No menu Categorias de métricas, selecione Quota.
No menu Métricas, selecione Utilização da quota de atribuição.

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

Adicione um filtro para que o gráfico apresente apenas dados do serviço que quer monitorizar. Por exemplo, para monitorizar o serviço de gestão de identidade e de acesso, adicione o seguinte filtro: 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.

Janela contínua Selecione 1440 m

O período de correspondências é o intervalo de amostragem desta métrica.

Função de período contínuo Selecione next older

A função de janela móvel está definida como next older para incluir o valor medido mais recente desta métrica GAUGE.

Em intervalos temporais
Agregação de intervalos temporais

Selecione sum.

O campo de agregação é automaticamente definido como sum quando os dados são agrupados. Esta definição define como os dados na série cronológica individual são combinados.

Em intervalos temporais
Agrupamento de intervalos temporais

Selecione quota_metric.

Esta opção agrupa os dados pelo tipo de nome do quota_metric.

Preencha a caixa de diálogo Configurar acionador com as seguintes definições. Estas definições fazem com que a política de alertas crie um alerta se o valor da série cronológica exceder 2,5 durante 1440 m. O valor de 1440 m corresponde à janela dinâmica. O valor de 2, 5 foi selecionado para este exemplo porque é ligeiramente superior ao valor normal do sistema de teste. Deve selecionar o limite com base no serviço que está a monitorizar em combinação com uma compreensão do intervalo de valores esperado para a métrica.

Caixa de diálogo Configurar acionador
Campo

Valor
Tipo de condição Threshold
Acionador de alertas Any time series violates
Posição do limite Above threshold
Valor do limite 2.5
Período de novo teste 1440 m

Usar a API Cloud Monitoring

Pode criar esta política de alertas através do método da API alertPolicies.create. Pode invocar a API Cloud Monitoring diretamente através da CLI Google Cloud ou de bibliotecas cliente. Para mais informações, consulte o artigo Criar políticas.

Para informações sobre a representação de políticas de alerta em JSON ou YAML, consulte as políticas de exemplo.

Segue-se uma representação desta política de alerta 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": "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",
  }

Exemplos de políticas de alerta PromQL

O PromQL é uma linguagem de consulta baseada em texto que lhe permite criar consultas mais poderosas e flexíveis do que as que pode criar com os filtros de monitorização. Recomendamos que use o PromQL para configurar políticas de alerta baseadas em rácios. Por exemplo, com o PromQL, pode configurar uma proporção para a utilização da quota de taxa, o que requer o cálculo da proporção de uma métrica de indicador (o limite) e uma métrica delta (a taxa).

Pode criar políticas de alerta baseadas em PromQL através da Google Cloud consola ou da API Monitoring:

  • Google Cloud consola: use o editor de código PromQL quando criar a condição de alerta. Para apresentar o editor de código PromQL, na barra de ferramentas da caixa de diálogo Criar política de alertas, clique em PromQL. Para mais informações sobre a utilização deste editor, consulte o artigo Use o editor de código para o PromQL.

  • API Monitoring: use o método alertPolicies.create e forneça uma condição do tipo PrometheusQueryLanguageCondition. Este tipo de condição usa uma consulta PromQL como valor de campo. Para mais informações sobre a utilização da API Monitoring com o PromQL, consulte o artigo Crie políticas de alerta baseadas em PromQL.

Para informações específicas do PromQL, consulte o artigo PromQL para o Cloud Monitoring. Para mais informações sobre as políticas de alerta baseadas em PromQL, consulte o artigo Políticas de alerta baseadas em PromQL.

Política de alertas que monitoriza a proporção entre a quota de taxa e o limite de quota

O seguinte padrão de consulta PromQL descreve uma política de alerta que envia uma notificação quando a utilização da taxa por minuto de um serviço de recursos específico excede 80% de um limite específico:

(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service="sample.googleapis.com"}[1m]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8

Para usar este padrão de consulta, faça as seguintes alterações:

  • Substitua sample.googleapis.com pelo serviço que quer monitorizar.
  • Substitua Limit por limit_name pelo limite que quer acompanhar. Para obter informações sobre como encontrar nomes de limites, consulte o artigo Identificar métricas de quota e nomes de limites
  • Substitua 1m por uma janela adequada para a sua consulta.

Não pode criar esta consulta com filtros.

Política de alertas que monitoriza a proporção da quota de taxa com carateres universais

O PromQL suporta a filtragem com carateres universais, expressões regulares e lógica booleana. Por exemplo, pode usar o PromQL para criar uma política de alertas que acompanha vários limites e envia-lhe um aviso se algum exceder um limite.

O seguinte padrão de consulta PromQL descreve uma política de alerta que envia notificações quando a utilização da taxa por minuto ou por dia de quaisquer serviços de recursos excede 80%:

(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[1m]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerMinute.*"})
)
or
(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[23h]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerDay.*"})
) > 0.8

Na consulta anterior, o argumento para o alinhador por dia está definido como 23 horas em vez de 1 dia. O PromQL só pode exigir 23 horas e 30 minutos de dados e, para fins de cálculo, o alinhador adiciona uma hora ao período de alinhamento. Se usar [1d], não é possível guardar a condição porque a condição requer 25 horas de dados.

Para usar este padrão de consulta, faça as seguintes alterações:

  • Substitua a expressão regular para service=~ por uma expressão regular para os serviços que quer acompanhar.
  • Na primeira proporção:
    • Substitua .*PerMinute.* por limit_name=~ com uma expressão regular para o primeiro grupo de limites que quer acompanhar. Para obter informações sobre como encontrar nomes de limites, consulte o artigo Identificar métricas de quota e nomes de limites
    • Substitua 1m por um período adequado aos seus limites.
  • Na segunda proporção:
    • Substitua .*PerDay.* por limit_name=~ por uma expressão regular para o segundo grupo de limites que quer acompanhar.
    • Substitua 23h por um período adequado aos seus limites.

Não pode criar esta consulta com filtros.

Alerta de rácio sobre a utilização da quota de atribuição para um limite

O seguinte padrão de consulta PromQL descreve um alerta que monitoriza quando a utilização da atribuição por dia de um serviço de recursos específico excede 80% de um limite específico:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="sample.googleapis.com"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8

Para usar este padrão de consulta, faça as seguintes alterações:

  • Substitua sample.googleapis.com pelo serviço que quer monitorizar.
  • Substitua Limit por limit_name pelo limite que quer acompanhar. Para obter informações sobre como encontrar nomes de limites, consulte o artigo Identificar métricas de quota e nomes de limites

Exemplo: utilização da CPU de 75% em qualquer região

A seguinte consulta cria uma política de alerta que é acionada quando a utilização da CPU da instância de VM do Compute Engine excede 75% do limite em qualquer região:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-region"})
) > 0.75

Esta política de quotas de consumidor usa o CPUS-per-project-regionnome do limite na quota "CPUs" da API Compute Engine. Para obter informações sobre como encontrar nomes de limites, consulte o artigo Identificar métricas de quota e nomes de limites.

Política de alerta que monitoriza a proporção da quota de atribuição para qualquer serviço

O PromQL suporta a filtragem com carateres universais, expressões regulares e lógica booleana. Por exemplo, pode usar o PromQL para criar um alerta que monitoriza vários limites ou serviços e envia-lhe um aviso se algum exceder um limite.

A seguinte consulta PromQL descreve um alerta que monitoriza quando a utilização da atribuição por dia de qualquer serviço de recursos excede 80% para qualquer um dos limites de quota:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota"})
) > 0.8

Pode usar esta consulta tal como é apresentada ou filtrar os serviços por uma expressão regular para os serviços que quer acompanhar. Também pode filtrar por um serviço específico e usar carateres universais num filtro de limite.

Exemplo: utilização da CPU superior a 50% em zonas específicas

A seguinte consulta cria uma política de alertas que é acionada quando a utilização da CPU das instâncias de VM do Compute Engine excede 50% do limite em qualquer uma das zonas us-central1. Esta consulta filtra os limit dados por um nome de limite e a localização do recurso:

(
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
/
min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-zone", location=~"us-central1-.*"})
)
> 0.5

Esta política de quotas de consumidor usa o CPUS-per-project-zonenome do limite na quota "CPUs" da API Compute Engine. Para obter informações sobre como encontrar nomes de limites, consulte o artigo Identificar métricas de quota e nomes de limites.

Alerta de rácio com base na quota específica do recurso

Pode usar o PromQL para configurar rácios para métricas relacionadas com a quota específicas de recursos. Neste caso, especifica um recurso monitorizado específico do serviço e calcula uma proporção sobre um par de métricas relacionadas com a quota específicas do recurso.

O padrão de consulta seguinte descreve um alerta que monitoriza quando a utilização de uma quota excede 80% do limite:

(
 max by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/usage", monitored_resource="sample.googleapis.com/SampleResource"})
 /
 min by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/limit", monitored_resource="sample.googleapis.com/SampleResource"})
) > 0.8

Para usar este padrão de consulta, faça as seguintes alterações:

  • Substitua sample.googleapis.com pelo serviço que quer monitorizar.
  • Substitua SampleResource pelo recurso monitorizado associado.
  • Substitua samplemetric pela string de um grupo de tipos de métricas.
  • Nas operações by (...), liste cada uma das etiquetas de recursos e métricas.

Exemplo: utilização da CPU de 75% em qualquer região

Por exemplo, a seguinte consulta PromQL configura um alerta que monitoriza quando a utilização da quota do Compute Engine excede 80% para qualquer ID de rede:instances_per_vpc_network

(
 max by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/usage", monitored_resource="compute.googleapis.com/VpcNetwork"})
 /
 min by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/limit", monitored_resource="compute.googleapis.com/VpcNetwork"})
) > 0.8

Tenha em atenção que esta consulta usa o tipo de recurso compute.googleapis.com/VpcNetwork, e não consumer_quota, e usa a proporção de duas métricas compute.googleapis.com/quota/instances_per_vpc_network, usage e limit.

Exemplos de gráficos

Os gráficos apresentam dados de intervalos temporais. Pode usar o explorador de métricas para criar um gráfico. Com o Explorador de métricas, pode rejeitar o gráfico quando já não precisar dele ou guardá-lo num painel de controlo. Na vista de painel de controlo, pode adicionar um gráfico ao painel de controlo.

Quando só quer configurar um gráfico que apresenta dados de quota, pode usar as definições na tabela Nova condição. As condições de alerta usam uma notação diferente das ferramentas de criação de gráficos. As ferramentas de criação de gráficos incluem o Explorador de métricas e a configuração de gráficos em painéis de controlo personalizados:
Nome do campo da caixa de diálogo Nova condição
Gráficos
Função de período contínuo

Configuradas de forma ideal com base na métrica selecionada e nas definições de agregação.

Para especificar a função de alinhamento, faça o seguinte:

  1. No elemento Agregação, expanda o primeiro menu e selecione Configurar alinhador. São adicionados a função de alinhamento e os elementos de agrupamento.
  2. Expanda o elemento Função de alinhamento e faça uma seleção.

Janela contínua Intervalo mínimo
(para aceder, clique em Adicionar elemento de consulta)
Agrupamento de intervalos temporais
(na secção Em todos os intervalos temporais)
Segundo menu do elemento Agregação
Agregação de intervalos temporais
(na secção Em todos os intervalos temporais)
Primeiro menu do elemento Agregação

Intervalos temporais para quota/rate/net_usage

Para ver os dados de séries cronológicas da métrica serviceruntimequota/rate/net_usage para todos os serviços no seu Google Cloud projeto Google Cloud , onde os dados são agrupados pelo nome da métrica de quota e a taxa de utilização é apresentada, use as seguintes definições:

Caixa de diálogo Nova condição
Campo

Valor
Recurso e métrica No menu Recursos, selecione Quota do consumidor.
No menu Categorias de métricas, selecione Quota.
No menu Métricas, selecione Utilização da quota de taxa.

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

Adicione um filtro para que o gráfico apresente apenas dados do serviço que quer monitorizar. Por exemplo, para monitorizar o serviço de gestão de identidade e de acesso, adicione o seguinte filtro: 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.

Janela contínua Selecione 1 m

O período de 1 minuto corresponde ao intervalo de amostragem desta métrica.

Função de período contínuo Selecione rate

Se definir o alinhador para o valor de rate, os valores armazenados na série cronológica para esta métrica DELTA são convertidos numa nova série cronológica que armazena dados de taxa. O eixo Y do gráfico tem as unidades de quota por segundo.

Em intervalos temporais
Agregação de intervalos temporais

Selecione sum.

O campo de agregação é automaticamente definido como sum quando os dados são agrupados. Esta definição define como os dados na série cronológica individual são combinados.

Em intervalos temporais
Agrupamento de intervalos temporais

Selecione quota_metric.

Esta opção agrupa os dados pelo tipo de nome do quota_metric.

Intervalos temporais para quota/instances_per_vpc_network/limit

Para ver os dados de séries cronológicas da métrica compute.googleapis.com quota/instances_per_vpc_network/limit para todas as redes no seu projeto Google Cloud , use as seguintes definições:

Caixa de diálogo Nova condição
Campo

Valor
Recurso e métrica No menu Tipo de recurso, selecione Rede de VPC.
No menu Categoria de métricas, selecione quota.
No menu Métrica, selecione Limite de quota de instâncias por rede de VPC.

(O metric.type é compute.googleapis.com/quota/instances_per_vpc_network/limit,
e o resource.type é compute.googleapis.com/VpcNetwork).
Filtro Deixe em branco
Janela contínua Selecione 1 m

O período de correspondências é o intervalo de amostragem desta métrica.

Função de período contínuo Selecione mean
Em intervalos temporais
Agregação de intervalos temporais
Deixar como none
Em intervalos temporais
Agrupamento de intervalos temporais
Deixe em branco

Intervalos temporais para quota/instances_per_vpc_network/usage

Para ver os dados de séries cronológicas da métrica compute.googleapis.com quota/instances_per_vpc_network/usage, para uma das redes no seu projeto Google Cloud , use as seguintes definições:

Caixa de diálogo Nova condição
Campo

Valor
Recurso e métrica No menu Tipo de recurso, selecione Rede de VPC.
No menu Categoria de métricas, selecione quota.
No menu Métrica, selecione Utilização da quota de instâncias por rede de VPC.

(O metric.type é compute.googleapis.com/quota/instances_per_vpc_network/usage,
e o resource.type é compute.googleapis.com/VpcNetwork).
Métrica No menu Métrica, selecione compute.googleapis.com/quota/instances_per_vpc_network/usage.
Filtro

Adicione um filtro para que o gráfico apresente apenas um subconjunto de todos os dados. Por exemplo, para ver a utilização 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.

Janela contínua Selecione 1 m

O período de correspondências é o intervalo de amostragem desta métrica.

Função de período contínuo Selecione mean
Em intervalos temporais
Agregação de intervalos temporais
Deixar como none
Em intervalos temporais
Agrupamento de intervalos temporais
Deixe em branco

Gráficos PromQL

Pode usar consultas PromQL para criar gráficos através do editor de código PromQL. Por exemplo, pode introduzir qualquer uma das consultas apresentadas nos exemplos de políticas de alerta do PromQL no editor de código. Pode omitir o operador de comparação no final, como > 0.8, em cada consulta. Este aplica-se apenas quando cria uma condição para uma política de alerta. Num gráfico, definir uma condição com um operador de comparação não tem qualquer efeito.

Para mais informações, consulte o artigo Use o editor de código para o PromQL.