Engenharia

Dez perguntas comuns respondidas com fórmulas e deslocamentos no tempo no Kibana

O Kibana cria maneiras fáceis para você trabalhar com todos os seus dados, a fim de fazer e responder a perguntas e seguir o fluxo de análise. Muitas vezes, a resposta à sua pergunta requer cálculos com base nos dados consultados. As fórmulas permitem que você crie suas próprias métricas combinando vários campos agregados com o uso de operações matemáticas.

Além disso, mover e exibir novamente seus dados no tempo e no espaço são maneiras poderosas de obter contexto histórico e entender informações adicionais sobre o presente.

Nas seções abaixo, você encontrará dez exemplos de perguntas que podem ser respondidas com dados de dashboards e visualizações de mapas no Kibana por meio de fórmulas, deslocamentos de tempo e movimentação de dados no tempo. Tente acompanhar usando seus próprios dados ou use os conjuntos de dados de amostra do Kibana. Tem alguma dúvida? Acesse nosso fórum de discussão.

Vamos à lista!

  1. A proporção de erros está aumentando?
  2. Como o desempenho se compara à semana passada?
  3. Como esses dados se comparam aos de seus pares?
  4. O que está tendo o maior efeito na minha média?
  5. Qual é o ganho/perda bruto comparado historicamente?
  6. Qual é o ganho/perda como uma porcentagem do desempenho passado?
  7. Como os dados chegaram aonde estão agora?
  8. Como posso explorar um dashboard no espaço de forma interativa?
  9. Qual é a versão por unidade desta métrica?
  10. Qual é o meu cálculo específico do setor — como um “Net Promoter Score” — para o último período?

1) A proporção de erros está aumentando?

As taxas de proporção são úteis porque podem ajudar a mostrar a proporção em relação ao total geral e responder a uma pergunta que a contagem bruta não consegue responder: “Estou vendo isso nesta medida aumentar porque estou obtendo mais dados de forma geral?” As taxas de proporção podem ser construídas filtrando um subconjunto dos seus dados e comparando-o com o total geral, não filtrado. Experimente usar o KQL para atuar como esse filtro em uma fórmula customizada para criar suas taxas de proporção em tempo real.

O exemplo abaixo mostra a taxa de proporção de usuários únicos com códigos de erro HTTP (response.code maior que um HTTP 200) em comparação com usuários únicos de forma geral. Para obter informações adicionais, a visualização inclui a hora do dia em linhas e o dia da semana em colunas. Se faltarem esses campos em seus dados, você poderá adicioná-los como um campo de tempo de execução

unique_count(clientip, kql='response.keyword > 200') / unique_count(clientip)

Using formulas in Kibana Lens for ratios and visualizing with color-by-value.

Tabela de taxa de proporção de erros por hora do dia e dia da semana

Práticas de visualização: taxas de proporção

Ao visualizar taxas de proporção, aplique o formato de valor “Percent” (Porcentagem). Use “proporção” no nome da métrica. Se você está visualizando métricas como taxas de proporção de erros, pode ser útil mostrá-la em relação à hora do dia e ao dia da semana em uma tabela. Com as taxas de proporção, a média pode fornecer informações no nível da coluna (neste caso, a taxa de erro média para o dia da semana).

2) Como o desempenho se compara à semana passada?

Período a período fornecerá uma representação percentual de agora em comparação com o passado, onde 100% é uma correspondência exata. 

O exemplo mostra um aumento de 14x (1.400%) da largura de banda em comparação com a semana anterior.

median(bytes) / median(bytes, shift='1w')

Formulas in Kibana Lens for showing change week over week over time.

Mudança na largura de banda semana a semana ao longo do tempo

Práticas de visualização: período a período 

Período a período pode ser útil para praticamente qualquer visualização. Pode ser útil observar período a período ao longo do tempo para ver se as próprias mudanças do período estão mudando ao longo do tempo. Esse cálculo gera outra porcentagem, portanto, não se esqueça do formato do valor e, se seus dados estiverem esparsos em um gráfico de linhas, a opção de valores ausentes “lineares” será a menos disruptiva visualmente.

