1 Funkcje agregujące

Z wyjątkiem przypadków, gdzie zaznaczono inaczej, wszystkie funkcje wymienione tutaj są obsługiwane w:

Funkcje agregujące mogą działać z:

  • historią pozycji, na przykład min(/host/key,1h)
  • funkcjami foreach jako jedynym parametrem, na przykład min(last_foreach(/*/key)) (tylko w pozycjach obliczonych; nie można ich używać w wyzwalaczach)

Kilka ogólnych uwag dotyczących parametrów funkcji:

  • Parametry funkcji są oddzielone przecinkiem
  • Opcjonalne parametry funkcji (lub ich części) są oznaczone < >
  • Parametry specyficzne dla funkcji są opisane przy każdej funkcji
  • Parametry /host/key i (sec|#num)<:time shift> nigdy nie powinny być w cudzysłowiu
Wspólne parametry
  • /host/key to wspólny obowiązkowy pierwszy parametr dla funkcji, odnoszących się do historii pozycji hosta
  • (sec|#num)<:time shift> to wspólny drugi parametr dla funkcji, odnoszących się do historii pozycji hosta, gdzie:

Funkcje agregujące

FUNKCJA
Opis Specyficzne parametry funkcji Komentarze
avg (/host/key,(sec|#num)<:time shift>)
Średnia wartość pozycji w zdefiniowanym okresie ewaluacji. Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach

Przykłady:
=> avg(/host/key,1h) → średnia wartość z ostatniej godziny do teraz
=> avg(/host/key,1h:now-1d) → średnia wartość z godziny sprzed 25 godzin do 24 godzin temu od teraz
=> avg(/host/key,#5) → średnia wartość z pięciu ostatnich wartości
=> avg(/host/key,#5:now-1d) → średnia wartość z pięciu ostatnich wartości, wyłączając wartości otrzymane w ciągu ostatnich 24 godzin

Przesunięcie czasowe jest przydatne, gdy istnieje potrzeba porównania bieżącej średniej wartości z wartością średnią sprzed pewnego czasu.
bucket_percentile (item filter,time period,percentage)
Oblicza percentyl z przedziałów histogramu. item filter - patrz filtr pozycji
time period - patrz okres czasu
percentage - procent (0-100)
Obsługiwane tylko w pozycjach obliczonych.

Ta funkcja jest aliasem dla histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1))
count (func_foreach(item filter,<time period>))
Liczba wartości w tablicy zwracanej przez funkcję foreach. func_foreach - funkcja foreach, dla której liczba zwróconych wartości powinna być zliczona (z obsługiwanymi argumentami). Patrz funkcje foreach dla szczegółów. Obsługiwany typ wartości: int

Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach

Przykład:
=> count(max_foreach(/*/net.if.in[*],1h)) → liczba pozycji net.if.in, które otrzymały dane w ciągu ostatniej godziny do teraz

Należy zauważyć, że korzystanie z count() z funkcją foreach związaną z historią (max_foreach, avg_foreach, itp.) może prowadzić do konsekwencji wydajnościowych, podczas gdy korzystanie z exists_foreach(), która działa tylko z danymi konfiguracji, nie będzie miało takiego efektu.
histogram_quantile (quantile,bucket1,value1,bucket2,value2,...)
Oblicza φ-kwantyl z przedziałów (kubełków) histogramu. quantile - 0 ≤ φ ≤ 1
bucketN, valueN - ręcznie wprowadzone pary (>=2) parametrów lub odpowiedź z bucket_rate_foreach
Obsługiwane tylko w pozycjach obliczonych.

Obsługiwane funkcje foreach: bucket_rate_foreach

Funkcjonalnie odpowiada 'histogram_quantile' w PromQL.

Zwraca -1, jeśli wartości ostatniego kubełka 'Infinity' ("+inf") są równe 0.

