Este documento ajuda você a escolher a melhor abordagem para representar ou monitorar uma proporção de dados de métricas. Também inclui links para exemplos, identifica quando é possível calcular as proporções e descreve as anomalias que podem aparecer ao criar um gráfico de uma proporção de duas métricas diferentes. Essas anomalias se devem às diferenças na taxa de amostragem ou parâmetros de alinhamento.
As proporções permitem transformar os dados de métricas em um formato diferente mais útil, forma. Por exemplo, considere um tipo de métrica que conta o número de respostas HTTP código de resposta. Os dados da métrica informam o número de erros, mas não a proporção de solicitações que falharam. No entanto, requisitos de desempenho geralmente são especificados como uma porcentagem, como "A taxa de erro precisa ser inferior a 0,1%". Determinar a taxa de erros Usando os dados de métricas, você calcula a proporção das solicitações que falharam para o número total de solicitações.
Práticas recomendadas
Para monitorar ou criar um gráfico de uma proporção de dados de métricas, recomendamos o uso de Linguagem de consulta de monitoramento (MQL, na sigla em inglês). É possível usar o MQL com o a API Cloud Monitoring e com o console do Google Cloud. O console do Google Cloud inclui um editor de código que oferece sugestões, detecção de erros e outros tipos de suporte para a criação consultas MQL. Para mais informações e exemplos, consulte os seguintes documentos:
Para criar uma política de alertas que monitore uma proporção de métricas quando você não conhece o MQL, use a API Cloud Monitoring e inclua filtro de série temporal. Para conferir um exemplo, consulte Proporção da métrica.
Para criar um gráfico de uma proporção de dados de métricas quando você não tiver familiaridade com o MQL, use o console do Google Cloud e que você usa uma interface orientada por menus. Para instruções detalhadas, consulte Gráfico de proporção de métricas e Adicionar gráficos e tabelas a um painel personalizado.
Restrições com proporções
Quando você configura uma proporção, as seguintes restrições são aplicadas:
Após a agregação, os rótulos na série temporal do denominador precisam ser iguais ou um subconjunto dos rótulos na série temporal do numerador.
Recomendamos que você selecione opções de agregação de modo que, agregação, a série temporal do numerador e do denominador têm o mesmo rótulos
Considere uma configuração em que a série temporal do numerador tenha
method
,quota_metric
eproject_id
. O denominador tempo série temlimit_name
,quota_metric
eproject_id
rótulos. As opções válidas para o agrupamento de denominadores dependem das seleções para o numerador:- Numerador agrupado pelo rótulo
method
: Combine a série temporal do denominador em uma única série temporal. Nenhum outro agrupamento resulta nos rótulos da série temporal do denominador sendo um subconjunto dos rótulos da série temporal do numerador. - Numerador agrupado pelo rótulo
quota_metric
: Agrupe o denominador por esse rótulo ou combine todos séries temporais no denominador em uma única série temporal. - Numerador agrupado pelos rótulos
quota_metric
eproject_id
: Agrupe o denominador por ambos os rótulos, por um rótulo ou combine os em uma única série temporal.
As opções de agregação de denominador válido sempre eliminam
limit_name
é um rótulo das série temporal agrupadas, o rótulo não está presente na série temporal do numerador.Para ver exemplos, consulte Exemplos de política de alertas do MQL.
- Numerador agrupado pelo rótulo
O período de alinhamento precisa ser o mesmo para o numerador e o denominador ao configurar um gráfico usando o console do Google Cloud; No entanto, esses campos podem ser diferentes ao usar a API Cloud Monitoring.
Recomendamos que você use o mesmo período de alinhamento para o numerador e o denominador, independentemente da ferramenta usada para criar o gráfico.
O numerador e o denominador precisam ter o mesmo tipo de valor. Por exemplo, quando o numerador é do tipo
DOUBLE
, o denominador também precisa ser do tipoDOUBLE
.As proporções exigem que a métrica de numerador e denominador tenha um tipo de valor de
DOUBLE
ouINT64
.A série temporal alinhada do numerador e do denominador precisa ter o mesmo tipo de métrica. Quando as duas métricas têm tipos diferentes, é preciso usar alinhadores para convertê-los no mesmo tipo.
Considere uma configuração em que uma métrica
DELTA
seja selecionada para o numerador e uma métricaGAUGE
é selecionada para o denominador. Nessa situação, use o alinhador de taxa,ALIGN_RATE
, para converter a métricaDELTA
em umaGAUGE
. Para conferir um exemplo, consulte Políticas de alertas de proporção sobre o uso da cota de taxa para um limite.Para proporções que não são definidas com MQL, o tipo de recurso monitorado precisa ser o mesmo para o numerador e o denominador.
Por exemplo, se o recurso da métrica do numerador forem as instâncias do Compute Engine, o recurso da métrica também precisam ser instâncias do Compute Engine.
Anomalias devido a incompatibilidades de amostragem e alinhamento
Em geral, é melhor calcular proporções com base em séries temporais coletadas para um único tipo de métrica usando valores de rótulo. Uma proporção calculada em dois tipos de métricas diferentes estão sujeitos a anomalias devido à amostragem diferente períodos e janelas de alinhamento.
Por exemplo, suponha que você tem dois tipos de métrica diferentes, uma contagem total de RPC e uma contagem de erros de RPC, e quer calcular a proporção de contagem de erros de RPC em relação ao total de RPCs. As RPCs malsucedidas são contadas na série temporal dos dois tipos de métricas. Portanto, há uma chance de que, quando você alinha a série temporal, uma RPC malsucedida não apareça no mesmo intervalo de alinhamento para as duas séries temporais. Essa diferença pode ocorrer por vários motivos, incluindo:
- Como há duas séries temporais diferentes gravando o mesmo evento, há dois valores de contador subjacentes implementando a coleta, e eles não são atualizados atomicamente.
- As taxas de amostragem podem ser diferentes. Quando as séries temporais estão alinhadas a um período comum, as contagens de um único evento podem aparecer em intervalos de alinhamento adjacentes na série temporal de diferentes métricas.
A diferença no número de valores nos intervalos de alinhamento correspondentes pode
levar a valores de proporção error/total
ilógicos, como 1/0 ou 2/1.
Proporções de números maiores têm menos probabilidade de resultar em valores sem sentido. É possível conseguir números maiores por agregação, seja usando uma janela de alinhamento que é maior que o período de amostragem ou agrupando dados de uma rótulos Essas técnicas minimizam o efeito de pequenas diferenças no número de pontos em um determinado intervalo. Ou seja, uma disparidade de dois pontos é mais significativa quando o número esperado de pontos em um intervalo é 3 do que quando o número esperado é 300.
Se você estiver usando tipos de métricas integrados, talvez não tenha opção senão calcular proporções nos tipos de métricas para obter o valor necessário.
Se você estiver criando métricas personalizadas para contar o mesmo resultado (como RPCs que retornam status de erro) em duas métricas diferentes, considere uma única métrica que inclua cada contagem apenas uma vez. Por exemplo, suponha que você esteja contando RPCs e queira rastrear a proporção de RPCs malsucedidas para todas as RPCs. Para resolver esse problema, crie um único tipo de métrica para contar RPCs e use um rótulo para registrar o status da invocação, incluindo o status "OK". Depois, cada valor de status, de erro ou "OK" será registrado ao atualizar um contador único para esse caso.
A seguir
Para informações sobre como usar a MQL para configurar políticas de alertas, consulte Políticas de alertas com MQL.
Para informações sobre como criar gráficos, consulte os seguintes documentos:
- Para criar gráficos temporários, consulte Metrics Explorer:
- Para adicionar gráficos a um painel usando o console do Google Cloud, consulte Adicionar gráficos e tabelas a um painel personalizado.
- Para gerenciar gráficos usando a API Cloud Monitoring, consulte Criar e gerenciar painéis por API.
- Para criar gráficos com o MQL, consulte Como criar gráficos.