Zabbix Documentation 2.2

1.8  2.0  
2.2
  2.4  3.0  3.2  3.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.