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 Google Cloud Managed Service 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 alertas, testes e visualização fornecidos pelo Cloud Monitoring ajudam você a responder a perguntas importantes, como as seguintes:

  • 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 console e à API para a maioria dos serviços. Google Cloud Alguns serviços também são compatíveis com a CLI do Google Cloud ou o Terraform. As páginas de referência da API Cloud Monitoring, como a página alertPolicies.list, permitem que você teste as chamadas de API diretamente da página de referência.

Serviços do Cloud Monitoring

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

Incidentes e notificações

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 exceder 80%.

Cada notificação inclui informações relevantes sobre uma falha e um link para um incidente. Um incidente é um registro permanente que armazena informações que podem ser usadas para resolver a falha. Normalmente, um registro lista o status do incidente, 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 quebrados para rastrear uma página da Web e notificar você quando links quebrados forem detectados.

É possível criar e gerenciar monitores sintéticos usando o console Google Cloud , a API Cloud Monitoring, a CLI do Google Cloud 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 peloGoogle 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 necessários 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, você pode 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 registros 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 console doGoogle 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 dados anteriores, mostrar outliers e percentis, além de exibir várias métricas. Também é possível salvar gráficos em um painel personalizado.

Coleta e armazenamento de dados

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 que o serviço detecta e o número total de entradas de registro recebidas pelo seu projeto do Google Cloud . Também é possível definir métricas com base em registros.

Linguagens de consulta

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:

  • Console doGoogle Cloud : 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) e a linguagem de consulta do Monitoring (MQL). Os editores de consultas fornecem 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), consultas em MQL e expressões de filtro do Monitoring.

Monitorar sistemas grandes

Nesta seção, descrevemos como gerenciar recursos como uma coleção e como monitorar métricas armazenadas em vários projetos Google Cloud .

Gerenciar recursos como uma coleção

Para gerenciar seus recursos como uma coleção em vez de individualmente, crie um grupo de recursos. Um grupo de recursos é um conjunto de recursos dinâmicos que atende a alguns critérios que você fornece. À medida que você adiciona e remove recursos, por exemplo, ao adicionar instâncias de VM do Compute Engine ao seu projetoGoogle Cloud , a associação ao grupo é alterada automaticamente. Veja a seguir exemplos de grupos de recursos:

  • Instâncias do Compute Engine com nomes que começam com a string prod-.
  • Recursos com a tag test-cluster.
  • Instâncias do Amazon EC2 na região A ou região B.

Depois de definir um grupo de recursos, é possível monitorar o grupo como se fosse um único recurso. Por exemplo, é possível configurar uma verificação de tempo de atividade para monitorar um grupo de recursos. Para gráficos e políticas de alertas, também é possível filtrar com base no nome do grupo.

Para mais informações, consulte Configurar grupos de recursos.

Monitorar métricas de vários projetos Google Cloud

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

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

O projeto de escopo também hospeda um escopo de métricas. 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 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 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 métrica e recurso. 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 todas as instâncias de VM.
  • É possível mostrar a utilização da CPU de uma instância de VM específica ao filtrar a série temporal para um único valor do rótulo instance_id.
  • É possível agrupar pelas instâncias de VM pelo rótulo machine_type e exibir 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

Em geral, as métricas do sistema do Cloud Monitoring são gratuitas, e as métricas de sistemas, agentes ou aplicativos externos não são. As métricas faturáveis são cobradas pelo número de bytes ou de amostras ingeridas.

Para mais informações sobre os preços do Cloud Monitoring, consulte os seguintes documentos:

A seguir

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