3) Como esses dados se comparam aos de seus pares?

O uso de somas gerais permite que você mostre quaisquer dados como uma proporção do total para facilitar as comparações. 

No exemplo abaixo, podemos ver a imagem “ceph” gerando a maioria dos dados e, em vez de precisarmos olhar as contagens, podemos ver o valor como uma porcentagem.

count() / overall_sum( count() )

Formulas in Kibana Lens for visualizing percents of overall sums for comparisons

Porcentagem de dados de infraestrutura por imagem de container

Práticas de visualização: porcentagem da soma geral

A construção de uma porcentagem do total geral com uma fórmula permite que qualquer visualização apresente dados de proporção em relação ao todo, enquanto anteriormente apenas gráficos de mapa de árvore, pizza e rosca ofereciam isso. Você poderá usar uma barra horizontal para mostrar uma porcentagem de um total quando quiser garantir que cada ponto de dados seja legível.

Treemaps in KibanaGráficos de mapa de árvore, rosca e pizza geram automaticamente uma porcentagem dos dados, mas podem deixar a desejar na legibilidade

4) O que está tendo o maior efeito na minha média?

Funções como média geral permitem que você faça comparações matemáticas de ou para a média de todos os valores no relatório completo. 

Neste exemplo, podemos ver quais categorias estão tendo um desempenho melhor do que a média geral das vendas totais, com ambas as categorias de roupas ficando acima da média geral.

sum(taxless_total_price) - overall_average(sum(taxless_total_price))

Using formulas to visualize deviation of sum

Desvio da categoria de produto em relação às vendas médias

Práticas de visualização: desvio

Pode ser especialmente útil usar barras horizontais ao visualizar uma métrica centralizada em 0. Não se esqueça de dar um nome descritivo à métrica. 

5) Qual é o ganho/perda bruto comparado historicamente?

Diferenças deslocadas no tempo fazem comparações com a mesma métrica deslocada para trás no tempo. Pode ser útil subtrair o passado do presente, o que fornece uma visualização centralizada em torno de zero — os números positivos representam um aumento em relação ao passado. 

Aqui temos um exemplo de uso médio da CPU em nós do Kubernetes em comparação com seis horas atrás. Este exemplo está usando divisão para converter nanonúcleos de CPU em núcleos (observação: um campo de tempo de execução é uma boa maneira de adicionar isso como uma conversão de métrica extra para outros usuários encontrarem na lista de campos em vez de terem de fazer isso em uma fórmula). 

(
   average(kubernetes.node.cpu.usage.nanocores)
   - average(kubernetes.node.cpu.usage.nanocores, shift='6h')
) / 1000000000

Time-shifted differences with formulas in Kibana

Mudanças na utilização dos núcleos de CPU do nó em comparação com seis horas atrás 

Práticas de visualização: diferenças de deslocamento de tempo e mudança de unidades

Mover o eixo para o topo da visualização pode ajudar quando o número mais “preocupante” é um número grande no topo da visualização. 

6) Qual é o ganho/perda como uma porcentagem do desempenho passado?

Uma abordagem ligeiramente diferente nas diferenças de deslocamento de tempo, a variação percentual permite que você veja um aumento como uma porcentagem do valor no passado em vez da diferença bruta. Isso é comum quando se fala em crescimento. 

Percentage change calculation

Exemplo de cálculo de variação percentual

O exemplo abaixo mostra a variação percentual no uso da CPU pelo Kubernetes. 

(
   (
   average(kubernetes.node.cpu.usage.nanocores)
   - average(kubernetes.node.cpu.usage.nanocores, shift='3d')
   ) /
   (
   average(kubernetes.node.cpu.usage.nanocores, shift='3d')
   )
)

Using formulas for percentage change

Variação percentual na utilização da CPU do nó em relação a três dias atrás

Práticas de visualização: variação percentual

