Filtragem e agregação: manipular séries cronológicas

Esta página descreve as técnicas usadas para manipular dados de séries cronológicas. Este conteúdo baseia-se nos conceitos e na discussão em Métricas, séries cronológicas e recursos.

Os dados de séries cronológicas não processados têm de ser manipulados antes de poderem ser analisados e, muitas vezes, a análise envolve filtrar alguns dados e agregá-los. Esta página descreve duas técnicas principais para refinar dados não processados:

  • Filtragem, que remove alguns dos dados da consideração.
  • Agregação, que combina vários elementos de dados num conjunto mais pequeno ao longo das dimensões que especificar.

A filtragem e a agregação são ferramentas poderosas que ajudam a identificar padrões interessantes e realçar tendências ou valores atípicos nos dados, entre outras coisas.

Esta página descreve os conceitos subjacentes à filtragem e à agregação. Não aborda a forma de os aplicar diretamente. Para aplicar filtragem ou agregação aos seus dados de séries cronológicas, use a API Cloud Monitoring ou as ferramentas de criação de gráficos e alertas na Google Cloud consola. Para ver exemplos, consulte as políticas de exemplo da API e os exemplos da linguagem de consulta de monitorização.

Dados de intervalos temporais não processados

A quantidade de dados de métricas não processados numa única série cronológica pode ser enorme e, normalmente, existem muitas séries cronológicas associadas a um tipo de métrica. Para analisar todo o conjunto de dados em busca de pontos em comum, tendências ou valores atípicos, tem de fazer algum processamento na série cronológica no conjunto. Caso contrário, existem demasiados dados a considerar.

Para introduzir a filtragem e a agregação, os exemplos nesta página usam um pequeno número de séries cronológicas hipotéticas. Por exemplo, a ilustração seguinte mostra algumas horas de dados não processados de três séries cronológicas:

Gráfico que mostra três séries cronológicas não processadas: vermelho, azul e verde.
Figura 1: três intervalos temporais brutos

Cada série cronológica é colorida a vermelho, azul ou verde para refletir o valor de uma etiqueta hipotética color. Existe uma série cronológica para cada valor da etiqueta. Repare que os valores não se alinham perfeitamente, uma vez que foram registados em momentos diferentes.

Filtragem

Uma das ferramentas de análise mais poderosas é a filtragem, que lhe permite ocultar dados que não são de interesse imediato.

Pode filtrar dados de séries cronológicas com base no seguinte:

  • Tempo.
  • Valor de uma ou mais etiquetas.

A ilustração seguinte mostra o resultado da filtragem para apresentar apenas a série cronológica vermelha do conjunto original de séries cronológicas não processadas (ilustrado na Figura 1):

Gráfico que mostra um dos intervalos temporais brutos: vermelho.
Figura 2: após a filtragem, uma série cronológica não processada

Esta série cronológica, selecionada através da filtragem, é usada na secção seguinte para demonstrar o alinhamento.

Agregação

Outra forma de reduzir a quantidade de dados que tem é resumi-los ou agregá-los. Existem dois aspetos na agregação:

  • Alinhamento ou regularização de dados numa única série cronológica.
  • Redução ou combinação de várias séries cronológicas.

Tem de alinhar as séries cronológicas antes de as poder reduzir. As secções seguintes descrevem o alinhamento e a redução através de séries cronológicas que armazenam valores inteiros. Estes conceitos gerais também se aplicam quando uma série cronológica tem um tipo de valor Distribution. No entanto, existem algumas restrições adicionais neste caso. Para mais informações, consulte o artigo Acerca das métricas com valores de distribuição.

Alinhamento: regularização dentro da série

O primeiro passo na agregação de dados de séries cronológicas é o alinhamento. O alinhamento cria uma nova série cronológica na qual os dados não processados foram regularizados ao longo do tempo, para que possam ser combinados com outras séries cronológicas alinhadas. O alinhamento produz séries cronológicas com dados espaçados regularmente.

