2016-07-29 17 views
5

Tworzymy szybkie liczniki z sum(rate(my_counter_total[1m])) lub z sum(irate(my_counter_total[20s])). Gdzie drugi jest preferowany, jeśli zawsze możesz spodziewać się zmian w ciągu ostatnich kilku sekund.Tworzenie wykresów powolnych liczników z prometeuszem i grafanem

Ale jak wykreślić powolne liczniki, w których masz tylko kilka przyrostów co kilka minut, nawet godzin? Wartości takie jak 0,0013232/s nie są zbyt przyjazne dla ludzi.

Załóżmy, że chcę wykreślić liczbę użytkowników, którzy zarejestrują się w naszej usłudze (spodziewamy się kilku rejestracji na godzinę). Jakie jest rozsądne zapytanie?

Obecnie używać następujących się wykres, który w grafana:

  • Zapytanie: 3600 * sum(rate(signup_total[1h]))
  • krok: 3600s
  • Rozdzielczość: 1/1

Slow counter setup

Is to rozsądne?

Nadal próbuję zrozumieć, jak wszystkie te parametry grają razem, aby narysować wykres. Czy ktoś może wyjaśnić, w jaki sposób funkcje selektora zasięgu ([10m]), funkcje i , ustawienia grafiki wpływają na siebie?

Odpowiedz

2

To jest poprawny sposób na zrobienie tego. Możesz także użyć increase(), który jest syntaktycznym cukrem do używania w ten sposób rate().

Może ktoś wyjaśnić jak Selektor zakresu

ten jest wykorzystywany tylko przez Prometeusza, i wskazuje, jakie dane do pracy nad.

Ustawienia Krok i Rozdzielczość w grafanie wpływają na siebie nawzajem?

Jest używany po stronie Grafana, wpływa na to, ile odcinków czasu zażąda od Prometeusza.

Ustawienia te nie wpływają bezpośrednio na siebie nawzajem. Jednak rozdzielczość powinna być mniejsza niż zakres, lub będziesz podkopywać i brakować informacji.

+0

Ciągle trudno mi wszystko kombinować. Dla licznika z pewnymi przyrostami na minutę użyłbym 'sum (increase (my_counter_total [1m])), aby wyświetlić stawkę/m. Działa to najlepiej podczas ustawiania kroku w grafanie na 1m, a rozdzielczość na 1/1. Tak więc każda naniesiona wartość odpowiada liczbie zdarzeń na minutę. Ale gdy wybierzesz dużą ramkę czasową (30d), wykres ładuje się wiekiem, ponieważ wymaga wielu kroków 1m. Ustawienie kroku na automatyczne (pozostawiając puste) działa dla małych ram czasowych, w których wartość <1m. Jeśli krok zostanie uzyskany np. 10m wartości już nie mają sensu. – James

+1

Tak, to się dzieje. Sugerowałbym trzymanie się 'rate()', aby wszystko było konsekwentnie na sekundę. https://github.com/grafana/grafana/pull/4257 powinno to poprawić. –

+0

Wspomniany przez Ciebie PR wydaje się być właśnie takim rozwiązaniem! Póki co pójdziemy na stawkę za sekundę, chyba ... – James

Powiązane problemy