Visão geral do Cloud Monitoring

Este documento fornece uma visão geral dos serviços oferecidos pelo Cloud Monitoring. Esses serviços podem ajudar você a entender o comportamento, a integridade e o desempenho dos seus aplicativos e de outros serviços do Google Cloud . O Cloud Monitoring coleta e armazena automaticamente informações de desempenho para a maioria dos serviços do Google Cloud . Você pode coletar métricas do Prometheus usando o Serviço Gerenciado do Google Cloud para Prometheus. Se você instalar o Agente de operações nas máquinas virtuais (VMs) do Compute Engine, poderá coletar métricas e registros dos seus aplicativos e de aplicativos de terceiros.

Os serviços de alerta, teste e visualização fornecidos pelo Cloud Monitoring ajudam você a responder a perguntas importantes, como:

  • Qual é a carga do meu serviço?
  • Meu site está respondendo corretamente?
  • Meu serviço tem um bom desempenho?
  • Qual é a integridade do meu aplicativo do App Hub?

O Cloud Monitoring oferece suporte ao Google Cloud console e à API para a maioria dos serviços. Alguns serviços também são compatíveis com a Google Cloud CLI ou o Terraform. As páginas de referência da API Cloud Monitoring, como alertPolicies.list, permitem testar chamadas de API diretamente da página de referência.

Serviços do Cloud Monitoring

O Cloud Monitoring oferece diferentes serviços que você pode usar para entender a integridade e o desempenho dos aplicativos e dos outros serviços Google Cloud que você usa.

Alertas e notificações no Cloud Monitoring

Para receber uma notificação quando o valor de uma métrica de performance atender aos critérios definidos, crie uma política de alertas. A política de alertas inclui a lista de pessoas ou grupos que vão receber notificações. O Monitoring é compatível com canais de notificação comuns, incluindo e-mail, Cloud Mobile App e serviços como PagerDuty ou Slack. Por exemplo, é possível criar uma política de alertas para receber uma notificação quando a utilização da CPU de uma VM ultrapassar 80%.

Cada notificação inclui informações relevantes sobre uma falha e um link para um alerta. Um alerta é um registro permanente que armazena informações que podem ser usadas para resolver a falha. Normalmente, um registro lista o status do alerta, links para registros, um gráfico dos dados de métricas registrados, rótulos e duração.

O serviço de alertas está integrado a muitos serviços do Google Cloud . Quando essas integrações existem, um painel com alertas recomendados pode aparecer, ou um botão em um gráfico pode permitir que você crie uma política de alertas. Em ambos os casos, as políticas de alertas são pré-configuradas. Você só precisa especificar a lista de pessoas ou grupos que vão receber notificações.

É possível criar e gerenciar políticas de alertas usando o console Google Cloud , a API Cloud Monitoring, a Google Cloud CLI ou o Terraform.

Monitoramento e validação proativos

Para testar a disponibilidade, a consistência e o desempenho dos seus serviços, aplicativos, páginas da Web e APIs, crie monitores sintéticos. Por exemplo, é possível testar a capacidade de resposta de endpoints HTTP, HTTPS e TCP com verificações de tempo de atividade e receber uma notificação quando um endpoint não responde. Você também pode criar um verificador de links corrompidos para rastrear uma página da Web e notificar você quando links corrompidos forem detectados.

É possível criar e gerenciar monitores sintéticos usando o console Google Cloud , a API Cloud Monitoring, a Google Cloud CLI ou o Terraform.

Visualização de dados

À medida que você cria instâncias de recursos Google Cloud ou registra aplicativos no App Hub, o serviço de painel cria automaticamente painéis gerenciados porGoogle Cloud. Esses painéis mostram informações selecionadas que ajudam você a entender a integridade dos seus recursos e aplicativos. Por exemplo, para um aplicativo do App Hub, os painéis são criados para o aplicativo e para cada um dos serviços e cargas de trabalho dele. Esses painéis mostram informações como um registro de aplicativo ou dados de métricas, além do número de alertas abertos.