O alinhamento envolve dois passos:

  1. Dividir a série cronológica em intervalos de tempo regulares, também denominado agrupamento dos dados. O intervalo é denominado período, período de alinhamento ou janela de alinhamento.

  2. Calcular um único valor para os pontos no período de alinhamento. Escolhe como esse único ponto é calculado; pode somar todos os valores, calcular a média ou usar o máximo.

Uma vez que a nova série cronológica criada pelo alinhamento representa todos os valores da série cronológica não processada que se encontram no período de alinhamento com um único valor, também é denominada redução na série ou agregação na série.

Regularizar intervalos de tempo

A análise de dados de séries cronológicas requer que os pontos de dados estejam disponíveis em limites de tempo uniformemente espaçados. O alinhamento é o processo para que isto aconteça.

O alinhamento cria uma nova série cronológica com um intervalo constante, o período de alinhamento, entre os pontos de dados. Normalmente, o alinhamento é aplicado a várias séries cronológicas em preparação para uma manipulação adicional.

Esta secção ilustra os passos de alinhamento aplicando-os a uma única série cronológica. Neste exemplo, é aplicado um período de alinhamento de uma hora à série cronológica de exemplo ilustrada na Figura 2. A série cronológica mostra os dados captados durante três horas. Dividir os pontos de dados em períodos de 1 hora resulta nos seguintes pontos em cada período:

Período Valores
1:01–2:00 400, 350, 300, 200
2:01–3:00 200, 100
3:01–4:00 300, 250, 200

Escolher períodos de alinhamento

A duração do período de alinhamento depende de dois fatores:

  • O nível de detalhe do que está a tentar encontrar nos dados.
  • O período de amostragem dos dados, ou seja, a frequência com que são comunicados.

As secções seguintes abordam estes fatores mais detalhadamente.

Além disso, o Cloud Monitoring mantém os dados de métricas durante um período finito. O período varia consoante o tipo de métrica. Consulte o artigo Retenção de dados para ver detalhes. O período de retenção é o período de alinhamento significativo mais longo.

Nível de detalhe

Se souber que algo aconteceu num período de algumas horas e quiser analisar mais detalhadamente, é provável que queira usar um período de uma hora ou um determinado número de minutos para o alinhamento.

Se tiver interesse em explorar tendências durante períodos mais longos, um período de alinhamento maior pode ser mais adequado. Normalmente, os períodos de alinhamento longos não são úteis para analisar condições anómalas de curto prazo. Se usar, por exemplo, um período de alinhamento de várias semanas, a existência de uma anomalia nesse período ainda pode ser detetável, mas os dados alinhados podem ser demasiado detalhados para serem muito úteis.

Taxa de amostragem

A frequência com que os dados são escritos, a taxa de amostragem, também pode afetar a escolha do período de alinhamento. Consulte a lista de métricas para ver as taxas de amostragem das métricas incorporadas. Considere a seguinte figura, que ilustra uma série cronológica com uma taxa de amostragem de um ponto por minuto:

Gráfico de dados não processados com um período de amostragem de 1 minuto.

Se o período de alinhamento for igual ao período de amostragem, existe um ponto de dados em cada período de alinhamento. Isto significa que, por exemplo, a aplicação de qualquer um dos alinhadores max, mean ou min resulta na mesma série cronológica alinhada. A ilustração seguinte mostra este resultado, juntamente com a série cronológica original como uma linha esbatida:

Gráfico de uma série cronológica alinhada com o período correspondente ao período de amostragem.

Para mais informações sobre o funcionamento das funções de alinhamento, consulte o artigo Alinhadores.

Se o período de alinhamento estiver definido como dois minutos ou o dobro do período de amostragem, existem dois pontos de dados em cada período. Se os alinhadores max, mean ou min forem aplicados aos pontos no período de alinhamento de dois minutos, as séries cronológicas resultantes diferem. A ilustração seguinte mostra estes resultados, juntamente com a série cronológica original como uma linha esbatida:

