Zabbix Documentation 2.2

2.23.03.23.4In development:4.0Unsupported versions:1.82.02.4

User Tools

Site Tools

This translation is older than the original page and might be outdated. See what has changed.

Sidebar

pl:manual:appendix:triggers:functions

1 Obsługiwane funkcje wyzwalaczy

Wszystkie funkcje obsługiwane w: wyrażeniach wyzwalaczy są wyszczególnione poniżej:

FUNKCJA
Opis Parametry Komentarze
abschange
Zwraca różnicę absolutną pomiędzy ostatnią i poprzednią wartością. Obsługiwane typy wartości: float, int, str, text, log

Na przykład:
(poprzednia wartość/ostatnia wartość=abschange)
1/5=4
3/1=2
0/-2.5=2.5

Dla ciągów znaków zwraca:
0 - wartości są równe
1 - wartości różnią się
avg (sekundy|#liczba,<przesunięcie_czasu>)
Średnia wartość dla pozycji ze zdefiniowanego okresu. sekundy lub #liczba - okres w sekundach lub ilość ostatnio zebranych wartości (poprzedzona znakiem #)
przesunięcie_czasu (opcjonalne) - punkt sprawdzania przesunięty jest wstecz o podaną ilość sekund
Obsługiwane typy wartości: float, int

Przykłady:
⇒ avg(#5) → średnia wartość z pięciu ostatnich wartości
⇒ avg(3600) → średnia wartość z godziny
⇒ avg(3600,86400) → średnia wartość z godziny z poprzedniego dnia.

Parametr “przesunięcie_czasu” obsługiwany jest od wersji Zabbix 1.8.2. Jest on przydatny do porównania bieżących wartości średnich z wartościami średnimi z przesunięcie_czasu sekund wstecz.
band (sekundy|#liczba,maska,<przesunięcie_czasu>)
Wartość “bitowego AND” wartości pozycji i maski. sekundy (ignorowany) lub #liczba - N-ta najnowsza wartość
maska (wymagana) - 64-bitowa liczba całkowita bez znaku (0 - 18446744073709551615)
przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: int

Należy zauważyć, że #liczba działa tutaj inaczej niż w większości pozostałych funkcji (zobacz last()).

Niezależnie od tego porównanie wykonywane jest bitowo, wartość musi istnieć a wynik jest w postaci dziesiętnej. Na przykład, sprawdzenie 3-ciego bitu jest wykonywane przez porównanie do 4, a nie do 100.

Przykłady:
⇒ band(,12)=8 or band(,12)=4 → 3-ci lub 4-ty bit ustawiony, ale nie oba w tym samym czasie
⇒ band(,20)=16 → 3-ci bit nie ustawiony a 5-ty ustawiony.

Funkcja ta jest obsługiwana od wersji Zabbix 2.2.0.
change
Ilość różnic pomiędzy ostatnią i poprzednią wartością. Obsługiwane typy wartości: float, int, str, text, log

Na przykład:
(poprzednia wartość/ostatnia wartość=change)
1/5=+4
3/1=-2
0/-2.5=-2.5

Dla ciągów znaków zwraca:
0 - wartości są równe
1 - wartości różnią się
count (sekundy|#liczba,<wzorzec>,<operator>,<przesunięcie_czasu>)
Liczba wartości w zdefiniowanym okresie. sekundy lub #liczba - okres w sekundach lub ilość ostatnio zebranych wartości (poprzedzona znakiem #)
wzorzec (opcjonalne) - wymagany wzorzec (pozycje całkowite - dopasowanie dokładne; pozycje zmiennoprzecinkowe - zgodność do 0.000001)
operator (opcjonalne)

Obsługiwane operatory:
eq - równe
ne - różne
gt - większy
ge - większy lub równy
lt - mniejszy
le - mniejszy lub równy
like - zgodne, jeżeli zawiera wzorzec (czułe na wielkość znaków)
band - bitowe AND (obsługiwane od wersji Zabbix 2.2.0).

Należy zauważyć, że:
eq (domyślne), ne, gt, ge, lt, le, band są obsługiwane dlapozycji całkowitych
eq (domyślne), ne, gt, ge, lt, le są obsługiwane dla pozycji zmiennoprzecinkowych
like (domyślne), eq, ne są obsługiwane dla ciągów znaków, tekstów i pozycji logów

przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: float, int, str, text, log

Gdy jako trzeci parametr występuje band, jako drugi parametr można podać dwie liczby, rozdzielone '/': liczba_do_porównania/maska. count() wylicza “bitowe AND” z wartości i maski oraz porównuje wynik do liczba_do_porównania. Jeżeli wynik “bitowego AND” jest równy liczba_do_porównania, wartość jest zliczana.
Jeżeli liczba_do_porównania i maska są identyczne, można określić tylko maskę (bez znaku '/').

Przykłady:
⇒ count(600) → liczba wartości z ostatnich 10 minut
⇒ count(600,12) → liczba wartości z ostatnich 10 minut, równych '12'
⇒ count(600,12,"gt") → liczba wartości z ostatnich 10 minut większych od '12'
⇒ count(#10,12,"gt") → liczba wartości z ostatnich 10-ciu, większych od '12'
⇒ count(600,12,"gt",86400) → liczba wartości z 10 minut sprzed 24 godzin, większych od '12'
⇒ count(600,6/7,"band") → liczba wartości z ostatnich 10 minut posiadających '110' (binarnie) na trzech najmniej znaczących bitach.
⇒ count(600,,,86400) → liczba wartości z 10 minut sprzed 24 godzin

Parametr #liczba jest obsługiwany od wersji Zabbix 1.6.1.
Parametr przesunięcie_czasu oraz operatory znakowe są obsługiwane od wersji Zabbix 1.8.2.
date
Bieżąca data w formacie YYYYMMDD. Obsługiwane typy wartości: any

Przykład zwracanej wartości: 20150731
dayofmonth
Dzień miesiąca z zakresu 1 do 31. Obsługiwane typy wartości: any

Funkcja ta jest obsługiwana od wersji Zabbix 1.8.5.
dayofweek
Dzień tygodnia z zakresu 1 do 7. (Pon - 1, Nie - 7). Obsługiwane typy wartości: any
delta (sekundy|#liczba,<przesunięcie_czasu>)
Różnica pomiędzy maksymalną i minimalną wartością w zdefiniowanym okresie ('max()' minus 'min()'). sekundy lub #liczba - okres w sekundach lub ilość ostatnio zebranych wartości (poprzedzona znakiem #)
przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: float, int

Parametr “przesunięcie_czasu” obsługiwany jest od wersji Zabbix 1.8.2.
diff
Sprawdza, czy ostatnia i poprzednia wartość się różnią. Obsługiwane typy wartości: float, int, str, text, log

Zwraca:
1 - ostatnia i poprzednia wartość się różnią
0 - w przeciwnym przypadku
fuzzytime (sekundy)
Sprawdza, czy lokalny czas systemowy jest zsynchronizowany z czasem serwera Zabbix. sekundy - sekundy Obsługiwane typy wartości: float, int

Zwraca '1' jeżeli znacznik czasu wartości pozycji nie różni się od czasu serwera Zabbix więcej niż N sekund, 0 - w przeciwnym przypadku. Zwykle używane w połączeniu z system.localtime do sprawdzenia, czy czas lokalny jest zsynchronizowany z czasem serwera Zabbix.
iregexp (wzorzec,<sekundy|#liczba>)
Funkcja ta jest odpowiednikiem regexp() nieczułym na wielkość liter. zobacz regexp() Obsługiwane typy wartości: str, log, text
last (sekundy|#liczba,<przesunięcie_czasu>)
Najnowsza wartość. sekundy (ignorowany) lub #liczba - N-ta najnowsza wartość
przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: float, int, str, text, log

Należy zauważyć, że #liczba działa tutaj inaczej niż w większości pozostałych funkcji.
Na przykład:
last() zawsze jest równe last(#1)
last(#3) - trzecia najnowsza wartość (nie trzy najnowsze wartości)

Zabbix nie gwarantuje dokładnej kolejności, jeżeli w historii znajdą się więcej niż dwie wartości w przeciągu jednej sekundy.

Parametr “#liczba” obsługiwany jest od wersji Zabbix 1.6.2.
Parametr “przesunięcie_czasu” obsługiwany jest od wersji Zabbix 1.8.2.
logeventid (wzorzec)
Sprawdza, czy ID zdarzenia z ostatniego wpisu logu jest zgodne z wyrażeniem regularnym. wzorzec - wyrażenie regularne opisujące wymagany wzorzec, zgodne z rozszerzonym stylem POSIX. Obsługiwane typy wartości: log

Zwraca:
0 - brak zgodności
1 - zgodne

Funkcja ta jest obsługiwana od wersji Zabbix 1.8.5.
logseverity
Waga logu dla ostatniego wpisu logu. Obsługiwane typy wartości: log

Zwraca:
0 - waga domyślna
N - waga (całkowita, użyteczne dla logów zdarzeń Windows: 1 - Informacja, 2 - Ostrzeżenie, 4 - Błąd, 7 - Błędny Audyt, 8 - Poprawny Audyt, 9 - Krytyczne, 10 - Opisowe).
Zabbix pobiera wgę logu z pola Information logu zdarzeń Windows.
logsource (wzorzec)
Sprawdza, czy źródło logu dla ostatniego wpisu logu jest zgodne z parametrem. wzorzec - oczekiwany ciąg znaków Obsługiwane typy wartości: log

Zwraca:
0 - brak zgodności
1 - zgodne
Normalnie używane dla logów zdarzeń Windows. Na przykład, logsource("VMware Server").
max (sekundy|#liczba,<przesunięcie_czasu>)
Najwyższa wartość pozycji w zdefiniowanym okresie. sekundy lub #liczba - okres w sekundach lub ilość ostatnio zebranych wartości (poprzedzona znakiem #)
przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: float, int

Parametr przesunięcie_czasu obsługiwany jest od wersji Zabbix 1.8.2.
min (sekundy|#liczba,<przesunięcie_czasu>)
Najniższa wartość pozycji w zdefiniowanym okresie. sekundy lub #liczba - okres w sekundach lub ilość ostatnio zebranych wartości (poprzedzona znakiem #)
przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: float, int

Parametr przesunięcie_czasu obsługiwany jest od wersji Zabbix 1.8.2.
nodata (sekundy)
Sprawdza brak otrzymanych danych. sekundy - sprawdzany okres w sekundach. Okres nie powinien być mniejszy niż 30 sekund. Obsługiwane typy wartości: any

Zwraca:
1 - jeżeli nie otrzymano żadnych danych w zdefiniowanym okresie czasu
0 - w przeciwnym przypadku

Należy zauważyć, że funkcja ta wyświetli błąd, jeżeli, w okresie podany w pierwszym parametrze:
- nie otrzymano danych a serwer Zabbix został zrestartowany
- nie było danych a okres utrzymania został zakończony
- nie było danych a pozycja została dodana lub ponownie włączona
now
Liczba sekund od początku umownej Epoki (00:00:00 UTC, 1 Styczeń 1970). Obsługiwane typy wartości: any
prev
Poprzednia wartość. Obsługiwane typy wartości: float, int, str, text, log

Zwraca to samo co last(#2).
regexp (wzorzec,<sekundy|#liczba>)
Sprawdza, czy ostatnia (najnowsza) wartość jest zgodna z wyrażeniem regularnym. wzorzec - wyrażenie regularne, zgodne z rozszerzonym stylem POSIX.
sekundy lub #liczba (opcjonalne) - okres w sekundach lub liczba wartości do sprawdzenia (poprzedzona znakiem #). W tym przypadku będzie przetwarzanych więcej niż jedna wartość.
Obsługiwane typy wartości: str, text, log

Zwraca:
1 - znaleziono
0 - w przeciwnym przypadku

Funkcja jest czuła na wielkość znaków.
str (wzorzec,<sekundy|#liczba>)
Szuka ciągu w ostatniej (najnowszej) wartości. wzorzec - wymagany ciąg znaków
sekundy lub #liczba (opcjonalne) - okres w sekundach lub liczba wartości do sprawdzenia (poprzedzona znakiem #). W tym przypadku będzie przetwarzanych więcej niż jedna wartość.
Obsługiwane typy wartości: str, text, log

Zwraca:
1 - znaleziono
0 - w przeciwnym przypadku

Funkcja jest czuła na wielkość znaków.
strlen (sekundy|#liczba,<przesunięcie_czasu>)
Długość ostatniej (najnowszej) wartości w znakach (nie w bajtach). sekundy (ignorowany) lub #liczba - N-ta najnowsza wartość
przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: str, text, log

Należy zauważyć, że #liczba działa tutaj inaczej niż w większości pozostałych funkcji.

Przykłady:
⇒ strlen()(jest równe z strlen(#1)) → długość ostatniej wartości
⇒ strlen(#3) → długość trzeciej ostatniej wartości
⇒ strlen(,86400) → długość najnowszej wartości sprzed jednego dnia.

Funkcja ta jest obsługiwana od wersji Zabbix 1.8.4.
sum (sekundy|#liczba,<przesunięcie_czasu>)
Suma wartości zebranych w zdefiniowanym okresie. sekundy lub #liczba - okres w sekundach lub ilość ostatnio zebranych wartości (poprzedzona znakiem #)
przesunięcie_czasu (opcjonalne) - zobacz avg()
Obsługiwane typy wartości: float, int

Parametr przesunięcie_czasu obsługiwany jest od wersji Zabbix 1.8.2.
time
Bieżący czas w formacie HHMMSS. Obsługiwane typy wartości: any

Przykład zwracanej wartości: 123055

1) Wszystkie funkcje zwracają wyłącznie wartości numeryczne. Na przykład, porównywanie do ciągów znaków nie jest obsługiwane.
2) Niektóre funkcje nie mogą być używane z parametrami nienumerycznymi!
3) Argumenty w postaci ciągów znaków powinny być podawane w cudzysłowach. W przeciwnym razie mogą zostać źle zinterpretowane.