Os painéis criados pelo Google Cloud podem fornecer informações suficientes para concluir uma investigação. No entanto, eles podem não fornecer os dados exatos que você precisa para ver tendências, identificar outliers ou conferir outros detalhes sobre seus dados. Para concluir essas tarefas, use os serviços de painel e criação de gráficos:

  • Para controlar quais dados você vê e o formato de exibição deles, crie um painel personalizado. Por exemplo, é possível importar um painel do Grafana ou instalar um painel de um modelo.

    Seus painéis personalizados podem mostrar o seguinte:

    • Gráficos e tabelas que mostram dados de métricas
    • Dados de registro e grupos de erros
    • Gráficos para políticas de alertas
    • Informações sobre alertas
    • Texto
    • Eventos, como uma reinicialização ou uma falha, que afetam a operação de um sistema.

    É possível criar e gerenciar painéis usando o consoleGoogle Cloud ou a API.

  • O serviço de gráficos, Metrics Explorer, permite visualizar e analisar rapidamente dados de série temporal. Com as configurações do gráfico, é possível comparar dados atuais com os anteriores, mostrar outliers e percentis e exibir várias métricas. Também é possível salvar gráficos em um painel personalizado.

Coleta de dados e armazenamento

O Cloud Monitoring coleta e armazena os seguintes tipos de dados de métricas:

  • Métricas com base em registros que registram informações numéricas sobre os registros gravados no Cloud Logging. As métricas com base em registros definidas pelo Google incluem contagens dos erros detectados pelo serviço e o número total de entradas de registro recebidas pelo projeto Google Cloud . Também é possível definir métricas com base em registros.

Linguagens de consulta para o Cloud Monitoring

Ao criar uma política de alertas ou um gráfico, é necessário fornecer uma consulta que descreva os dados que você quer monitorar ou representar em um gráfico:

  • Google Cloud console: você pode criar sua consulta fazendo seleções nos menus ou escrevendo uma consulta. Os editores de consultas estão disponíveis para a linguagem de consulta do Prometheus (PromQL). O editor de consultas oferece verificações e sugestões de sintaxe. Você também pode escrever uma expressão de filtro do Monitoring.

  • API Cloud Monitoring: a API é compatível com a linguagem de consulta do Prometheus (PromQL) e expressões de filtro do Monitoring.

Monitorar métricas de vários projetos Google Cloud

Para visualizar e monitorar os dados de série temporal de vários projetos doGoogle Cloud e contas da AWS em uma única interface, configure um escopo de métricas de vários projetos.

Por padrão, as páginas do Cloud Monitoring no console do Google Cloud fornecem acesso apenas às série temporal armazenadas no projeto de escopo. O projeto de escopo é aquele que você selecionou com o seletor de projetos do consoleGoogle Cloud . O projeto de escopo armazena os alertas, os monitores sintéticos e os painéis que você configura.

O projeto de escopo também hospeda métricas de escopo. O escopo de métricas define os projetos e as contas com métricas visíveis para o projeto de escopo. É possível configurar o escopo das métricas para incluir dados de série temporal de outros projetos do Google Cloud e de contas da AWS. Para informações sobre como modificar um escopo de métricas, consulte Configurar um escopo de métricas para vários projetos.

Modelo de dados do Cloud Monitoring

Nesta seção, apresentamos o modelo de dados do Cloud Monitoring:

  • Um tipo de métrica descreve algo que é medido. Exemplos de tipos de métricas incluem a utilização da CPU de uma VM e a porcentagem de um disco que é usado.

  • Uma série temporal é uma estrutura de dados que contém medições com carimbo de data/hora de uma métrica e informações sobre a origem e o significado dessas medidas.

