1 Funkcje agregujące
O ile nie podano inaczej, wszystkie wymienione tutaj funkcje są obsługiwane w:
Funkcje agregujące mogą działać na:
- historii pozycji, na przykład
min(/host/key,1h) - funkcjach foreach jako
jedynym parametrze, na przykład
min(last_foreach(/*/key))(tylko w pozycjach obliczanych; nie można używać w wyzwalaczach)
Funkcje są wymienione bez dodatkowych informacji. Kliknij funkcję, aby zobaczyć pełne szczegóły.
| Function | Description |
|---|---|
| avg | Średnia wartość pozycji w zdefiniowanym okresie oceny. |
| bucket_percentile | Oblicza percentyl na podstawie kubełków histogramu. |
| count | Liczba wartości w tablicy zwróconej przez funkcję foreach. |
| histogram_quantile | Oblicza φ-kwantyl na podstawie kubełków histogramu. |
| item_count | Liczba istniejących pozycji w konfiguracji, które spełniają kryteria filtra. |
| kurtosis | „Spiczastość” rozkładu prawdopodobieństwa zebranych wartości w zdefiniowanym okresie oceny. |
| mad | Mediana odchyleń bezwzględnych zebranych wartości w zdefiniowanym okresie oceny. |
| max | Najwyższa wartość pozycji w zdefiniowanym okresie oceny. |
| min | Najniższa wartość pozycji w zdefiniowanym okresie oceny. |
| skewness | Asymetria rozkładu prawdopodobieństwa zebranych wartości w zdefiniowanym okresie oceny. |
| stddevpop | Odchylenie standardowe populacji zebranych wartości w zdefiniowanym okresie oceny. |
| stddevsamp | Odchylenie standardowe próby zebranych wartości w zdefiniowanym okresie oceny. |
| sum | Suma zebranych wartości w zdefiniowanym okresie oceny. |
| sumofsquares | Suma kwadratów zebranych wartości w zdefiniowanym okresie oceny. |
| varpop | Wariancja populacji zebranych wartości w zdefiniowanym okresie oceny. |
| varsamp | Wariancja próby zebranych wartości w zdefiniowanym okresie oceny. |
Wspólne parametry
/host/keyto wspólny obowiązkowy pierwszy parametr dla funkcji odwołujących się do historii pozycji hosta(sec|#num)<:time shift>to wspólny drugi parametr dla funkcji odwołujących się do historii pozycji hosta, gdzie:- sec — maksymalny okres obliczania w sekundach (mogą być używane sufiksy czasu), lub
- #num — maksymalny zakres obliczania w ostatnio zebranych wartościach (jeśli jest poprzedzony znakiem kratki)
- time shift (opcjonalnie) pozwala przesunąć punkt obliczania wstecz w czasie. Zobacz więcej szczegółów dotyczących określania przesunięcia czasu.
Szczegóły funkcji
Kilka ogólnych uwag dotyczących parametrów funkcji:
- Parametry funkcji są oddzielane przecinkiem
- Opcjonalne parametry funkcji (lub części parametrów) są oznaczone przez
<> - Parametry specyficzne dla danej funkcji są opisane przy każdej funkcji
- Parametry
/host/keyoraz(sec|#num)<:time shift>nigdy nie mogą być ujmowane w cudzysłów
avg(/host/key,(sec|#num)<:time shift>)
Średnia wartość pozycji w zdefiniowanym okresie obliczania.
Obsługiwane typy wartości: Float, Integer.
Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametry: zobacz wspólne parametry.
Przesunięcie czasu jest przydatne, gdy zachodzi potrzeba porównania bieżącej wartości średniej ze średnią wartością sprzed pewnego czasu.
Przykłady:
avg(/host/key,1h) #średnia wartość z ostatniej godziny do teraz
avg(/host/key,1h:now-1d) #średnia wartość z jednej godziny w przedziale od 25 godzin temu do 24 godzin temu
avg(/host/key,#5) #średnia wartość z pięciu najnowszych wartości
avg(/host/key,#5:now-1d) #średnia wartość z pięciu najnowszych wartości z wyłączeniem wartości otrzymanych w ciągu ostatnich 24 godzin
bucket_percentile(item filter,time period,percentage)
Oblicza percentyl z bucketów histogramu.
Parametry:
- item filter - zobacz item filter;
- time period - zobacz time period;
- percentage - wartość procentowa (0-100).
Uwagi:
- Obsługiwane tylko w pozycjach obliczanych;
- Ta funkcja jest aliasem dla
histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1)).
count(func_foreach(item filter,<time period>),<operator>,<pattern>)
Liczba wartości w tablicy zwróconej przez funkcję foreach.
Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametry:
- func_foreach - funkcja foreach, dla której ma zostać policzona liczba zwróconych wartości. Szczegóły znajdują się w opisie funkcji foreach. Należy pamiętać, że count_foreach i bucket_rate_foreach obsługują dodatkowe parametry.
- item filter - zobacz item filter;
- time period - zobacz time period;
- operator (musi być ujęty w podwójny cudzysłów). Obsługiwane
operators:
eq - równe
ne - różne od
gt - większe niż
ge - większe lub równe
lt - mniejsze niż
le - mniejsze lub równe
like - pasuje, jeśli zawiera wzorzec (z uwzględnieniem wielkości liter)
bitand - bitowe AND
regexp - dopasowanie z uwzględnieniem wielkości liter do wyrażenia regularnego podanego wpattern
iregexp - dopasowanie bez uwzględniania wielkości liter do wyrażenia regularnego podanego wpattern - pattern - wymagany wzorzec (argumenty tekstowe muszą być ujęte w podwójny cudzysłów); obsługiwany, jeśli operator jest określony w trzecim parametrze.
Uwagi:
- Użycie count() z funkcją foreach powiązaną z historią (max_foreach, avg_foreach itp.) może mieć wpływ na wydajność, podczas gdy użycie exists_foreach(), które działa wyłącznie na danych konfiguracyjnych, nie będzie miało takiego efektu.
- Opcjonalnych parametrów operator lub pattern nie można pozostawić pustych po przecinku, można je jedynie całkowicie pominąć.
- Gdy jako trzeci parametr użyto bitand, czwarty parametr
patternmożna podać jako dwie liczby rozdzielone znakiem '/': number_to_compare_with/mask. count() oblicza „bitowe AND” z wartości i mask, a następnie porównuje wynik z number_to_compare_with. Jeśli wynik „bitowego AND” jest równy number_to_compare_with, wartość jest zliczana.
Jeśli number_to_compare_with i mask są równe, wystarczy podać tylko mask (bez '/'). - Gdy jako trzeci parametr użyto regexp lub iregexp, czwarty parametr
patternmoże być zwykłym lub globalnym (zaczynającym się od '@') wyrażeniem regularnym. W przypadku globalnych wyrażeń regularnych rozróżnianie wielkości liter jest dziedziczone z ustawień globalnego wyrażenia regularnego. Na potrzeby dopasowania regexp wartości zmiennoprzecinkowe będą zawsze reprezentowane z 4 cyframi dziesiętnymi po '.'. Należy również pamiętać, że w przypadku dużych liczb różnica między reprezentacją dziesiętną (przechowywaną w bazie danych) a binarną (używaną przez serwer Zabbix) może wpływać na 4. cyfrę dziesiętną.
Przykłady:
count(max_foreach(/*/net.if.in[*],1h)) #liczba pozycji net.if.in, które otrzymały dane w ciągu ostatniej godziny do teraz
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #liczba systemów plików z wykorzystaniem ponad 95% miejsca na dysku
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)
Oblicza φ-kwantyl na podstawie kubełków histogramu.
Obsługiwana funkcja foreach: bucket_rate_foreach.
Parametry:
- quantile — 0 ≤ φ ≤ 1;
- bucketN, valueN — ręcznie wprowadzone pary (>=2) parametrów lub odpowiedź bucket_rate_foreach.
Uwagi:
- Obsługiwane tylko w pozycjach obliczanych;
- Funkcjonalnie odpowiada funkcji '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, które spełniają kryteria filtra.
Obsługiwany typ wartości: Integer.
Parametr:
- item filter — kryteria wyboru pozycji; umożliwia odwoływanie się według grupy hostów, hosta, klucza pozycji i tagów. Obsługiwane są symbole wieloznaczne. Więcej informacji znajduje się w filtrze pozycji.
Uwagi:
- Obsługiwane tylko w pozycjach obliczanych;
- Działa jako alias funkcji count(exists_foreach(item_filter)).
Przykłady:
item_count(/*/agent.ping?[group="Host group 1"]) #liczba hostów z pozycją *agent.ping* w "Host group 1"
kurtosis(/host/key,(sec|#num)<:przesunięcie czasu>)
„Spiczastość” rozkładu prawdopodobieństwa wartości zebranych w zdefiniowanym okresie obliczania. Zobacz także: Kurtosis.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
Przykład:
kurtosis(/host/key,1h) #kurtoza za ostatnią godzinę do teraz
mad(/host/key,(sec|#num)<:time shift>)
Odchylenie medianowe w zebranych wartościach w zdefiniowanym okresie obliczania. Zobacz także: Odchylenie medianowe.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
Przykład:
mad(/host/key,1h) #odchylenie medianowe dla ostatniej godziny do teraz
max(/host/key,(sek|#num)<:przesunięcie czasu>)
Najwyższa wartość pozycji w zdefiniowanym okresie obliczania.
Obsługiwane typy wartości: Float, Integer.
Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametry: zobacz wspólne parametry.
Przykład:
max(/host/key,1h) - min(/host/key,1h) #oblicza różnicę między wartościami maksymalną i minimalną w ciągu ostatniej godziny do chwili obecnej (delta wartości)
min(/host/key,(sek|#num)<:przesunięcie czasu>)
Najniższa wartość pozycji w zdefiniowanym okresie obliczeniowym.
Obsługiwane typy wartości: Float, Integer.
Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametry: zobacz wspólne parametry.
Przykład:
max(/host/key,1h) - min(/host/key,1h) #oblicza różnicę między wartościami maksymalną i minimalną w ciągu ostatniej godziny do chwili obecnej (delta wartości)
skewness(/host/key,(sec|#num)<:time shift>)
Asymetria rozkładu prawdopodobieństwa zebranych wartości w zdefiniowanym okresie obliczania. Zobacz także: Skewness.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
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 obliczania. Zobacz także: Odchylenie standardowe.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
Przykład:
stddevpop(/host/key,1h) #odchylenie standardowe populacji dla ostatniej godziny do teraz
stddevsamp(/host/key,(sec|#num)<:time shift>)
Odchylenie standardowe z próby dla zebranych wartości w zdefiniowanym okresie obliczania. Zobacz także: Odchylenie standardowe.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
Do działania tej funkcji wymagane są co najmniej dwie wartości danych.
Przykład:
stddevsamp(/host/key,1h) #odchylenie standardowe z próby dla ostatniej godziny do chwili obecnej
sum(/host/key,(sec|#num)<:time shift>)
Suma zebranych wartości w zdefiniowanym okresie obliczania.
Obsługiwane typy wartości: Float, Integer.
Obsługiwane funkcje foreach: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parametry: zobacz wspólne parametry.
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 obliczania.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
Przykład:
sumofsquares(/host/key,1h) #suma kwadratów za ostatnią godzinę do teraz
varpop(/host/key,(sec|#num)<:time shift>)
Wariancja populacji zebranych wartości w zdefiniowanym okresie obliczania. Zobacz także: Wariancja.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
Przykład:
varpop(/host/key,1h) #wariancja populacji za ostatnią godzinę do teraz
varsamp(/host/key,(sec|#num)<:time shift>)
Wariancja z próby zebranych wartości w zdefiniowanym okresie obliczania. Zobacz także: Variance.
Obsługiwane typy wartości: Float, Integer.
Obsługiwana funkcja foreach: last_foreach.
Parametry: zobacz wspólne parametry.
Do działania tej funkcji wymagane są co najmniej dwie wartości danych.
Przykład:
varsamp(/host/key,1h) #wariancja z próby dla ostatniej godziny do teraz
Zobacz wszystkie obsługiwane funkcje.