Gráfico de intervalos temporais alinhados com o período duas vezes superior ao período de amostragem.

Quando escolher um período de alinhamento, certifique-se de que é mais longo do que o período de amostragem, mas curto o suficiente para mostrar tendências relevantes. Pode ter de fazer experiências para determinar um período de alinhamento útil. Por exemplo, se os dados forem recolhidos à taxa de um ponto por dia, um período de alinhamento de uma hora é demasiado curto para ser útil: na maioria das horas, não existem dados.

Alinhadores

Depois de os dados serem divididos em períodos de alinhamento, selecione uma função, o alinhador, a aplicar aos pontos de dados nesse período. O alinhador produz um único valor colocado no final de cada período de alinhamento.

As opções de alinhamento incluem a soma dos valores ou a determinação do máximo, do mínimo ou da média dos valores, a determinação de um valor percentil escolhido, a contagem dos valores e outras opções. A API Cloud Monitoring suporta um grande conjunto de funções de alinhamento, muito mais do que o conjunto ilustrado aqui. Consulte Aligner para ver a lista completa. Para uma descrição dos alinhadores de taxa e delta, que transformam dados de séries cronológicas, consulte Tipos, tipos e conversões.

Por exemplo, tomando os dados agrupados da série cronológica não processada (ilustrada na Figura 1), escolha um alinhador e aplique-o aos dados em cada grupo. A tabela seguinte mostra os valores brutos e os resultados de três alinhadores diferentes: máximo, média e mínimo:

Período Valores Alinhador: máx. Alinhador: média Alinhador: min
1:01–2:00 400, 350, 300, 200 400 312,5 200
2:01–3:00 200, 100 200 150 100
3:01–4:00 300, 250, 200 300 250 200

A ilustração seguinte mostra os resultados da aplicação dos alinhadores max, mean ou min com um período de alinhamento de 1 hora à série cronológica vermelha original (representada pela linha esbatida na ilustração):

Gráfico que mostra o intervalo temporal vermelho após a aplicação de um de três alinhadores diferentes.
Figura 3: uma série cronológica alinhada de três formas

Outros alinhadores

A tabela seguinte mostra os mesmos valores brutos e os resultados de outros três alinhadores:

  • Count conta o número de valores no período de alinhamento.
  • Soma soma todos os valores no período de alinhamento.
  • Seguinte mais antigo usa o valor mais recente no período como valor de alinhamento.
Período Valores Alinhador: count Alinhador: sum Alinhador: seguinte mais antigo
1:01–2:00 400, 350, 300, 200 4 1250 200
2:01–3:00 200, 100 2 300 100
3:01–4:00 300, 250, 200 3 750 200

Estes resultados não são apresentados num gráfico.

Redução: combinar séries cronológicas

O passo seguinte no processo, a redução, é o processo de combinar várias séries cronológicas alinhadas numa nova série cronológica. Este passo substitui todos os valores no limite do período de alinhamento por um único valor. Como funciona em várias séries temporais separadas, a redução também é denominada agregação de várias séries.

Redutores

Um redutor é uma função que é aplicada aos valores num conjunto de séries cronológicas para produzir um único valor.

As opções de redutor incluem a soma dos valores alinhados ou a procura do máximo, mínimo ou média dos valores. A API Cloud Monitoring suporta um grande conjunto de funções de redução. Consulte Reducer para ver a lista completa. A lista de redutores é paralela à lista de alinhadores.

As séries cronológicas têm de estar alinhadas antes de poderem ser reduzidas. A ilustração seguinte mostra os resultados do alinhamento de todas as três séries cronológicas não processadas (da Figura 1) em períodos de 1 hora com o alinhador de média:

Gráfico que mostra três séries de tempos alinhadas pela média.
Figura 4: três intervalos temporais, média alinhada

