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 do sistema geradas pelos Google Cloud serviços. Essas métricas indicam como um serviço está funcionando.
- Métricas de sistema e aplicativo que o Agente de operações coleta sobre recursos do sistema e aplicativos em execução em instâncias do Compute Engine. É possível configurar o Agente de operações para coletar métricas de plug-ins de terceiros, como servidores da Web Apache ou Nginx, ou bancos de dados MongoDB ou PostgreSQL.
Métricas definidas pelo usuário criadas com a API Cloud Monitoring ou uma biblioteca como o OpenTelemetry.
Métricas externas definidas por algumas bibliotecas de código aberto ou provedores terceirizados.
Métricas do Prometheus coletadas pelo Serviço Gerenciado do Google Cloud para Prometheus ou usando o Agente de operações e o receptor do Prometheus ou o receptor do OTLP.
- 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
pointscontém as medidas com carimbo de data/hora.Confira a seguir um exemplo de matriz
pointscom 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
resourcedescreve 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
typelista o recurso monitorado como umgce_instance, que indica que essas medidas são tomadas em uma instância de VM do Compute Engine.O campo
labelscontém pares de chave-valor que fornecem informações adicionais sobre o recurso monitorado. Para um tipogce_instance, os rótulos identificam a instância de VM que está sendo monitorada.
O campo
metricdescreve 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
typeespecifica o serviço e o que está sendo monitorado. Neste exemplo, o serviço do Compute Engine mede o uso da CPU. Quando o campotypecomeça comcustomouexternal, a métrica é métrica personalizada ou definida por terceiros.
- O campo
labelscontém pares de chave-valor que fornecem informações adicionais sobre a medição. Esses rótulos são definidos como parte doMetricDescriptor, que é uma estrutura de dados que define os atributos dos dados medidos. OMetricDescriptorda métricacompute.googleapis.com/instance/cpu/utilizationinclui o rótuloinstance_name.
- Para serviços Google Cloud , o campo
O campo
metricKinddescreve a relação entre medições adjacentes em uma série temporal:As métricas
GAUGEarmazenam o valor da coisa que está sendo medida em um determinado momento, por exemplo, um registro de temperatura por hora.As métricas
CUMULATIVEarmazenam o valor acumulado daquilo que está sendo medido em um determinado momento. Por exemplo, um odômetro em um veículo.As métricas
DELTAarmazenam 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
valueTypedescreve o tipo de dados da medição:INT64,DOUBLE,BOOL,STRINGouDISTRIBUTION.
- É 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_typee mostrar a utilização média da CPU. A captura de tela a seguir ilustra um gráfico com esta configuração:
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 explorar o Cloud Monitoring, consulte o Guia de início rápido para monitorar uma instância do Compute Engine.
- 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.
Para informações sobre o modelo de dados do Cloud Monitoring, consulte Métricas, série temporal e recursos.
Para mais informações sobre a API Cloud Monitoring, consulte APIs e referência.
Para ver listas de métricas e recursos monitorados, consulte Lista de métricas e Lista de recursos monitorados.