O modelo do Cloud Monitoring para dados de monitoramento consiste em três conceitos principais:
- Tipos de recursos monitorados
- Tipos de métricas
- Série temporal
O documento O modelo de métrica descreve esses conceitos do Cloud Monitoring em termos gerais. Se esses conceitos forem novos para você, leia essa página primeiro.
Nesta página, descrevemos tipos de métricas, recursos monitorados e séries temporais, além de alguns conceitos relacionados, em mais detalhes. Esses conceitos abrangem todas as métricas do Monitoring.
Você deve compreender as informações nesta página se quiser fazer qualquer uma das seguintes:Inspecionar dados de métricas usando o Metrics Explorer.
Criar políticas de alerta para enviar notificações quando um valor estiver fora dos limites normais, conforme descrito em Como usar políticas de alerta.
Extraia dados de monitoramento brutos ou agregados usando a API Monitoring, conforme descrito em Extrair dados de série temporal.
Crie seus próprios tipos de métrica, conforme descrito em Visão geral das métricas definidas pelo usuário.
Uma palavra sobre rótulos
Os tipos de recursos monitorados e de métricas são compatíveis com rótulos, que permitem que os dados sejam classificados durante a análise. Exemplo:
- Um tipo de recurso monitorado para uma máquina virtual pode incluir rótulos para o local da máquina e o ID do projeto associado à máquina. Quando as informações sobre o recurso monitorado são registradas, elas incluem os valores dos rótulos. Um recurso monitorado também pode ter rótulos de metadados fornecidos pelo sistema ou pelo usuário, além dos rótulos definidos para o tipo de recurso monitorado.
- Um tipo de métrica que conta solicitações de API pode ter rótulos para registrar o nome do método invocado e o status da solicitação.
O uso de rótulos é discutido em mais detalhes em Rótulos.
Tipos de recursos monitorados
Um recurso monitorado é um recurso de onde dados da métrica são capturados. O Cloud Monitoring é compatível com aproximadamente 270 tipos de recursos monitorados.
Os tipos de recursos monitorados incluem tarefas e nós genéricos, componentes de arquitetura no Google Kubernetes Engine, tabelas no Bigtable, vários recursos da AWS e muito mais.Cada tipo de recurso monitorado é formalmente descrito em uma estrutura de dados chamada descritor de recurso monitorado. Para mais informações, consulte Descritores de recursos monitorados.
Cada um dos tipos de recursos monitorados compatíveis tem uma entrada na Lista de recursos monitorados. As entradas na lista são criadas com base em descritores de recursos monitorados. Nesta seção, descrevemos as informações capturadas em um descritor de recursos monitorados e mostra como elas são apresentadas na lista.
Uma amostra de tipo de recurso monitorado
A imagem a seguir mostra a entrada na lista de um bucket do Cloud Storage:
Todas as entradas da lista incluem as seguintes informações:
- Tipo: o cabeçalho na entrada lista o tipo de recurso monitorado. No exemplo,
gcs_bucket
. - Nome de exibição: uma breve descrição do recurso monitorado.
- Descrição: uma descrição mais longa do recurso monitorado.
- Rótulos: um conjunto de dimensões para classificar dados. Para mais informações, consulte Rótulos.
Tipos de métricas
Um tipo de métrica descreve as medidas que podem ser coletadas de um recurso. Um tipo de métrica inclui uma descrição do que está sendo medido e como as medições são interpretadas. O Cloud Monitoring é compatível com aproximadamente 6.500 tipos de métricas e permite que você defina novos tipos.Os tipos de métricas incluem contagens de chamadas de API, estatísticas de uso do disco, consumo de armazenamento e muito mais.
Cada tipo de métrica é formalmente descrito em uma estrutura de dados chamada de descritor de métrica. Para mais informações, consulte Descritores de métricas.
Cada um dos tipos de métricas integradas tem uma entrada Lista de métricas páginas de destino. As entradas nessas tabelas são criadas a partir dos descritores de métrica. Nesta seção, descrevemos as informações capturadas em um tipo de métrica e mostra como elas são apresentadas no material de referência.
Um exemplo de tipo de métrica
A imagem a seguir mostra uma entrada para um tipo de métrica do Cloud Storage:
Os tipos de métrica são exibidos em uma tabela, e o cabeçalho da tabela explica o layout das informações. Nesta seção, usamos uma entrada como exemplo, mas todas as tabelas usam o mesmo formato.
A entrada de tabela de amostra do Cloud Storage apresenta estas informações sobre um tipo de métrica:
Tipo de métrica: um identificador para o tipo de métrica. No exemplo,
storage.googleapis.com/api/request_count
.O prefixo
storage.googleapis.com
atua como um namespace para o Cloud Storage. Todos os tipos de métricas associadas a um determinado tipo de recurso monitorado usam o mesmo namespace.Os namespaces são omitidos das entradas nas tabelas.
Todos os tipos de métricas associadas ao Cloud Storage estão listados na tabela de métricas do Cloud Storage.
Estágio de lançamento: um bloco colorido que indica o estágio de lançamento do tipo de métrica com um valor como Alfa, Beta e GA (disponibilidade geral, na sigla em inglês).
Nome de exibição: uma string curta que descreve o tipo de métrica "Contagem de solicitações" no exemplo.
Tipo, unidade: esta linha fornece informações para interpretar os valores de dados. O exemplo mostra uma métrica delta registrada como um número inteiro de 64 bits sem unidade (esse é o valor
1
).Tipo: este exemplo é uma métrica delta, que registra uma alteração ao longo de um período. Ou seja, cada ponto de dados registra o número de chamadas de API desde que o ponto de dados anterior foi gravado. Para mais informações sobre tipos, consulte Tipos de valor e tipos de métrica.
Tipo: este exemplo registra os valores como números inteiros de 64 bits. Para mais informações sobre tipos, consulte Tipos de valor e tipos de métrica.
Unidade: essa métrica não precisa de uma unidade explícita porque representa uma contagem. o dígito
1
é usado para indicar que nenhuma unidade é necessária.
Recursos monitorados: os recursos monitorados que têm esse tipo de métrica disponível. Os valores aqui são os mesmos descritos em Tipos de recursos monitorados.
Descrição: informações mais detalhadas sobre o que é gravado e como. Defina em itálico para diferenciá-lo dos rótulos.
Rótulos: um conjunto de dimensões para classificar dados. Para mais informações, consulte Rótulos.
Ao acessar os dados de monitoramento por meio da API Cloud Monitoring, inclua
um projeto do Google Cloud na chamada da API. Só é possível recuperar os dados visíveis para esse projeto do Google Cloud. Por exemplo, se você solicitar os dados do projeto para o tipo de métrica storage.googleapis.com/api/request_count
, verá contagens de APIs somente para buckets do Cloud Storage no seu projeto.
Se o projeto não estiver usando buckets do Cloud Storage, nenhum dado de métrica será retornado.
Tipos de métricas integrados
Os tipos de métricas integrados são definidos pelos serviços do Google Cloud, incluindo o Cloud Monitoring. Esses tipos de métrica descrevem medições padrão para uma ampla variedade de infraestruturas comuns e estão disponíveis para qualquer pessoa usar.
A lista de métricas mostra todo o conjunto de tipos de métricas integradas. As métricas listadas na página Lista de métricas externas são um subconjunto especial de métricas integradas definidas pelo Cloud Monitoring em parceria com projetos de código aberto ou provedores terceirizados. Normalmente, essas métricas têm um prefixoexternal.googleapis.com
.
Métricas personalizadas
Ao criar um aplicativo, é possível que você tenha determinadas propriedades que
avaliar, coisas para as quais não há métricas integradas
Cloud Monitoring: Com o Cloud Monitoring, é possível definir
ou importar tipos de métricas de fontes externas. Esses tipos de métrica
são chamados de métricas personalizadas. Se uma métrica tiver o prefixo custom.googleapis.com
ou prometheus.googleapis.com
, ela será uma métrica personalizada.
As últimas métricas geralmente são provenientes do Google Cloud Managed Service para Prometheus.
Por exemplo, se você quiser acompanhar o número de widgets vendidos por suas lojas, será necessário usar uma métrica personalizada. Para mais informações, consulte Visão geral das métricas definidas pelo usuário.
Rótulos
Um rótulo é um par de chave-valor que pode ser usado para fornecer informações sobre um valor de dados.
Rótulos de métricas e recursos monitorados
As definições de tipos de métricas e recursos monitorados incluem rótulos. Os rótulos são classificadores para os dados que estão sendo coletados. Eles ajudam a categorizar os dados para uma análise mais profunda. Exemplo:
- O tipo de métrica
storage.googleapis.com/api/request_count
do Cloud Storage tem dois rótulos,response_code
emethod
. - O tipo de recurso monitorado do Cloud Storage
gcs_bucket
tem três rótulos,project_id
,bucket_name
elocation
. Os rótulos identificam instâncias específicas do tipo de recurso.
Portanto, todos os dados coletados para solicitações de API de um bucket do Cloud Storage são classificados pelo método chamado, o código de resposta da chamada, o nome, o local e o projeto do bucket envolvido. O conjunto de rótulos varia de acordo com a métrica ou o tipo de recurso monitorado. Os rótulos disponíveis são documentados nas páginas Lista de métricas e Lista de recursos monitorados.
Identificando o código de resposta, o nome do método e o local ao contar chamadas de API, é possível buscar o número de chamadas para um método de API específico, o número de chamadas com falha para qualquer método ou o número de chamadas com falha para um método específico em um local específico.
O número de rótulos e o número de valores que cada um pode presumir é chamado de cardinalidade. A cardinalidade é o número de séries temporais que podem ser coletadas para um par de tipos de métricas e de recursos monitorados: há uma série temporal para cada combinação de valores dos rótulos. Para mais informações, consulte Cardinalidade: séries temporais e rótulos.
Rótulos de metadados de recursos
Além dos rótulos definidos nos tipos de métricas e recursos monitorados, o Monitoring coleta internamente outras informações sobre recursos monitorados e armazena essas informações em rótulos de metadados do sistema. Esses rótulos de metadados do sistema estão disponíveis para os usuários como valores somente leitura. Alguns recursos também permitem que os usuários criem seus próprios rótulos de metadados de recursos ao configurar recursos como instâncias de VM no console do Google Cloud.
Os rótulos de metadados do sistema e do usuário são chamados coletivamente de rótulos de metadados de recursos. É possível usar esses rótulos como os definidos nos tipos de métricas e recursos monitorados em filtros de série temporal. Para mais informações sobre filtragem, consulte Como monitorar filtros.
Série temporal: dados de um recurso monitorado
Nesta seção, discutimos o que são dados de monitoramento e como eles são organizados em séries temporais. É aqui que os componentes conceituais do modelo de métrica se tornam artefatos concretos.
O Cloud Monitoring armazena medições regulares ao longo do tempo para pares de tipos de métricas e recursos monitorados. As medições são coletadas em séries temporais e cada série temporal inclui os itens a seguir:
O nome do tipo de métrica a que a série temporal pertence e uma combinação de valores para os rótulos da métrica.
Uma série de pares (carimbo de data/hora, valor). O valor é a medida e o carimbo de data/hora é a hora em que a medição foi feita.
O recurso monitorado, que é a fonte dos dados da série temporal e também uma combinação de valores para os rótulos do recurso.
Uma série temporal é criada para cada combinação de rótulos de métricas e recursos. que gera dados.
Exemplo estilizado: o tipo de métrica storage.googleapis.com/api/request_count
pode ter várias série temporal para o Cloud Storage
buckets de armazenamento. A ilustração a seguir mostra algumas séries temporais possíveis.
Na ilustração, o valor bucket: xxxx
representa o valor do rótulo bucket_name
no tipo de recurso monitorado, enquanto response_code
e method
são rótulos no tipo de métrica. Há uma série temporal para cada combinação de valores nos rótulos de recursos e métricas. As ilustrações mostram algumas delas:
O Cloud Monitoring não grava séries temporais "vazias". Na Exemplo de buckets do Cloud Storage, se você não estiver usando um bucket específico ou nunca chamar um método de API específico, nenhum dado será coletado para esse rótulo, e nenhuma série temporal o menciona. Isso significa que, se o projeto não tiver dados para uma determinada métrica, você nunca verá o tipo de métrica.
Os tipos de métrica não indicam quais tipos de recursos monitorados são encontrados na série temporal das métricas. Para o Cloud Storage, há apenas um tipo de recurso monitorado: gcs_bucket
. Alguns tipos de métricas são combinados com mais de um recurso monitorado.
Exemplo ativo: se você tiver um projeto do Google Cloud,
pode testar o widget do APIs Explorer, localizado na página de referência do
timeSeries.list
na API Monitoring.
Abra a página de referência do
timeSeries.list
.No painel Testar este método, insira o seguinte:
- name:
projects/PROJECT_ID
SubstituaPROJECT_ID
pelo ID do seu projeto do Google Cloud. - filter:
metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
- interval.start_time: insira o horário de início e verifique se ele é 20 minutos antes do horário de término.
- interval.end_time: insira o horário de término.
- name:
Se a solicitação for bem-sucedida, ela retornará os dados da série temporal que correspondem à solicitação. Ele será semelhante ao seguinte snippet:
{ "timeSeries": [ { "metric": { "labels": { "severity": "INFO", "log": "compute.googleapis.com/activity_log" }, "type": "logging.googleapis.com/log_entry_count" }, "resource": { "type": "gce_instance", "labels": { "instance_id": "0", "zone": "us-central1", "project_id": "your-project-id" } }, "metricKind": "DELTA", "valueType": "INT64", "points": [ { "interval": { "startTime": "2024-03-29T13:53:00Z", "endTime": "2024-03-29T13:54:00Z" }, "value": { "int64Value": "0" } }, ... ] }, ... ] }
Para mais informações sobre como usar o widget do APIs Explorer, incluindo solução de problemas, consulte o APIs Explorer.
Cardinalidade: séries temporais e rótulos
Cada série temporal é associada a um par específico de tipos de métrica e recursos monitorados. Os tipos de recurso monitorado e métrica cada um fornece um número de rótulos. No Cloud Monitoring, o número de combinações exclusivas de valores para o conjunto de rótulos é a cardinalidade do tipo de métrica ou de recurso monitorado. Esses valores são chamados de cardinalidade da métrica e cardinalidade do recurso, além de determinar quantas uma possível série temporal, a cardinalidade total, pode ser gerada.
Cardinalidade total, de métrica e de recurso
Suponha que você tenha um tipo de métrica que especifica dois rótulos,
color
e zone
. A cardinalidade da métrica depende do número de possíveis
os valores dos rótulos:
- Se houver apenas três cores possíveis, "vermelho", "verde" e "azul", o rótulo
color
poderá ter até três valores distintos. - Se houver apenas duas zonas possíveis, "leste" e
"west", o rótulo
zone
poderá ter até dois valores distintos.
A cardinalidade dessa métrica é 6 (3×2). Se houver 1.000 valores possíveis para o rótulo color
e se cada cor puder aparecer em cada zona, a cardinalidade da métrica será 2.000 (1.000 x 2). O mesmo cálculo se aplica
se forem rótulos em um tipo de recurso monitorado, e não em um tipo de métrica.
Esse valor de cardinalidade é máximo, com base no número de combinações de possíveis valores de rótulo. O valor real e efetivo pode ser significativamente menor quando todas as combinações de valores de rótulo não ocorrem de fato. Por exemplo, se cada cor aparecer em apenas uma zona, e não em ambas, o número máximo de séries temporais que você vai encontrar no sistema em execução é 1.000. Mas a utilidade da cardinalidade efetiva depende dos motivos que certas combinações não apareçam e se elas poderão aparecer no futuro.
Quando os dados de série temporal são gravados, eles são classificados por métrica e tipos de recurso monitorado. Para qualquer par de tipos de métrica e recurso, a cardinalidade total é o produto da cardinalidade da métrica e da cardinalidade do recurso. Se você tiver uma métrica com cardinalidade de 1.000 e um recurso com cardinalidade de 100, e se todos os valores de rótulo aparecem, então você tem 100.000 (1.000 × 100).
Ao projetar suas próprias métricas, verifique se o conjunto de valores possíveis para qualquer rótulo é limitado. A abordagem recomendada é ter um pequeno conjunto de valores distintos (como "vermelho", "verde" e "azul"). Se, por exemplo, você usar valores RGB de 8 bits para umcolor
, é possível ter mais de 16 milhões de
valores. Não use valores de alta resolução, como carimbos de data/hora,
qualquer tipo de identificador exclusivo, IDs de usuários, endereços IP, URLs não parametrizados
e assim por diante para rótulos de métricas.
Desempenho da consulta e cardinalidade
Quando você faz uma consulta de dados, o volume de dados solicitado é o maior fator no desempenho da consulta: uma consulta para uma hora de dados é geralmente mais rápida do que a mesma consulta em um período de seis meses. Mas o volume dos dados retornados por uma solicitação também são sensíveis ao número de em uma solicitação. Uma consulta recuperando dois meses de dados para uma baixa cardinalidade métrica provavelmente será mais rápida do que outra consulta recuperando dois meses de para uma métrica de cardinalidade muito alta, devido ao valor dos dados que estão sendo recuperados.
A cardinalidade depende principalmente do número de valores que seus rótulos podem ter, não do número de rótulos. Em geral, você não tem controle sobre o cardinalidade dos recursos, como quando o número de pods ou VMs muda com base nas necessidades comerciais. Mas, ao ingerir métricas no Cloud Monitoring, em vez de usar métricas do sistema, geralmente você tem algum controle sobre a cardinalidade da métrica. Por exemplo, com métricas personalizadas definidas pelo usuário, determina os rótulos e os possíveis valores para eles. Se você estiver ingerindo métricas do Prometheus, use a reidentificação para modificar o conjunto de rótulos e descartar as séries temporais que não quer ingerir.
Use a página Gerenciamento de métricas do Cloud Monitoring para identificar métricas que podem ter problemas de cardinalidade. Para visualizar a página Gerenciamento de métricas, faça o seguinte:
-
No console do Google Cloud, acesse a página
Gerenciamento de métricas:Acesse os Gerenciamento de métricas
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.
- Na barra de ferramentas, selecione a janela de tempo. Por padrão, a página Gerenciamento de métricas exibe informações sobre as métricas coletadas no dia anterior.
Para mais informações sobre a página Gerenciamento de métricas, consulte Ver e gerenciar o uso de métricas.
Para informações técnicas sobre a forma como o Cloud Monitoring armazena e recupera dados de série temporal, consulte Monarch: escala planetária do Google Banco de dados de séries temporais na memória.
Para informações sobre limites de métricas definidas pelo usuário no Cloud Monitoring, consulte Métricas definidas pelo usuário.