Vista geral do Cloud Monitoring

Este documento oferece uma vista geral dos serviços que o Cloud Monitoring oferece. Estes serviços podem ajudar a compreender o comportamento, o estado e o desempenho das suas aplicações e de outros Google Cloud serviços. O Cloud Monitoring recolhe e armazena automaticamente informações de desempenho para a maioria dos serviços. Google Cloud Pode recolher métricas do Prometheus através do Google Cloud Managed Service for Prometheus. Se instalar o agente de operações nas suas máquinas virtuais (VMs) do Compute Engine, pode recolher métricas e registos das suas aplicações e de aplicações de terceiros.

Os serviços de alerta, testes e visualização fornecidos pelo Cloud Monitoring ajudam a responder a perguntas importantes, como as seguintes:

  • Qual é a carga no meu serviço?
  • O meu Website está a responder corretamente?
  • O meu serviço está a ter um bom desempenho?
  • Qual é o estado da minha aplicação do App Hub?

O Cloud Monitoring oferece suporte para a Google Cloud consola e a API para a maioria dos respetivos serviços. Alguns serviços também suportam a CLI Google Cloud ou o Terraform. As páginas de referência da API Cloud Monitoring, como a página alertPolicies.list, permitem-lhe experimentar chamadas à API diretamente a partir da página de referência.

Serviços do Cloud Monitoring

O Cloud Monitoring oferece diferentes serviços que pode usar para compreender o estado e o desempenho das suas aplicações e dos outros serviços que usa. Google Cloud

Incidentes e notificações

Para receber uma notificação quando o valor de uma métrica de desempenho cumpre os critérios que definir, crie uma política de alertas. A política de alertas inclui a lista de pessoas ou grupos que devem receber notificações. A monitorização suporta canais de notificação comuns, incluindo email, app para dispositivos móveis do Google Cloud e serviços como o PagerDuty ou o Slack. Por exemplo, pode 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 inclui um link para um incidente. Um incidente é um registo persistente que armazena informações que pode usar para resolver problemas de falhas. Normalmente, um registo apresenta o estado do incidente, links para registos, um gráfico dos dados de métricas registados, etiquetas e duração.

O serviço de alertas está integrado com muitos serviços Google Cloud . Quando estas integrações existem, pode ver um painel que apresenta alertas recomendados ou um botão num gráfico que lhe permite criar uma política de alertas. Em ambos os casos, as políticas de alerta estão pré-configuradas. Só tem de especificar a lista de pessoas ou grupos a notificar.

Pode criar e gerir políticas de alerta através da Google Cloud consola, da API Cloud Monitoring, da CLI Google Cloud ou do Terraform.

Monitorização e validação proativas

Para testar a disponibilidade, a consistência e o desempenho dos seus serviços, aplicações, páginas Web e APIs, crie monitorizações sintéticas. Por exemplo, pode testar a capacidade de resposta dos pontos finais HTTP, HTTPS e TCP com verificações de tempo de atividade e, em seguida, receber uma notificação quando um ponto final não responder. Também pode criar um verificador de links danificados para rastrear uma página Web e, em seguida, receber uma notificação quando forem detetados links danificados.

Pode criar e gerir monitores sintéticos através da Google Cloud consola, da API Cloud Monitoring, da Google Cloud CLI ou do Terraform.

Visualização de dados

À medida que instancia Google Cloud recursos ou regista aplicações no App Hub, o serviço de painel de controlo cria automaticamente Google Cloudpainéis de controlo geridos pela Google. Estes painéis de controlo mostram informações organizadas que ajudam a compreender o estado de funcionamento dos seus recursos e aplicações. Por exemplo, para uma aplicação do App Hub, são criados painéis de controlo para a aplicação e para cada um dos respetivos serviços e cargas de trabalho. Estes painéis de controlo mostram informações como os dados de registo ou métricas de uma aplicação e o número de alertas abertos.

Os painéis de controlo criados por Google Cloud podem fornecer-lhe informações suficientes para concluir uma investigação. No entanto, podem não fornecer os dados exatos de que precisa para ver tendências, identificar valores atípicos ou ver outros detalhes sobre os seus dados. Para concluir estas tarefas, pode usar os serviços de painel de controlo e criação de gráficos:

Recolha e armazenamento de dados

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

  • Métricas baseadas em registos que registam informações numéricas sobre os registos escritos no Cloud Logging. As métricas baseadas em registos definidas pela Google incluem a contagem dos erros que o seu serviço deteta e o número total de entradas de registo recebidas pelo seu projeto Google Cloud . Também pode definir métricas baseadas em registos.

Idiomas de consulta

Quando cria uma política de alerta ou um gráfico, tem de fornecer uma consulta que descreva os dados que quer monitorizar ou representar graficamente:

  • Google Cloud consola: pode criar a sua consulta fazendo seleções nos menus ou escrever uma consulta. Os editores de consultas estão disponíveis para o idioma de consulta Prometheus (PromQL). O editor de consultas oferece verificações de sintaxe e sugestões. Também pode escrever uma expressão de filtro de monitorização.

  • API Cloud Monitoring: a API suporta o Idioma de Consulta do Prometheus (PromQL) e expressões de filtro de monitorização.

Monitorize sistemas grandes