Os valores das três séries cronológicas alinhadas pela média (ilustradas na Figura 4) são apresentados na tabela seguinte:

Limite de alinhamento Vermelho Azul Verde
2:00 312,5 133,3 400
3:00 150 283,3 433,3
4:00 250 300 350

Com os dados alinhados na tabela anterior, escolha um redutor e aplique-o aos valores. A tabela seguinte mostra os resultados da aplicação de diferentes redutores aos dados alinhados pela média:

Limite de alinhamento Redutor: máx. Redutor: média Redutor: mín Redutor: soma
2:00 400 281,9 133,3 845,8
3:00 433,3 288,9 150 866,7
4:00 350 300 250 900

Por predefinição, a redução aplica-se a todas as suas séries cronológicas, o que resulta numa única série cronológica. A ilustração seguinte mostra o resultado da agregação das três séries cronológicas alinhadas pela média com o redutor máximo, que produz os valores médios mais elevados nas séries cronológicas:

Gráfico que mostra o resultado da utilização do redutor máximo em séries cronológicas alinhadas pela média.
Figura 5: redução máxima das três séries cronológicas alinhadas pela média

A redução também pode ser combinada com o agrupamento, no qual as séries cronológicas são organizadas em categorias, e o redutor é aplicado nas séries cronológicas em cada grupo.

Agrupamento

O agrupamento permite-lhe aplicar um redutor a subconjuntos das suas séries cronológicas, em vez de a todo o conjunto de séries cronológicas. Para agrupar intervalos temporais, selecione uma ou mais etiquetas. Em seguida, as séries cronológicas são agrupadas com base nos respetivos valores para as etiquetas selecionadas. O agrupamento resulta numa série cronológica para cada grupo.

Se um tipo de métrica registar valores para as etiquetas zone e color, pode agrupar as séries cronológicas por uma ou ambas as etiquetas. Quando aplica o redutor, cada grupo é reduzido a uma única série cronológica. Se agrupar por cor, recebe uma série cronológica para cada cor representada nos dados. Se agrupar por zona, recebe uma série cronológica para cada zona apresentada nos dados. Se agrupar por ambos, recebe uma série cronológica para cada combinação de cores e zonas.

Por exemplo, suponhamos que capturou muitas séries cronológicas com os valores "vermelho", "azul" e "verde" para a etiqueta color. Depois de alinhar todas as séries cronológicas, estas podem ser agrupadas pelo valor color e, em seguida, reduzidas por grupo. Isto resulta em três séries cronológicas específicas de cores:

Gráfico que mostra intervalos temporais agrupados por cor e reduzidos.
Figura 6: intervalos temporais, agrupados por cor e reduzidos

O exemplo não especifica o alinhador nem o redutor usados. O objetivo aqui é que o agrupamento lhe permite reduzir um grande conjunto de séries cronológicas num conjunto mais pequeno, em que cada série cronológica representa um grupo que partilha um atributo comum: neste exemplo, o valor da etiqueta color.

Agregação secundária

O Cloud Monitoring executa dois passos de agregação.

  • A agregação primária regulariza os dados medidos e, em seguida, combina as séries cronológicas regularizadas através de um redutor. Quando usa o agrupamento, podem resultar várias séries cronológicas da redução realizada como parte deste passo.

  • A agregação secundária, que se aplica aos resultados do passo de agregação principal, permite-lhe combinar as séries cronológicas agrupadas num resultado usando um segundo redutor.

A tabela seguinte mostra os valores das séries cronológicas agrupadas (ilustrados na Figura 6):

Limite de alinhamento Grupo vermelho Grupo azul Grupo verde
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

Estas três séries cronológicas já reduzidas podem ser ainda mais reduzidas aplicando a agregação secundária. A tabela seguinte mostra os resultados da aplicação dos redutores selecionados:

Limite de alinhamento Redutor: máx. Redutor: média Redutor: mín Redutor: soma
2:00 450 333,3 150 1000
3:00 450 333,3 200 1000
4:00 400 333,3 300 1000

A ilustração seguinte mostra o resultado da agregação das três séries agrupadas com o redutor média:

Gráfico que mostra o resultado do redutor de média na série cronológica reduzida por grupo.
Figura 7: intervalos temporais agrupados, após a agregação secundária média

Tipos, tipos e conversões

Lembre-se de que os pontos de dados numa série cronológica são caraterizados por um tipo de métrica e um tipo de valor. Consulte Tipos de valores e tipos de métricas para uma revisão. Os alinhadores e os redutores adequados para um conjunto de dados podem não ser adequados para outro. Por exemplo, um alinhador ou um redutor que conta o número de valores falsos é adequado para dados booleanos, mas não para dados numéricos. Da mesma forma, um alinhador ou um redutor que calcula uma média é aplicável a dados numéricos, mas não a dados booleanos.

Alguns alinhadores e redutores também podem ser usados para alterar explicitamente o tipo de métrica ou o tipo de valor dos dados numa série cronológica. Alguns, como o ALIGN_COUNT, fazem-no como efeito secundário.

  • Tipo de métrica: uma métrica cumulativa é aquela em que cada valor representa o total desde o início da recolha de valores. Não pode usar métricas cumulativas diretamente em gráficos, mas pode usar métricas delta, em que cada valor representa a alteração desde a medição anterior.

    Também pode converter métricas cumulativas e delta em métricas de indicador. Por exemplo, considere uma métrica delta cuja série cronológica seja a seguinte:

    (hora de início, hora de fim] (minutos) valor (MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

    Suponha que selecionou um alinhador de ALIGN_DELTA e um período de alinhamento de três minutos. Uma vez que o período de alinhamento não corresponde a (hora de início, hora de fim] para cada exemplo, é criada uma série cronológica com valores interpolados. Para este exemplo, a série cronológica interpolada é:

    (hora de início, hora de fim] (minutos) valor interpolado (MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

    Em seguida, todos os pontos no período de alinhamento de três minutos são somados para gerar os valores alinhados:

    (hora de início, hora de fim] (minutos) valor alinhado (MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    Se ALIGN_RATE estiver selecionado, o processo é o mesmo, exceto que os valores alinhados são divididos pelo período de alinhamento. Para este exemplo, o período de alinhamento é de três minutos, pelo que a série cronológica alinhada tem os seguintes valores:

    (hora de início, hora de fim] (minutos) valor alinhado (MiB / segundo)
    (0, 3] 0,056
    (3, 6] 0,022
    (6, 9] 0,050

    Para criar um gráfico de uma métrica cumulativa, esta tem de ser convertida numa métrica delta ou numa métrica de taxa. O processo para métricas cumulativas é semelhante à discussão anterior. Pode calcular uma série cronológica delta a partir de uma série cronológica cumulativa calculando a diferença dos termos adjacentes.

  • Tipo de valor: alguns alinhadores e redutores deixam o tipo de valor dos dados de entrada inalterado. Por exemplo, os dados de números inteiros continuam a ser dados de números inteiros após o alinhamento. Outros alinhadores e redutores convertem dados de um tipo para outro, o que significa que as informações podem ser analisadas de formas não adequadas ao tipo de valor original.

    Por exemplo, o redutor REDUCE_COUNT pode ser aplicado a dados numéricos, booleanos, de string e de distribuição, mas o resultado que produz é um número inteiro de 64 bits que conta o número de valores no período. REDUCE_COUNT só pode ser aplicado a métricas de calibre e delta, e deixa o tipo de métrica inalterado.

As tabelas de referência para Aligner e Reducer indicam para que tipo de dados cada uma é adequada e qualquer conversão que resulte. Por exemplo, a imagem seguinte mostra a entrada para ALIGN_DELTA:

Entrada de referência para o alinhador delta