Se você usar o formato de valor “Percent” (Porcentagem), não precisará multiplicar o valor por 100. Quando há espaço, rótulos de valor podem ajudar a complementar a visualização. 

7) Como os dados chegaram aonde estão agora?

Um mapa é a melhor maneira de entender o contexto geográfico dos seus dados. Entretanto, o mapa é apenas um snapshot — ele pode representar os últimos 15 minutos ou o ano passado. Na verdade, seu mapa poderá contar uma história diferente se você olhar para ele minuto a minuto ou dia a dia. Com o controle deslizante de tempo, você pode exibir as métricas novamente e ver as mudanças ao longo do tempo com cada unidade incremental de tempo. Você pode identificar um padrão que não foi detectado anteriormente ou uma anomalia que requeira uma investigação mais aprofundada. O controle deslizante de tempo mostra como seus dados chegaram ao local hoje. 

Time slider in Elastic Maps

Controle deslizante de tempo no Elastic Maps

8) Como posso explorar um dashboard no espaço de forma interativa?

Às vezes, a resposta à sua pergunta depende de onde. Se você está criando um dashboard para outras pessoas, considere habilitar a capacidade de usar um mapa como um filtro para todo o dashboard. Experimente visualizar as principais métricas em um dashboard ao lado de um mapa. Isso permite que qualquer pessoa visualize métricas não espaciais enquanto filtra espacialmente e pode ser uma maneira poderosa de fazer comparações e encontrar anomalias.

Filter your dashboard data using Maps

Mapas como um filtro para dashboards

9) Qual é a eficiência por unidade?

Uma fórmula customizada pode ser usada para reduzir os dados resumidos e obter métricas por unidade. Tudo isso depende de como seus dados chegam, quais são as métricas e qual é a sua “unidade” nos dados. 

O exemplo abaixo mostra a telemetria da métrica da nuvem em um intervalo periódico (como a cada 30 segundos). Os totais da métrica (uso de CPU, por exemplo) e o número de eventos que os totais representam (solicitações), com uma fórmula, nos permitem determinar o uso médio de CPU por solicitação e fazer coisas como definir a tendência da nova métrica ao longo do tempo para entender a eficiência à medida que a carga aumenta. Na visualização resultante, os “vales” mostram o sistema se tornando mais eficiente sob carga pesada.

average(kubernetes.pod.cpu.usage.node.pct) //métrica média
counter_rate(max(nginx.stubstatus.requests)) //por solicitação

Using formulas for finding average metrics per unitCPU média por solicitação ao longo do tempo

Práticas de visualização: por unidade

Se você está usando uma métrica por unidade, inclua a agregação da métrica que está sendo usada e “por unidade” no nome da métrica. Isso pode ser útil para visualizar a unidade que está na fórmula em um dashboard separado ou em uma série de dashboards.

10) Qual é o meu cálculo específico do setor — como um “Net Promoter Score” — para o último período?

Digamos que sua organização tenha adotado uma métrica específica calculada de uma maneira específica. Por exemplo, se seus dados contêm perguntas de pesquisa, algumas organizações gostam de calcular um “net promoter score” contando a porcentagem daqueles que são “promotores” (pontuam as duas opções mais altas em perguntas de escala) subtraída da porcentagem dos que são “detratores ” (pontuam as duas opções mais baixas nas perguntas de escala) para chegar a uma pontuação única entre -100% e 100%. Esse tipo de métrica de negócios é simples como uma fórmula e, como a fórmula é calculada no momento do relatório, você pode redefini-la facilmente à medida que sua empresa desenvolve suas métricas e definições.

Calculating industry-specific metrics with formulas

Cálculo de métricas específicas do setor, como Net Promoter Score

Tem suas próprias perguntas sobre dados?

Experimente esses exemplos por conta própria inscrevendo-se para fazer uma avaliação gratuita do Elastic Cloud ou baixe a versão autogerenciada do Elastic Stack gratuitamente. Se tiver outras dúvidas sobre como começar, acesse o fórum do Kibana ou confira o guia de documentação do Kibana