Esta secção descreve como pode gerir recursos como uma coleção e como pode monitorizar métricas armazenadas em vários projetos. Google Cloud

Faça a gestão de recursos como uma coleção

Para gerir os seus recursos como uma coleção em vez de individualmente, crie um grupo de recursos. Um grupo de recursos é uma coleção dinâmica de recursos que satisfazem alguns critérios que fornece. À medida que adiciona e remove recursos, por exemplo, adicionando instâncias de VM do Compute Engine ao seu projeto, a associação ao grupo é alterada automaticamente.Google Cloud Seguem-se exemplos de grupos de recursos:

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

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

Para mais informações, consulte o artigo Configure grupos de recursos.

Monitorize métricas de vários Google Cloud projetos

Para ver e monitorizar os dados de séries cronológicas de vários Google Cloud projetos e contas da AWS através de uma única interface, configure um âmbito de métricas de vários projetos.

Por predefinição, as páginas do Cloud Monitoring na Google Cloud consola fornecem acesso apenas às séries cronológicas armazenadas no projeto de âmbito. O projeto de âmbito é o projeto que selecionou com o Google Cloud seletor de projetos da consola. O projeto de âmbito armazena os alertas, os monitores sintéticos, os painéis de controlo e os grupos de monitorização que configurar.

O projeto de âmbito também aloja um âmbito de métricas. O âmbito das métricas define os projetos e as contas cujas métricas são visíveis para o projeto de âmbito. Pode configurar o âmbito das métricas para incluir dados de séries cronológicas de outros Google Cloud projetos e de contas da AWS. Para obter informações sobre como modificar um âmbito de métricas, consulte o artigo Configure um âmbito de métricas para vários projetos.

Modelo de dados do Cloud Monitoring

Esta secção apresenta o modelo de dados do Cloud Monitoring:

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

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

Seguem-se alguns detalhes sobre o que uma série cronológica contém:

  • A matriz points contém as medições com indicação de data/hora.

    Segue-se um exemplo de uma 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 compreender o significado de um valor, tem de consultar os outros dados incluídos na série cronológica e as definições desses dados.

  • O campo resource descreve o componente de hardware ou software que está a ser monitorizado. No Cloud Monitoring, o componente de hardware ou software é denominado recurso monitorizado. Alguns exemplos de recursos monitorizados incluem instâncias do Compute Engine e aplicações do App Engine. Para ver uma lista dos recursos monitorizados, consulte a lista de recursos monitorizados.

    Segue-se um exemplo de um campo resource:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • O campo type lista o recurso monitorizado como gce_instance, o que indica que estas medições são feitas numa instância de VM do Compute Engine.

    • O campo labels contém pares de chaves-valores que fornecem informações adicionais sobre o recurso monitorizado. Para um tipo gce_instance, as etiquetas identificam a instância de VM que está a ser monitorizada.

  • O campo metric descreve o que está a ser medido.

    Segue-se um exemplo de um campo metric:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • Para os Google Cloud serviços, o campo type especifica o serviço e o que está a ser monitorizado. Neste exemplo, o serviço do Compute Engine mede a utilização da CPU. Quando o campo type começa com custom ou external, a métrica é uma métrica personalizada ou uma métrica definida por terceiros.
    • O campo labels contém pares de chaves-valores que fornecem informações adicionais sobre a medição. Estas etiquetas são definidas como parte do MetricDescriptor, que é uma estrutura de dados que define os atributos dos dados medidos. O MetricDescriptor para a métrica compute.googleapis.com/instance/cpu/utilization inclui a etiqueta instance_name.
  • O campo metricKind descreve a relação entre as medições adjacentes numa série cronológica:

    • As métricas GAUGEarmazenam o valor do que está a ser medido num determinado momento, por exemplo, um registo de temperatura por hora.

    • As métricas CUMULATIVEarmazenam o valor acumulado do que está a ser medido num determinado momento, por exemplo, um conta-quilómetros num veículo.

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

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

O Cloud Monitoring escreve uma série cronológica para cada combinação de valores de etiquetas de recursos e métricas. Pode usar estas etiquetas para agrupar e filtrar séries cronológicas. Por exemplo, quando um Google Cloud projeto contém várias instâncias de VMs do Compute Engine, a utilização da CPU para cada instância de VM é uma série cronológica única. Seguem-se algumas das formas como pode apresentar estes dados:

  • Pode mostrar a utilização da CPU de cada instância de VM.
  • Pode mostrar a utilização da CPU para uma instância de VM específica filtrando a série cronológica para um único valor da etiqueta instance_id.
  • Pode agrupar as instâncias de VM pela etiqueta machine_type e, em seguida, apresentar a utilização média da CPU. A captura de ecrã seguinte ilustra um gráfico com esta configuração:

    Utilização média da CPU agrupada 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 aplicações externos não o são. As métricas faturáveis são faturadas pelo número de bytes ou pelo número de amostras carregadas.

Para mais informações, consulte as secções do Cloud Monitoring na página de preços do Google Cloud Observability.

O que se segue?

  • Para ver informações sobre como configurar o nosso Google Cloud projeto para ver métricas de vários Google Cloud projetos e contas da AWS, consulte a vista geral dos âmbitos das métricas.