3
respostas

Dúvida em relação ao seletor de tempo do grafana versus tempo estabelecido na query

Olá!

Estou com uma dúvida em relação ao seletor de tempo que fica no canto superior direito do grafana com a query que fazemos pra buscar algo nos últimos 15 minutos, por exemplo. Qual a relação disso? Se eu seleciono por exemplo "Last 24 hours", isso não deveria afetar minha query "my_metric[15m]"? Além disso, se uso a função: rate(http_server_requests_seconds_count{instance="$instance", application="$application", uri!~".(prometheus|health)."}[15m] como é feito o cálculo dessa média? Se puder dar um exemplo prático da operação que será realizada.

Obrigada!

3 respostas

Oii, Cleonice, tudo certo com você?

O seletor de tempo define o intervalo de tempo global para o dashboard. Isso significa que ele limita o período para o qual os dados são exibidos em todos os painéis, a menos que seja especificado de outra forma na query de um painel individual.

Quando você configura uma query como my_metric[15m], ali é especificado que você deseja obter dados para os últimos 15 minutos da métrica, isso independente do intervalo de tempo global selecionado. Ou seja: mesmo com o tempo de 24 horas selecionado, a query só foca nos últimos 15 minutos.

A função rate() é usada para calcular a taxa de mudança por segundo de uma métrica contadora durante o intervalo especificado. No seu caso é de 15 minutos.

Por exemplo, se a métrica http_server_requests_seconds_count aumenta de 100 para 300 em 15 minutos, a função rate() calcula a taxa de aumento por segundo. Isso é feito subtraindo o valor inicial do valor final, dividindo pelo intervalo de tempo (em segundos) e ajustando para a média de aumento por segundo. No caso, seria:

(rate = (300 - 100) / (15 * 60) = 200 / 900 = 0.2222 requisições por segundo)

Esse cálculo fornece uma visão da média de novas requisições por segundo durante os últimos 15 minutos, independentemente do intervalo de tempo selecionado no dashboard.

Espero que isso tenha te ajudado! Se outra dúvida surgir, estamos disponíveis aqui no fórum.

Abraços! :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Boa tarde. Ótima explicação. Mas se estou usando um gráfico de série temporais refletindo 24 horas. Verifiquei que ainda sim são plotados valores além dos 15 minutos definidos na métrica. O que ocorre neste caso? Qual seria o tipo de gráfico ideal para se usar, por exemplo, com responses ocorridos nos últimos 15 minutos?

Oii, tudo bem?

Desculpe a demora!

No seu caso, a diferença entre o intervalo da métrica (15 minutos) e o gráfico que reflete 24 horas pode ter duas origens:

  • Sobreposição de consultas: é possível que o painel esteja usando mais de uma consulta, além da my_metric[15m]. Se outra consulta não tiver um intervalo de tempo definido, ela pode estar buscando e plotando dados para um período maior, incluindo os últimos 24 horas.

  • Agregação de dados: o painel pode estar usando uma função de agregação, como sum ou avg, que combina dados de diferentes timestamps dentro do intervalo de tempo selecionado (24 horas). Isso significa que, mesmo que a métrica base seja de 15 minutos, o gráfico pode mostrar valores agregados para períodos mais longos.

Agora, sobre o gráfico ideal para as respostas ocorridas, talvez um gráfico de linha ou de área seja ideal. Vou deixar este artigo sobre visualização de dados aqui, caso você se interesse.

Se outra dúvida surgir, estamos disponíveis aqui.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.