[comment]: # attributes: notoc

[comment]: # (terms:  baselinedev, baselinewma, change, changecount, count, countunique, find, first, fuzzytime, last, logeventid, logseverity, logsource, monodec, monoinc, nodata, percentile, rate, trendavg, trendcount, trendmax, trendmin, trendstl, trendsum )

[comment]: # ({11b7940f-7da5ea1c})
# 4 Funkcje historyczne

Wszystkie funkcje wymienione tutaj są obsługiwane w:

-   [Wyrażeniach wyzwalaczy](/manual/config/triggers/expression)
-   [Pozycjach obliczanych](/manual/config/items/itemtypes/calculated)
-   [Makrach wyrażeń](/manual/config/macros/expression_macros)

Funkcje są wymienione bez dodatkowych informacji.
Kliknij funkcję, aby zobaczyć pełne szczegóły.

|Function|Description|
|--|--------|
|[change](#change)|Wielkość różnicy między poprzednią a najnowszą wartością.|
|[changecount](#changecount)|Liczba zmian między sąsiednimi wartościami w zdefiniowanym okresie oceny.|
|[count](#count)|Liczba wartości w zdefiniowanym okresie oceny.|
|[countunique](#countunique)|Liczba unikalnych wartości w zdefiniowanym okresie oceny.|
|[find](#find)|Znajdź dopasowanie wartości w zdefiniowanym okresie oceny.|
|[first](#first)|Pierwsza (najstarsza) wartość w zdefiniowanym okresie oceny.|
|[firstclock](#firstclock)|Znacznik czasu pierwszej (najstarszej) wartości w zdefiniowanym okresie oceny.|
|[fuzzytime](#fuzzytime)|Sprawdź, o ile czas pasywnego agenta różni się od czasu serwera/proxy Zabbixa.|
|[last](#last)|Najnowsza wartość.|
|[lastclock](#lastclock)|Znacznik czasu N-tej najnowszej wartości w zdefiniowanym okresie oceny.|
|[logeventid](#logeventid)|Sprawdź, czy identyfikator zdarzenia ostatniego wpisu dziennika pasuje do wyrażenia regularnego.|
|[logseverity](#logseverity)|Poziom ważności dziennika ostatniego wpisu dziennika.|
|[logsource](#logsource)|Sprawdź, czy źródło dziennika ostatniego wpisu dziennika pasuje do wyrażenia regularnego.|
|[logtimestamp](#logtimestamp)|Znacznik czasu komunikatu dziennika dla N-tej najnowszej wartości pozycji dziennika.|
|[monodec](#monodec)|Sprawdź, czy nastąpił monotoniczny spadek wartości.|
|[monoinc](#monoinc)|Sprawdź, czy nastąpił monotoniczny wzrost wartości.|
|[nodata](#nodata)|Sprawdź, czy nie odebrano danych.|
|[percentile](#percentile)|P-ty percentyl okresu, gdzie P (procent) jest określony przez trzeci parametr.|
|[rate](#rate)|Średnie tempo wzrostu na sekundę monotonicznie rosnącego licznika w zdefiniowanym przedziale czasu.|

[comment]: # ({/11b7940f-7da5ea1c})

[comment]: # ({2310631d-4d343eb8})
##### Wspólne parametry

-   `/host/key` jest wspólnym obowiązkowym pierwszym parametrem dla funkcji odwołujących się do historii pozycji hosta
-   `(sec|#num)<:time shift>` jest wspólnym drugim parametrem dla funkcji odwołujących się do historii pozycji hosta, gdzie:
    -   **sec** - maksymalny [okres oceny](/manual/config/triggers#evaluation-period) w sekundach (można używać [sufiksów](/manual/appendix/suffixes) czasu), lub
    -   **\#num** - maksymalny [zakres oceny](/manual/config/triggers#evaluation-period) w najnowszych zebranych wartościach (jeśli poprzedzony znakiem hash)
    -   **time shift** (opcjonalnie) umożliwia przesunięcie punktu oceny wstecz w czasie.
    Zobacz [więcej szczegółów](/manual/config/triggers/expression#time-shift) dotyczących określania time shift.

[comment]: # ({/2310631d-4d343eb8})

[comment]: # ({aa4e1bf6-8f3a0028})
### 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 za pomocą `<` `>`
-   Parametry specyficzne dla danej funkcji są opisane przy każdej funkcji
-   Parametry `/host/key` oraz `(sec|#num)<:time shift>` nigdy nie mogą być ujmowane w cudzysłów

[comment]: # ({/aa4e1bf6-8f3a0028})

[comment]: # ({1f93c729-4afc9a02})
##### change(/host/key) {#change}

Wielkość różnicy między poprzednią a najnowszą wartością.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.<br>
Dla ciągów znaków zwraca: 0 - wartości są równe; 1 - wartości są różne.

Parametry: zobacz [common parameters](#common-parameters).

Komentarze:

-   Różnica liczbowa zostanie obliczona, jak widać na poniższych przykładowych wartościach wejściowych ('previous' i 'latest' value = różnica):<br>'1' i '5' = `+4`<br>'3' i '1' = `-2`<br>'0' i '-2.5' = `-2.5`.<br>
-   Zobacz także: [abs](/manual/appendix/functions/math#abs) do porównania.

Przykłady:

```default
change(/host/system.uptime)<0 #zmiana uptime systemu była ujemna od ostatniej wartości (co wskazuje na restart)
change(/host/system.cpu.load[all,avg1])>2 #obciążenie CPU (dla jednej minuty) wzrosło o więcej niż 2 od ostatniej wartości
change(/host/vfs.fs.size[/,free])<-1G #wolna przestrzeń dyskowa spadła o więcej niż 1 GB między sprawdzeniami
```

[comment]: # ({/1f93c729-4afc9a02})

[comment]: # ({56cecc56-57458a90})
##### changecount(/host/key,(sec|#num)<:time shift>,<mode>) {#changecount}

Liczba zmian między sąsiednimi wartościami w zdefiniowanym okresie oceny.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.

Parametry: 

-   Zobacz [common parameters](#common-parameters)<br>
-   **mode** (musi być ujęty w podwójne cudzysłowy) - możliwe wartości: *all* - zliczaj wszystkie zmiany (domyślnie); *dec* - zliczaj spadki; *inc* - zliczaj wzrosty

Dla nieliczbowych typów wartości parametr *mode* jest ignorowany.

Przykłady:

```default
changecount(/host/icmpping,10m)>5 #status ping zmienił się więcej niż 5 razy w ciągu 10 minut
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #stan operacyjny interfejsu eth0 zmienił się więcej niż 5 razy w ciągu godziny
changecount(/host/proc.num[httpd],15m)>10 #liczba procesów httpd zmieniła się więcej niż 10 razy w ciągu 15 minut
changecount(/host/key,#10,"inc") #liczba wzrostów wartości (w odniesieniu do sąsiedniej wartości) spośród ostatnich 10 wartości
changecount(/host/key,24h,"dec") #liczba spadków wartości (w odniesieniu do sąsiedniej wartości) z ostatnich 24 godzin do teraz
```

[comment]: # ({/56cecc56-57458a90})

[comment]: # ({1f9dc9af-f9ce5dd9})
##### count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#count}

Liczba wartości w zdefiniowanym okresie obliczania.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **operator** (musi być ujęty w podwójny cudzysłów)
Obsługiwane `operatory`:<br>*eq* - równe (domyślnie dla integer, float)<br>*ne* - nierówne<br>*gt* - większe niż<br>*ge* - większe lub równe<br>*lt* - mniejsze niż<br>*le* - mniejsze lub równe<br>*like* (domyślnie dla string, text, log) - pasuje, jeśli zawiera wzorzec (z uwzględnieniem wielkości liter)<br>*bitand* - bitowe AND<br>*regexp* - dopasowanie z uwzględnieniem wielkości liter do wyrażenia regularnego podanego w `pattern`<br>*iregexp* - dopasowanie bez uwzględniania wielkości liter do wyrażenia regularnego podanego w `pattern`<br>
-   **pattern** - wymagany wzorzec (argumenty typu string muszą być ujęte w podwójny cudzysłów)

Komentarze:

-   Pozycje typu float są dopasowywane z precyzją 2.22e-16.
-   *like* nie jest obsługiwany jako operator dla wartości integer.
-   *like* i *bitand* nie są obsługiwane jako operatory dla wartości float.
-   Dla wartości string, text i log obsługiwane są tylko operatory *eq*, *ne*, *like*, *regexp* i *iregexp*.
-   Gdy jako operator używany jest *bitand*, czwarty parametr `pattern` można określić jako dwie liczby rozdzielone znakiem '/': **number_to_compare_with/mask**.
count() oblicza „bitowe AND” z wartości i *mask* oraz porównuje wynik z *number_to_compare_with*.
Jeśli wynik „bitowego AND” jest równy *number_to_compare_with*, wartość jest zliczana.<br>Jeśli *number_to_compare_with* i *mask* są równe, wystarczy podać tylko *mask* (bez '/').
-   Gdy jako operator używany jest *regexp* lub *iregexp*, czwarty parametr `pattern` może być zwykłym lub [globalnym](/manual/regular_expressions#global-regular-expressions) (zaczynającym się od '@') wyrażeniem regularnym.
W przypadku globalnych wyrażeń regularnych rozróżnianie wielkości liter jest dziedziczone z ustawień globalnych wyrażeń regularnych.
Na potrzeby dopasowania regexp wartości float będą zawsze przedstawiane 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ę po przecinku.

Przykłady:

```default
count(/host/icmpping,30m,,"0")>5 #ping has failed more than 5 times in 30 minutes
count(/host/key,10m,"like","error") #the number of values for the last 10 minutes until now that contain 'error'
count(/host/key,10m,,12) #the number of values for the last 10 minutes until now that equal '12'
count(/host/key,10m,"gt",12) #the number of values for the last 10 minutes until now that are over '12'
count(/host/key,#10,"gt",12) #the number of values within the last 10 values until now that are over '12'
count(/host/key,10m:now-1d,"gt",12) #the number of values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'
count(/host/key,10m,"bitand","6/7") #the number of values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits
count(/host/key,10m:now-1d) #the number of values between 24 hours and 10 minutes and 24 hours ago from now
```

[comment]: # ({/1f9dc9af-f9ce5dd9})

[comment]: # ({ab6b4d74-bf8dc20c})
##### countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#countunique}

Liczba unikalnych wartości w zdefiniowanym okresie obliczania.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **operator** (musi być ujęty w podwójny cudzysłów).
Obsługiwane `operators`:<br>*eq* - równe (domyślnie dla integer, float)<br>*ne* - nierówne<br>*gt* - większe niż<br>*ge* - większe lub równe<br>*lt* - mniejsze niż<br>*le* - mniejsze lub równe<br>*like* (domyślnie dla string, text, log) - pasuje, jeśli zawiera wzorzec (z rozróżnianiem wielkości liter)<br>*bitand* - bitowe AND<br>*regexp* - dopasowanie z rozróżnianiem wielkości liter do wyrażenia regularnego podanego w `pattern`<br>*iregexp* - dopasowanie bez rozróżniania wielkości liter do wyrażenia regularnego podanego w `pattern`<br>
-   **pattern** - wymagany wzorzec (argumenty typu string muszą być ujęte w podwójny cudzysłów)

Uwagi:

-   Pozycje typu float są dopasowywane z precyzją 2.22e-16.
-   *like* nie jest obsługiwany jako operator dla wartości integer.
-   *like* i *bitand* nie są obsługiwane jako operatory dla wartości float.
-   Dla wartości string, text i log obsługiwane są tylko operatory *eq*, *ne*, *like*, *regexp* oraz *iregexp*.
-   Przy użyciu *bitand* jako operatora, czwarty parametr `pattern` można określić jako dwie liczby rozdzielone znakiem '/': **number_to_compare_with/mask**. countunique() 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.<br>Jeśli *number_to_compare_with* i *mask* są równe, wystarczy podać tylko *mask* (bez '/').
-   Przy użyciu *regexp* lub *iregexp* jako operatora, czwarty parametr `pattern` może być zwykłym lub [globalnym](/manual/regular_expressions#global-regular-expressions) (zaczynającym się od '@') wyrażeniem regularnym.
W przypadku globalnych wyrażeń regularnych rozróżnianie wielkości liter jest dziedziczone z ustawień globalnych wyrażeń regularnych.
Na potrzeby dopasowania regexp wartości float będą zawsze przedstawiane 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:

```default
countunique(/host/key,10m) #liczba unikalnych wartości z ostatnich 10 minut do teraz
countunique(/host/key,10m,"like","error") #liczba unikalnych wartości z ostatnich 10 minut do teraz, które zawierają 'error'
countunique(/host/key,10m,,12) #liczba unikalnych wartości z ostatnich 10 minut do teraz równych '12'
countunique(/host/key,10m,"gt",12) #liczba unikalnych wartości z ostatnich 10 minut do teraz większych niż '12'
countunique(/host/key,#10,"gt",12) #liczba unikalnych wartości wśród ostatnich 10 wartości do teraz większych niż '12'
countunique(/host/key,10m:now-1d,"gt",12) #liczba unikalnych wartości między 24 godzinami i 10 minutami temu a 24 godzinami temu od teraz, które były większe niż '12'
countunique(/host/key,10m,"bitand","6/7") #liczba unikalnych wartości z ostatnich 10 minut do teraz mających '110' (binarnie) w 3 najmniej znaczących bitach
countunique(/host/key,10m:now-1d) #liczba unikalnych wartości między 24 godzinami i 10 minutami temu a 24 godzinami temu od teraz
```

[comment]: # ({/ab6b4d74-bf8dc20c})

[comment]: # ({9bb9907e-148d7d16})
##### find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#find}

Znajduje dopasowanie wartości w zdefiniowanym okresie obliczania.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.<br>
Zwraca: 1 - znaleziono; 0 - w przeciwnym razie.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **sec** lub **#num** (opcjonalne) - jeśli nie podano, domyślnie używana jest najnowsza wartość
-   **operator** (musi być ujęty w podwójny cudzysłów)
Obsługiwane `operatory`:<br>*eq* - równe (domyślnie dla integer, float)<br>*ne* - nierówne<br>*gt* - większe niż<br>*ge* - większe lub równe<br>*lt* - mniejsze niż<br>*le* - mniejsze lub równe<br>*like* (domyślnie dla string, text, log) - dopasowuje, jeśli zawiera ciąg znaków podany w `pattern` (z uwzględnieniem wielkości liter)<br>*bitand* - bitowe AND<br>*regexp* - dopasowanie z uwzględnieniem wielkości liter do wyrażenia regularnego podanego w `pattern`<br>*iregexp* - dopasowanie bez uwzględniania wielkości liter do wyrażenia regularnego podanego w `pattern`<br>
-   **pattern** - wymagany wzorzec (argumenty typu string muszą być ujęte w podwójny cudzysłów); wyrażenie regularne [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE), jeśli `operator` to *regexp*, *iregexp*

Uwagi:

-   Jeśli przetwarzana jest więcej niż jedna wartość, zwracane jest '1', jeśli istnieje co najmniej jedna pasująca wartość.
-   *like* nie jest obsługiwany jako operator dla wartości integer.
-   *like* i *bitand* nie są obsługiwane jako operatory dla wartości float.
-   Dla wartości string, text i log obsługiwane są tylko operatory *eq*, *ne*, *like*, *regexp* i *iregexp*.
-   Gdy jako operator użyto *regexp* lub *iregexp*, czwarty parametr `pattern` może być zwykłym lub [globalnym](/manual/regular_expressions#global-regular-expressions) (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.

Przykłady:

```default
find(/host/key,10m,"like","error") #znajdź wartość zawierającą 'error' w ciągu ostatnich 10 minut do teraz
find(/host/agent.version,,"like","beta")=1 #agent Zabbix ma wersję beta, musi zostać zaktualizowany
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #znaleziono wewnętrzny błąd serwera WWW
```

[comment]: # ({/9bb9907e-148d7d16})

[comment]: # ({86057069-0ae5f587})
##### first(/host/key,sec<:time shift>) {#first}

Pierwsza (najstarsza) wartość w zdefiniowanym okresie obliczania.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)

Zobacz także [last()](#last).

Przykład:

```default
first(/host/key,1h) #retrieve the oldest value within the last hour until now
```

[comment]: # ({/86057069-0ae5f587})

[comment]: # ({f7e55e49-77c121f4})
##### firstclock(/host/key,sec<:time shift>) {#firstclock}

Znacznik czasu najstarszej wartości w zdefiniowanym okresie obliczania.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters).

Funkcja kończy się błędem, jeśli w podanym okresie nie zebrano żadnych danych.

Zobacz także [lastclock()](#lastclock).

Przykłady:

```default
firstclock(/host/key,1h) #pobierz znacznik czasu najstarszej wartości z ostatniej godziny
firstclock(/host/key,1h:now-24h) #pobierz znacznik czasu najstarszej wartości z ostatniej godziny sprzed doby
```

[comment]: # ({/f7e55e49-77c121f4})

[comment]: # ({96c1f032-1c3609f8})
##### fuzzytime(/host/key,sec) {#fuzzytime}

Sprawdza, jak bardzo czas pasywnego agenta różni się od czasu serwera/proxy Zabbix.<br>
Obsługiwane typy wartości: *Float*, *Integer*.<br>
Zwraca: 1 - różnica między wartością pasywnej pozycji (jako znacznik czasu) a znacznikiem czasu serwera/proxy Zabbix (czasem pobrania wartości) jest mniejsza lub równa *sec* sekund; 0 - w przeciwnym razie.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters).

Komentarze:

-   Zwykle używane z pozycją 'system.localtime' do sprawdzenia, czy czas lokalny jest zsynchronizowany z czasem lokalnym serwera Zabbix.
*Uwaga*: dla agenta Zabbix pozycja 'system.localtime' musi być skonfigurowana jako [sprawdzenie pasywne](/manual/appendix/items/activepassive#passive-checks); w Zabbix agent 2 może być skonfigurowana jako sprawdzenie aktywne.
-   Może być również używane z kluczem `vfs.file.time[/path/file,modify]` do sprawdzenia, czy plik nie był aktualizowany przez długi czas.
-   Ta funkcja nie jest zalecana do użycia w złożonych wyrażeniach wyzwalaczy (z wieloma pozycjami), ponieważ może powodować nieoczekiwane wyniki (różnica czasu będzie mierzona względem najnowszej metryki), np. w `fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0`.

Przykłady:

```default
fuzzytime(/host/system.localtime,5m)=0 #czas lokalny klienta różni się od czasu serwera/proxy Zabbix o więcej niż 5 minut
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #czas lokalny klienta różni się od czasu serwera/proxy Zabbix o więcej niż 5 minut (przy jednoczesnym upewnieniu się, że pozycja nie przestała raportować danych)
```

[comment]: # ({/96c1f032-1c3609f8})

[comment]: # ({a56ae5b5-8059d345})
##### last(/host/key,<#num<:time shift>>) {#last}

Najnowsza wartość.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **#num** (opcjonalnie) — N-ta najnowsza wartość

Uwagi:

-   Należy zwrócić uwagę, że okres czasu oznaczony hashem (#N) działa tutaj inaczej niż w przypadku wielu innych funkcji.
Na przykład: `last(/host/key)` jest zawsze równe `last(/host/key,#1)`; `last(/host/key,#3)` — trzecia najnowsza wartość (*nie* trzy najnowsze wartości).
-   Zabbix nie gwarantuje dokładnej kolejności wartości, jeśli w historii istnieje więcej niż dwie wartości w ciągu jednej sekundy.
-   Zobacz także [first()](#first).

Przykłady:

```default
last(/host/key) #retrieve the last value
last(/host/key,#2) #retrieve the previous value
last(/host/key,#1)<>last(/host/key,#2) #last two values differ
```

[comment]: # ({/a56ae5b5-8059d345})

[comment]: # ({37d8627c-e2c2d8a2})
##### lastclock(/host/key,<#num<:time shift>>) {#lastclock}

Znacznik czasu N-tej najnowszej wartości w zdefiniowanym okresie obliczania.<br>
Obsługiwane typy wartości: *Float*, *Integer*, *String*, *Text*, *Log*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters);<br>
-   **#num** (opcjonalnie) — N-ta najnowsza wartość.

Funkcja kończy się błędem, jeśli w podanym okresie nie zebrano żadnych danych lub nie zebrano N-tej wartości.

Zobacz także [firstclock()](#firstclock).

Przykłady:

```default
lastclock(/host/key) #pobierz znacznik czasu najnowszej wartości
lastclock(/host/key,#2) #pobierz znacznik czasu 2. najnowszej wartości
now()-lastclock(/host/heartbeat.item)>300 #minęło więcej niż 5 minut od aktualizacji pozycji heartbeat
lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #interwał aktualizacji między dwiema ostatnimi wartościami przekracza 5 minut
((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #wartość CPU jest wysoka, a wartość jest świeża (mniej niż 2 minuty)
```

[comment]: # ({/37d8627c-e2c2d8a2})

[comment]: # ({5cecd78d-ff5dcd5e})
##### logeventid(/host/key,<#num<:time shift>>,<pattern>) {#logeventid}

Sprawdza, czy identyfikator zdarzenia ostatniego wpisu dziennika pasuje do wyrażenia regularnego.<br>
Obsługiwane typy wartości: *Log*.<br>
Zwraca: 0 - nie pasuje; 1 - pasuje.

Parametry: 

-   Zobacz [common parameters](#common-parameters)<br>
-   **#num** (opcjonalnie) - N-ta najnowsza wartość<br>
-   **pattern** (opcjonalnie) - wyrażenie regularne opisujące wymagany wzorzec, w stylu [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) (argumenty tekstowe muszą być ujęte w podwójne cudzysłowy)

Przykłady:

```default
logeventid(/host/eventlog[Security],,"^4625$")=1 #wpis dziennika z identyfikatorem pasującym do "4625" (nieudane uwierzytelnienie) znaleziony
logeventid(/host/eventlog[System],,"^(6008|41)$")=1 #wpis dziennika z identyfikatorem pasującym do "6008" lub "41" znaleziony
```

[comment]: # ({/5cecd78d-ff5dcd5e})

[comment]: # ({d3497d35-5053b990})
##### logseverity(/host/key,<#num<:time shift>>) {#logseverity}

Poziom ważności ostatniego wpisu logu.<br>
Obsługiwane typy wartości: *Log*.<br>
Zwraca: 0 - domyślny poziom ważności; N - poziom ważności (liczba całkowita, przydatne dla dzienników zdarzeń Windows: 1 - Informacja, 2 - Ostrzeżenie, 4 - Błąd, 7 - Audyt niepowodzeń, 8 - Audyt powodzeń, 9 - Krytyczny, 10 - Szczegółowy).

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **#num** (opcjonalnie) - N-ta najnowsza wartość

Zabbix pobiera poziom ważności logu z pola **Information** dziennika zdarzeń Windows.

Przykłady:

```default
logseverity(/host/log[/var/log/syslog],10m)>3 #a log entry with severity above "3" found
logseverity(/host/eventlog[System],10m)=4 #a log entry with severity equaling "Error" found
```

[comment]: # ({/d3497d35-5053b990})

[comment]: # ({b33d7f55-a9148f5c})
##### logsource(/host/key,<#num<:time shift>>,<pattern>) {#logsource}

Sprawdza, czy źródło logu ostatniego wpisu logu pasuje do wyrażenia regularnego.<br>
Obsługiwane typy wartości: *Log*.<br>
Zwraca: 0 - nie pasuje; 1 - pasuje.

Parametry: 

-   Zobacz [common parameters](#common-parameters)<br>
-   **#num** (opcjonalnie) - N-ta najnowsza wartość<br>
-   **pattern** (opcjonalnie) - wyrażenie regularne opisujące wymagany wzorzec, w stylu [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) (argumenty tekstowe muszą być ujęte w podwójne cudzysłowy)

Zwykle używane dla dzienników zdarzeń systemu Windows.

Przykłady:

```default
logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #znaleziono wpis logu ze źródłem pasującym do "MSSQLSERVER"
logsource(/host/eventlog[System],,"Service Control Manager")=1 #znaleziono wpis logu ze źródłem pasującym do "Service Control Manager"
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"^7031$")=1 #znaleziono wpis logu ze źródłem pasującym do "Service Control Manager" i identyfikatorem zdarzenia pasującym do "7031"
```

[comment]: # ({/b33d7f55-a9148f5c})

[comment]: # ({64641457-49eac3d8})
##### logtimestamp(/host/key,<#num<:time shift>>) {#logtimestamp}

Znacznik czasu komunikatu dziennika dla N-tej najnowszej wartości pozycji dziennika.<br>
Obsługiwane typy wartości: *Log*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters);<br>
-   **#num** (opcjonalnie) — N-ta najnowsza wartość.

Uwagi:

-   Obliczanie przesunięcia czasu opiera się na zegarze wartości pozycji, a nie na znaczniku czasu komunikatu dziennika;
-   Funkcja kończy się błędem, jeśli:
    -   odebrano pozycję typu innego niż log;
    -   w podanym okresie nie zebrano żadnych danych;
    -   nie zebrano N-tej wartości;
    -   komunikat dziennika nie zawiera wartości znacznika czasu.

Przykłady:

```default
logtimestamp(/host/key) #retrieve the timestamp of the latest log message
logtimestamp(/host/key,#2) #retrieve the timestamp of the 2nd latest log message
logtimestamp(/host/key,#3:now-1d) #retrieve the timestamp of the 3rd latest log message a day ago
```

[comment]: # ({/64641457-49eac3d8})

[comment]: # ({2b7441d8-6a63b5c8})
##### monodec(/host/key,(sec|#num)<:time shift>,<mode>) {#monodec}

Sprawdza, czy nastąpił monotoniczny spadek wartości.<br>
Obsługiwane typy wartości: *Integer*.<br>
Zwraca: 1 - jeśli wszystkie elementy w okresie czasu stale maleją; 0 - w przeciwnym razie.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **mode** (musi być ujęty w podwójny cudzysłów) - *weak* (każda wartość jest mniejsza lub taka sama jak poprzednia; domyślnie) lub *strict* (każda wartość zmalała)

Przykłady:

```default
monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #oblicza, na ilu hostach nastąpił spadek wolnego rozmiaru pamięci swap
monodec(/host/proc.num[nginx],10m,"strict")=1 #liczba procesów nginx monotonicznie malała przez 10 minut
```

[comment]: # ({/2b7441d8-6a63b5c8})

[comment]: # ({09e06757-755c1821})
##### monoinc(/host/key,(sec|#num)<:time shift>,<mode>) {#monoinc}

Sprawdza, czy wystąpił monotoniczny wzrost wartości.<br>
Obsługiwane typy wartości: *Integer*.<br>
Zwraca: 1 - jeśli wszystkie elementy w okresie czasu stale rosną; 0 - w przeciwnym razie.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **mode** (musi być ujęty w podwójny cudzysłów) - *weak* (każda wartość jest większa lub taka sama jak poprzednia; domyślnie) lub *strict* (każda wartość wzrosła)

Przykłady:

```default
monoinc(/host/system.localtime,#3,"strict")=0 #lokalny czas systemowy nie wzrastał w sposób ciągły
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #wyzwalacz, jeśli liczba plików pozostawała bez zmian przez 24 godziny (oczekiwany jest wzrost)
```

[comment]: # ({/09e06757-755c1821})

[comment]: # ({ce0040c4-178e3950})
##### nodata(/host/key,sec,<mode>) {#nodata}

Sprawdza brak otrzymanych danych.<br>
Obsługiwane typy wartości: *Integer*, *Float*, *Character*, *Text*, *Log*.<br>
Zwraca: 1 - jeśli w zdefiniowanym przedziale czasu nie otrzymano danych; 0 - w przeciwnym razie.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **sec** - okres nie powinien być krótszy niż 30 sekund, ponieważ proces synchronizacji historii oblicza tę funkcję tylko co 30 sekund; `nodata(/host/key,0)` jest niedozwolone
-   **mode** - jeśli ustawiono na *strict* (w podwójnych cudzysłowach), ta funkcja będzie niewrażliwa na dostępność proxy (szczegóły w komentarzach)

Komentarze:

-   wyzwalacze 'nodata' monitorowane przez proxy są domyślnie wrażliwe na dostępność proxy - jeśli proxy stanie się niedostępne, wyzwalacze 'nodata' nie uruchomią się natychmiast po przywróceniu połączenia, lecz pominą dane za opóźniony okres.
Należy pamiętać, że dla pasywnych proxy tłumienie jest aktywowane, jeśli połączenie zostanie przywrócone po więcej niż 15 sekundach i nie mniej niż 2 sekundy później.
Dla aktywnych proxy tłumienie jest aktywowane, jeśli połączenie zostanie przywrócone po więcej niż 15 sekundach.
Aby wyłączyć wrażliwość na dostępność proxy, użyj trzeciego parametru, np.: `nodata(/host/key,5m,"strict")`; w takim przypadku funkcja uruchomi się, gdy tylko upłynie okres oceny (pięć minut) bez danych.<br>
-   Ta funkcja wyświetli błąd, jeśli w okresie określonym przez 1. parametr:<br>- nie ma danych i serwer Zabbix został uruchomiony ponownie<br>- nie ma danych i zakończono konserwację<br>- nie ma danych i pozycja została dodana lub ponownie włączona.<br>
-   Błędy są wyświetlane w kolumnie *Info* w [konfiguracji](/manual/web_interface/frontend_sections/data_collection/hosts/triggers) wyzwalacza.<br>
-   Ta funkcja może nie działać prawidłowo, jeśli występują różnice czasu między serwerem Zabbix, proxy i agentem.
Zobacz także: [Wymaganie synchronizacji czasu](/manual/installation/requirements#time-synchronization).

Przykład:

```default
nodata(/host/agent.ping,5m)=1 #wyzwalacz, jeśli przez 5 minut nie otrzymano danych od agenta Zabbix
```

[comment]: # ({/ce0040c4-178e3950})

[comment]: # ({8fe0ae58-e8041c00})
##### percentile(/host/key,(sec|#num)<:time shift>,percentage) {#percentile}

P-ty percentyl okresu, gdzie P (percentage) jest określony przez trzeci parametr.<br>
Obsługiwane typy wartości: *Float*, *Integer*.

Parametry: 

-   Zobacz [wspólne parametry](#common-parameters)<br>
-   **percentage** - liczba zmiennoprzecinkowa z zakresu od 0 do 100 (włącznie), z maksymalnie 4 cyframi po przecinku

Przykłady:

```default
percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #95. percentyl wejściowego ruchu sieciowego (bajty/s) w ciągu 1 godziny przekroczył próg (np. 1 MB/s)
percentile(/host/system.cpu.util,5m,95)>80 #95. percentyl procentowego wykorzystania CPU w czasie użytkownika przekroczył 80
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #większość pomiarów opóźnienia jest poniżej 150 ms, ale górny ogon rozkładu (górne 5%) wskazuje na regularne lagi
percentile(/host/net.if.in[eth0,bytes],1h,50) #oblicz 50. percentyl (wartość mediany) przychodzącego ruchu sieciowego dla godziny; daje to inny wynik niż avg() (średnia), ponieważ percentile nie uwzględnia wartości odstających
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #oblicz dokładną wartość mediany dla parzystej liczby wartości w ciągu godziny
```

[comment]: # ({/8fe0ae58-e8041c00})

[comment]: # ({0e6c5369-3b1de601})
##### rate(/host/key,sec<:przesunięcie czasu>) {#rate}

Średnie tempo wzrostu na sekundę monotonicznie rosnącego licznika w zdefiniowanym przedziale czasu.<br>
Obsługiwane typy wartości: *Float*, *Integer*.

Parametry:

-   Zobacz [common parameters](#common-parameters)

Funkcjonalnie odpowiada funkcji '[rate](https://prometheus.io/docs/prometheus/latest/querying/functions/#rate)' w PromQL.

Przykłady:

```default
rate(/host/key,30s) #jeśli monotoniczny wzrost w ciągu 30 sekund wynosi 20, ta funkcja zwraca 0.67.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #tempo ruchu przychodzącego interfejsu na eth0 przekroczyło 500 KB/s w ciągu ostatnich 5 minut
rate(/host/app.requests.count,1m)>100 #licznik liczby żądań wzrósł do >100 żądań na sekundę w ostatniej minucie
```

[comment]: # ({/0e6c5369-3b1de601})

[comment]: # ({ba59dd3a-ce01d749})
Zobacz [wszystkie obsługiwane funkcje](/manual/appendix/functions).

[comment]: # ({/ba59dd3a-ce01d749})