Veja alguns detalhes sobre o que uma série temporal contém:

  • A matriz points contém as medidas com carimbo de data/hora.

    Confira a seguir um exemplo de matriz points com dois valores:

      "points": [
        {
          "interval": {
            "startTime": "2020-07-27T20:20:21.597143Z",
            "endTime": "2020-07-27T20:20:21.597143Z"
          },
          "value": {
            "doubleValue": 0.473005
          }
        },
        {
          "interval": {
            "startTime": "2020-07-27T20:19:21.597239Z",
            "endTime": "2020-07-27T20:19:21.597239Z"
          },
          "value": {
            "doubleValue": 0.473025
          }
        },
      ],
    

    Para entender o significado de um valor, consulte os outros dados incluídos na série temporal e as definições desses dados.

  • O campo resource descreve o componente de hardware ou software que está sendo monitorado. No Cloud Monitoring, o componente de hardware ou software é chamado de recurso monitorado. Exemplos de recursos monitorados incluem instâncias do Compute Engine e aplicativos do App Engine. Para ver uma lista de recursos monitorados, consulte a Lista de recursos monitorados.

    Confira abaixo um exemplo de campo resource:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • O campo type lista o recurso monitorado como um gce_instance, que indica que essas medidas são tomadas em uma instância de VM do Compute Engine.

    • O campo labels contém pares de chave-valor que fornecem informações adicionais sobre o recurso monitorado. Para um tipo gce_instance, os rótulos identificam a instância de VM que está sendo monitorada.

  • O campo metric descreve o que está sendo medido.

    Confira abaixo um exemplo de campo metric:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • Para serviços Google Cloud , o campo type especifica o serviço e o que está sendo monitorado. Neste exemplo, o serviço do Compute Engine mede o uso da CPU. Quando o campo type começa com custom ou external, a métrica é métrica personalizada ou definida por terceiros.
    • O campo labels contém pares de chave-valor que fornecem informações adicionais sobre a medição. Esses rótulos são definidos como parte do MetricDescriptor, que é uma estrutura de dados que define os atributos dos dados medidos. O MetricDescriptor da métrica compute.googleapis.com/instance/cpu/utilization inclui o rótulo instance_name.
  • O campo metricKind descreve a relação entre medições adjacentes em uma série temporal:

    • As métricas GAUGE armazenam o valor da coisa que está sendo medida em um determinado momento, por exemplo, um registro de temperatura por hora.

    • As métricas CUMULATIVE armazenam o valor acumulado daquilo que está sendo medido em um determinado momento. Por exemplo, um odômetro em um veículo.

    • As métricas DELTA armazenam a alteração no valor do que está sendo medido durante um período especificado. Por exemplo, um resumo de ações que mostra os ganhos ou as perdas delas.

  • O campo valueType descreve o tipo de dados da medição: INT64, DOUBLE, BOOL, STRING ou DISTRIBUTION.

O Cloud Monitoring grava uma série temporal para cada combinação de valores de rótulo de recurso e métrica. Você pode usar esses rótulos para agrupar e filtrar séries temporais. Por exemplo, quando um projeto Google Cloud contém várias instâncias de VM do Compute Engine, a utilização da CPU para cada instância de VM é uma série temporal exclusiva. Veja algumas maneiras de exibir esses dados:

  • É possível mostrar a utilização da CPU de cada instância de VM.
  • Para mostrar a utilização da CPU de uma instância de VM específica, filtre a série temporal por um único valor do rótulo instance_id.
  • É possível agrupar as instâncias de VM pelo rótulo machine_type e mostrar a utilização média da CPU. A captura de tela a seguir ilustra um gráfico com esta configuração:

    Uso médio da CPU agrupado por tipo de máquina.

Preços

Para saber mais sobre os preços do Cloud Monitoring, consulte a página Preços do Google Cloud Observability.

A seguir

  • Para informações sobre como configurar o projeto Google Cloud para visualizar métricas de vários projetos Google Cloud e contas da AWS, consulte Visão geral dos escopos de métricas.