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
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?
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
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ć. –
Wspomniany przez Ciebie PR wydaje się być właśnie takim rozwiązaniem! Póki co pójdziemy na stawkę za sekundę, chyba ... – James