Przykłady:
=> histogram_quantile(0.75,1.0,last(/host/rate_bucket[1.0]),"+Inf",last(/host/rate_bucket[Inf])
=> histogram_quantile(0.5,bucket_rate_foreach(//item_key,30s))
item_count (item filter)
Liczba istniejących pozycji w konfiguracji pasujących do kryteriów filtra. item filter - kryteria wyboru pozycji, umożliwia odwoływanie się do grupy hostów, hosta, klucza pozycji i znaczników. Obsługiwane są symbole wildcard. Patrz filtr pozycji po więcej szczegółów. Obsługiwane tylko w pozycjach obliczonych.

Obsługiwany typ wartości: int

Działa jako alias dla funkcji count(exists_foreach(filtr_pozycji)).

Przykład:
=> item_count(/*/agent.ping?[group="Host group 1"]) → liczba hostów z pozycją agent.ping w "Host group 1"
kurtosis (/host/key,(sec|#num)<:time shift>)
"Spłaszczenie" rozkładu prawdopodobieństwa w zebranych wartościach w zdefiniowanym okresie ewaluacji.

Zobacz również: Kurtoza
Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Przykład:
=> kurtosis(/host/key,1h) → kurtoza z ostatniej godziny do teraz
mad (/host/key,(sec|#num)<:time shift>)
Średnie odchylenie bezwzględne w zebranych wartościach w zdefiniowanym okresie ewaluacji.

Zobacz również: Średnie odchylenie bezwzględne
Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Przykład:
=> mad(/host/key,1h) → średnie odchylenie bezwzględne z ostatniej godziny do teraz
max (/host/key,(sec|#num)<:time shift>)
Najwyższa wartość pozycji w zdefiniowanym okresie ewaluacji. Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach

Przykład:
=> max(/host/key,1h) - min(/host/key,1h) → oblicz różnicę między maksymalną a minimalną wartością w ciągu ostatniej godziny do teraz (różnica wartości)
min (/host/key,(sec|#num)<:time shift>)
Najniższa wartość pozycji w zdefiniowanym okresie ewaluacji. Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach

Przykład:
=> max(/host/key,1h) - min(/host/key,1h) → oblicz różnicę między maksymalną a minimalną wartością w ciągu ostatniej godziny do teraz (różnica wartości)
skewness (/host/key,(sec|#num)<:time shift>)
Asymetria rozkładu prawdopodobieństwa w zebranych wartościach w zdefiniowanym okresie ewaluacji.

Zobacz również: Współczynnik skośności
Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Przykład:
=> skewness(/host/key,1h) → asymetria dla ostatniej godziny do teraz
stddevpop (/host/key,(sec|#num)<:time shift>)
Odchylenie standardowe populacji w zebranych wartościach w zdefiniowanym okresie ewaluacji.

Zobacz również: Odchylenie standardowe
Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Przykład:
=> stddevpop(/host/key,1h) → odchylenie standardowe populacji dla ostatniej godziny do teraz
stddevsamp (/host/key,(sec|#num)<:time shift>)
Odchylenie standardowe próby w zebranych wartościach w zdefiniowanym okresie ewaluacji.

Zobacz również: Odchylenie standardowe
Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Do działania tej funkcji wymagane są co najmniej dwie wartości danych.

Przykład:
=> stddevsamp(/host/key,1h) → odchylenie standardowe próby dla ostatniej godziny do teraz
sum (/host/key,(sec|#num)<:time shift>)
Suma zebranych wartości w zdefiniowanym okresie ewaluacji. Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach

Przykład:
=> sum(/host/key,1h) → suma wartości z ostatniej godziny do teraz
sumofsquares (/host/key,(sec|#num)<:time shift>)
Suma kwadratów zebranych wartości w zdefiniowanym okresie ewaluacji. Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Przykład:
=> sumofsquares(/host/key,1h) → suma kwadratów z ostatniej godziny do teraz
varpop (/host/key,(sec|#num)<:time shift>)
Wariancja populacji zebranych wartości w zdefiniowanym okresie ewaluacji.

Zobacz również: Wariancja
Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Przykład:
=> varpop(/host/key,1h) → wariancja populacji dla ostatniej godziny do teraz
varsamp (/host/key,(sec|#num)<:time shift>)
Wariancja próbki zebranych wartości w zdefiniowanym okresie ewaluacji.

Zobacz również: Wariancja
Patrz wspólne parametry. Obsługiwane typy wartości: float, int

Obsługiwane funkcje foreach: last_foreach

Do działania tej funkcji wymagane są co najmniej dwie wartości danych.

Przykład:
=> varsamp(/host/key,1h) → wariancja próbki dla ostatniej godziny do teraz