[comment]: # attributes: notoc

[comment]: # ({ea5e90a7-7da5ea1c})
# 4 Historische Funktionen

Alle hier aufgeführten Funktionen werden unterstützt in:

-   [Ausdrucks-Trigger](/manual/config/triggers/expression)
-   [Berechnete Datenpunkte](/manual/config/items/itemtypes/calculated)
-   [Ausdrucksmakros](/manual/config/macros/expression_macros)

Die Funktionen werden ohne zusätzliche Informationen aufgeführt.
Klicken Sie auf die Funktion, um die vollständigen Details anzuzeigen.

|Function|Description|
|--|--------|
|[change](#change)|Die Differenz zwischen dem vorherigen und dem neuesten Wert.|
|[changecount](#changecount)|Die Anzahl der Änderungen zwischen benachbarten Werten innerhalb des definierten Auswertungszeitraums.|
|[count](#count)|Die Anzahl der Werte innerhalb des definierten Auswertungszeitraums.|
|[countunique](#countunique)|Die Anzahl der eindeutigen Werte innerhalb des definierten Auswertungszeitraums.|
|[find](#find)|Findet eine passende Wertübereinstimmung innerhalb des definierten Auswertungszeitraums.|
|[first](#first)|Der erste (älteste) Wert innerhalb des definierten Auswertungszeitraums.|
|[fuzzytime](#fuzzytime)|Prüft, um wie viel sich die Zeit des passiven Agent von der Zeit des Zabbix Server/Proxy unterscheidet.|
|[last](#last)|Der aktuellste Wert.|
|[logeventid](#logeventid)|Prüft, ob die Ereignis-ID des letzten Protokolleintrags mit einem regulären Ausdruck übereinstimmt.|
|[logseverity](#logseverity)|Die Protokollschwere des letzten Protokolleintrags.|
|[logsource](#logsource)|Prüft, ob die Protokollquelle des letzten Protokolleintrags mit einem regulären Ausdruck übereinstimmt.|
|[monodec](#monodec)|Prüft, ob ein monotoner Rückgang der Werte vorliegt.|
|[monoinc](#monoinc)|Prüft, ob ein monotoner Anstieg der Werte vorliegt.|
|[nodata](#nodata)|Prüft, ob keine Daten empfangen wurden.|
|[percentile](#percentile)|Das P-Perzentil eines Zeitraums, wobei P (Prozent) durch den dritten Parameter angegeben wird.|
|[rate](#rate)|Die durchschnittliche pro Sekunde berechnete Anstiegsrate eines monoton ansteigenden Zählers innerhalb des definierten Zeitraums.|

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

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

-   `/host/key` ist ein gemeinsamer obligatorischer erster Parameter für die Funktionen, die sich auf den Verlauf des Host-Datenpunkts beziehen
-   `(sec|#num)<:time shift>` ist ein gemeinsamer zweiter Parameter für die Funktionen, die sich auf den Verlauf des Host-Datenpunkts beziehen, wobei:
    -   **sec** - maximale [Auswertungsperiode](/manual/config/triggers#evaluation-period) in Sekunden (Zeit-[Suffixe](/manual/appendix/suffixes) können verwendet werden), oder
    -   **\#num** - maximaler [Auswertungsbereich](/manual/config/triggers#evaluation-period) in den zuletzt erfassten Werten (wenn ein Hash-Zeichen davor steht)
    -   **time shift** (optional) ermöglicht es, den Auswertungspunkt in der Zeit zurückzuverschieben.
    Siehe [weitere Details](/manual/config/triggers/expression#time-shift) zur Angabe von time shift.

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

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

Einige allgemeine Hinweise zu Funktionsparametern:

-   Funktionsparameter werden durch ein Komma getrennt
-   Optionale Funktionsparameter (oder Parameterteile) werden durch `<` `>` angegeben
-   Funktionsspezifische Parameter werden bei jeder Funktion beschrieben
-   Die Parameter `/host/key` und `(sec|#num)<:time shift>` dürfen niemals in Anführungszeichen gesetzt werden

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

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

Die Höhe der Differenz zwischen dem vorherigen und dem neuesten Wert.<br>
Unterstützte Werttypen: *Float*, *Integer*, *String*, *Text*, *Log*.<br>
Für Zeichenfolgen wird zurückgegeben: 0 - Werte sind gleich; 1 - Werte unterscheiden sich.

Parameter: siehe [allgemeine Parameter](#common-parameters).

Kommentare:

-   Die numerische Differenz wird berechnet, wie in den folgenden Beispielwerten für eingehende Daten zu sehen ist ('previous' und 'latest' value = Differenz):<br>'1' und '5' = `+4`<br>'3' und '1' = `-2`<br>'0' und '-2.5' = `-2.5`.<br>
-   Siehe auch: [abs](/manual/appendix/functions/math#abs) zum Vergleich.

Beispiele:

```default
change(/host/system.uptime)<0 #die Änderung der Systemlaufzeit war seit dem letzten Wert negativ (was auf einen Neustart hinweist)
change(/host/system.cpu.load[all,avg1])>2 #die CPU-Auslastung (für eine Minute) ist seit dem letzten Wert um mehr als 2 gestiegen
change(/host/vfs.fs.size[/,free])<-1G #der freie Speicherplatz auf der Festplatte ist zwischen den Prüfungen um mehr als 1 GB gesunken
```

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

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

Die Anzahl der Änderungen zwischen benachbarten Werten innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*, *String*, *Text*, *Log*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **mode** (muss in doppelte Anführungszeichen gesetzt werden) - mögliche Werte: *all* - alle Änderungen zählen (Standard); *dec* - Abnahmen zählen; *inc* - Zunahmen zählen

Für nicht numerische Werttypen wird der Parameter *mode* ignoriert.

Beispiele:

```default
changecount(/host/icmpping,10m)>5 #Ping-Status hat sich in 10 Minuten mehr als 5 Mal geändert
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #der Betriebszustand von eth0 hat sich in einer Stunde mehr als 5 Mal geändert
changecount(/host/proc.num[httpd],15m)>10 #die Anzahl der httpd-Prozesse hat sich in 15 Minuten mehr als 10 Mal geändert
changecount(/host/key,#10,"inc") #die Anzahl der Wertsteigerungen (im Vergleich zum benachbarten Wert) unter den letzten 10 Werten
changecount(/host/key,24h,"dec") #die Anzahl der Wertabnahmen (im Vergleich zum benachbarten Wert) in den letzten 24 Stunden bis jetzt
```

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

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

Die Anzahl der Werte innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Wertetypen: *Float*, *Integer*, *String*, *Text*, *Log*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **operator** (muss in doppelte Anführungszeichen gesetzt werden)
Unterstützte `operators`:<br>*eq* - gleich (Standard für integer, float)<br>*ne* - ungleich<br>*gt* - größer als<br>*ge* - größer oder gleich<br>*lt* - kleiner als<br>*le* - kleiner oder gleich<br>*like* (Standard für string, text, log) - trifft zu, wenn das Muster enthalten ist (Groß-/Kleinschreibung wird beachtet)<br>*bitand* - bitweises AND<br>*regexp* - Übereinstimmung unter Beachtung der Groß-/Kleinschreibung mit dem in `pattern` angegebenen regulären Ausdruck<br>*iregexp* - Übereinstimmung ohne Beachtung der Groß-/Kleinschreibung mit dem in `pattern` angegebenen regulären Ausdruck<br>
-   **pattern** - das erforderliche Muster (String-Argumente müssen in doppelte Anführungszeichen gesetzt werden)

Kommentare:

-   Float-Datenpunkte werden mit einer Genauigkeit von 2.22e-16 abgeglichen.
-   *like* wird als operator für Integer-Werte nicht unterstützt.
-   *like* und *bitand* werden als operatoren für Float-Werte nicht unterstützt.
-   Für String-, Text- und Log-Werte werden nur die operatoren *eq*, *ne*, *like*, *regexp* und *iregexp* unterstützt.
-   Bei Verwendung von *bitand* als operator kann der vierte Parameter `pattern` als zwei durch '/' getrennte Zahlen angegeben werden: **number_to_compare_with/mask**.
count() berechnet aus dem Wert und der *mask* ein "bitweises AND" und vergleicht das Ergebnis mit *number_to_compare_with*.
Wenn das Ergebnis des "bitweisen AND" gleich *number_to_compare_with* ist, wird der Wert gezählt.<br>Wenn *number_to_compare_with* und *mask* gleich sind, muss nur die *mask* angegeben werden (ohne '/').
-   Bei Verwendung von *regexp* oder *iregexp* als operator kann der vierte Parameter `pattern` ein gewöhnlicher oder [globaler](/manual/regular_expressions#global-regular-expressions) (mit '@' beginnender) regulärer Ausdruck sein.
Bei globalen regulären Ausdrücken wird die Beachtung der Groß-/Kleinschreibung aus den Einstellungen des globalen regulären Ausdrucks übernommen.
Für den Zweck des regexp-Abgleichs werden Float-Werte immer mit 4 Nachkommastellen nach '.' dargestellt.
Beachten Sie außerdem, dass bei großen Zahlen Unterschiede zwischen der dezimalen Darstellung (in der Datenbank gespeichert) und der binären Darstellung (vom Zabbix Server verwendet) die 4. Nachkommastelle beeinflussen können.

Beispiele:

```default
count(/host/icmpping,30m,,"0")>5 #Ping ist in 30 Minuten mehr als 5 Mal fehlgeschlagen
count(/host/key,10m,"like","error") #die Anzahl der Werte in den letzten 10 Minuten bis jetzt, die 'error' enthalten
count(/host/key,10m,,12) #die Anzahl der Werte in den letzten 10 Minuten bis jetzt, die gleich '12' sind
count(/host/key,10m,"gt",12) #die Anzahl der Werte in den letzten 10 Minuten bis jetzt, die größer als '12' sind
count(/host/key,#10,"gt",12) #die Anzahl der Werte innerhalb der letzten 10 Werte bis jetzt, die größer als '12' sind
count(/host/key,10m:now-1d,"gt",12) #die Anzahl der Werte zwischen vor 24 Stunden und vor 24 Stunden minus 10 Minuten, die größer als '12' waren
count(/host/key,10m,"bitand","6/7") #die Anzahl der Werte in den letzten 10 Minuten bis jetzt, die in den 3 niederwertigsten Bits '110' (binär) haben
count(/host/key,10m:now-1d) #die Anzahl der Werte zwischen vor 24 Stunden und vor 24 Stunden minus 10 Minuten
```

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

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

Die Anzahl eindeutiger Werte innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Wertetypen: *Float*, *Integer*, *String*, *Text*, *Log*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **operator** (muss in doppelte Anführungszeichen gesetzt werden).
Unterstützte `operators`:<br>*eq* - gleich (Standard für integer, float)<br>*ne* - ungleich<br>*gt* - größer als<br>*ge* - größer oder gleich<br>*lt* - kleiner als<br>*le* - kleiner oder gleich<br>*like* (Standard für string, text, log) - stimmt überein, wenn das Muster enthalten ist (Groß-/Kleinschreibung wird beachtet)<br>*bitand* - bitweises UND<br>*regexp* - Groß-/Kleinschreibung beachtende Übereinstimmung mit dem in `pattern` angegebenen regulären Ausdruck<br>*iregexp* - Groß-/Kleinschreibung ignorierende Übereinstimmung mit dem in `pattern` angegebenen regulären Ausdruck<br>
-   **pattern** - das erforderliche Muster (String-Argumente müssen in doppelte Anführungszeichen gesetzt werden)

Kommentare:

-   Float-Datenpunkte werden mit einer Genauigkeit von 2.22e-16 abgeglichen.
-   *like* wird als operator für Integer-Werte nicht unterstützt.
-   *like* und *bitand* werden als operatoren für Float-Werte nicht unterstützt.
-   Für String-, Text- und Log-Werte werden nur die operatoren *eq*, *ne*, *like*, *regexp* und *iregexp* unterstützt.
-   Bei *bitand* als operator kann der vierte Parameter `pattern` als zwei durch '/' getrennte Zahlen angegeben werden: **number_to_compare_with/mask**. countunique() berechnet aus dem Wert und der *mask* ein "bitweises UND" und vergleicht das Ergebnis mit *number_to_compare_with*.
Wenn das Ergebnis des "bitweisen UND" gleich *number_to_compare_with* ist, wird der Wert gezählt.<br>Wenn *number_to_compare_with* und *mask* gleich sind, muss nur die *mask* angegeben werden (ohne '/').
-   Bei *regexp* oder *iregexp* als operator kann der vierte Parameter `pattern` ein gewöhnlicher oder [globaler](/manual/regular_expressions#global-regular-expressions) (mit '@' beginnender) regulärer Ausdruck sein.
Bei globalen regulären Ausdrücken wird die Groß-/Kleinschreibung aus den Einstellungen des globalen regulären Ausdrucks übernommen.
Für den Zweck des regexp-Abgleichs werden Float-Werte immer mit 4 Dezimalstellen nach '.' dargestellt.
Beachten Sie außerdem, dass bei großen Zahlen Unterschiede zwischen der dezimalen Darstellung (in der Datenbank gespeichert) und der binären Darstellung (vom Zabbix Server verwendet) die 4. Dezimalstelle beeinflussen können.

Beispiele:

```default
countunique(/host/key,10m) #die Anzahl eindeutiger Werte in den letzten 10 Minuten bis jetzt
countunique(/host/key,10m,"like","error") #die Anzahl eindeutiger Werte in den letzten 10 Minuten bis jetzt, die 'error' enthalten
countunique(/host/key,10m,,12) #die Anzahl eindeutiger Werte in den letzten 10 Minuten bis jetzt, die gleich '12' sind
countunique(/host/key,10m,"gt",12) #die Anzahl eindeutiger Werte in den letzten 10 Minuten bis jetzt, die größer als '12' sind
countunique(/host/key,#10,"gt",12) #die Anzahl eindeutiger Werte innerhalb der letzten 10 Werte bis jetzt, die größer als '12' sind
countunique(/host/key,10m:now-1d,"gt",12) #die Anzahl eindeutiger Werte zwischen vor 24 Stunden und vor 24 Stunden plus 10 Minuten ab jetzt, die größer als '12' waren
countunique(/host/key,10m,"bitand","6/7") #die Anzahl eindeutiger Werte in den letzten 10 Minuten bis jetzt, die in den 3 niederwertigsten Bits '110' (binär) haben
countunique(/host/key,10m:now-1d) #die Anzahl eindeutiger Werte zwischen vor 24 Stunden und vor 24 Stunden plus 10 Minuten ab jetzt
```

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

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

Findet eine Wertübereinstimmung innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*, *String*, *Text*, *Log*.<br>
Rückgabewert: 1 - gefunden; 0 - andernfalls.

Parameter: 

-   Siehe [gemeinsame Parameter](#common-parameters)<br>
-   **sec** oder **#num** (optional) - standardmäßig der letzte Wert, wenn nicht angegeben
-   **operator** (muss in doppelte Anführungszeichen gesetzt werden)
Unterstützte `operators`:<br>*eq* - gleich (Standard für integer, float)<br>*ne* - ungleich<br>*gt* - größer als<br>*ge* - größer oder gleich<br>*lt* - kleiner als<br>*le* - kleiner oder gleich<br>*like* (Standard für string, text, log) - stimmt überein, wenn die in `pattern` angegebene Zeichenkette enthalten ist (Groß-/Kleinschreibung wird beachtet)<br>*bitand* - bitweises AND<br>*regexp* - Übereinstimmung unter Beachtung der Groß-/Kleinschreibung mit dem in `pattern` angegebenen regulären Ausdruck<br>*iregexp* - Übereinstimmung ohne Beachtung der Groß-/Kleinschreibung mit dem in `pattern` angegebenen regulären Ausdruck<br>
-   **pattern** - das erforderliche Muster (String-Argumente müssen in doppelte Anführungszeichen gesetzt werden); regulärer Ausdruck nach [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE), wenn `operator` *regexp* oder *iregexp* ist

Kommentare:

-   Wenn mehr als ein Wert verarbeitet wird, wird '1' zurückgegeben, wenn es mindestens einen übereinstimmenden Wert gibt.
-   *like* wird als Operator für Integer-Werte nicht unterstützt.
-   *like* und *bitand* werden als Operatoren für Float-Werte nicht unterstützt.
-   Für String-, Text- und Log-Werte werden nur die Operatoren *eq*, *ne*, *like*, *regexp* und *iregexp* unterstützt.
-   Bei Verwendung von *regexp* oder *iregexp* als Operator kann der vierte Parameter `pattern` ein gewöhnlicher oder [globaler](/manual/regular_expressions#global-regular-expressions) (beginnend mit '@') regulärer Ausdruck sein.
Bei globalen regulären Ausdrücken wird die Groß-/Kleinschreibung aus den Einstellungen des globalen regulären Ausdrucks übernommen.

Beispiele:

```default
find(/host/key,10m,"like","error") #find a value that contains 'error' within the last 10 minutes until now
find(/host/agent.version,,"like","beta")=1 #Zabbix agent has beta version, must be upgraded
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #internal web server error has been found
```

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

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

Der erste (der älteste) Wert innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*, *String*, *Text*, *Log*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)

Siehe auch [last()](#last).

Beispiel:

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

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

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

Prüft, wie stark sich die Zeit des passiven Agent von der Zeit des Zabbix Server/Proxy unterscheidet.<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Rückgabewerte: 1 - die Differenz zwischen dem Wert des passiven Datenpunkts (als Zeitstempel) und dem Zeitstempel des Zabbix Server/Proxy (dem Zeitpunkt der Werterfassung) ist kleiner oder gleich *sec* Sekunden; andernfalls 0.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters).

Kommentare:

-   Wird üblicherweise mit dem Datenpunkt 'system.localtime' verwendet, um zu prüfen, dass die lokale Zeit mit der lokalen Zeit des Zabbix Server synchron ist.
*Beachten Sie*, dass 'system.localtime' für den Zabbix Agent als [passive Prüfung](/manual/appendix/items/activepassive#passive-checks) konfiguriert sein muss; bei Zabbix Agent 2 kann er als aktive Prüfung konfiguriert werden.
-   Kann auch mit dem Schlüssel `vfs.file.time[/path/file,modify]` verwendet werden, um zu prüfen, dass die Datei lange Zeit nicht aktualisiert wurde.
-   Diese Funktion wird nicht zur Verwendung in komplexen Auslöserausdrücken empfohlen (mit mehreren beteiligten Datenpunkten), da dies zu unerwarteten Ergebnissen führen kann (die Zeitdifferenz wird anhand der neuesten Metrik gemessen), z. B. in `fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0`.

Beispiele:

```default
fuzzytime(/host/system.localtime,5m)=0 #lokale Client-Zeit unterscheidet sich um mehr als 5 Minuten von der Zeit des Zabbix Server/Proxy
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #lokale Client-Zeit unterscheidet sich um mehr als 5 Minuten von der Zeit des Zabbix Server/Proxy (wobei sichergestellt wird, dass der Datenpunkt nicht aufgehört hat, Daten zu melden)
```

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

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

Der aktuellste Wert.<br>
Unterstützte Werttypen: *Float*, *Integer*, *String*, *Text*, *Log*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **#num** (optional) - der N-te aktuellste Wert

Kommentare:

-   Beachten Sie, dass ein mit Hash gekennzeichneter Zeitraum (#N) hier anders funktioniert als bei vielen anderen Funktionen.
Zum Beispiel: `last(/host/key)` ist immer gleich `last(/host/key,#1)`; `last(/host/key,#3)` - der drittneueste Wert (*nicht* die drei neuesten Werte).
-   Zabbix garantiert nicht die exakte Reihenfolge der Werte, wenn innerhalb einer Sekunde in der Historie mehr als zwei Werte vorhanden sind.
-   Siehe auch [first()](#first).

Beispiele:

```default
last(/host/key) #den letzten Wert abrufen
last(/host/key,#2) #den vorherigen Wert abrufen
last(/host/key,#1) <> last(/host/key,#2) #der letzte und der vorherige Wert unterscheiden sich
```

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

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

Prüft, ob die Ereignis-ID des letzten Logeintrags mit einem regulären Ausdruck übereinstimmt.<br>
Unterstützte Werttypen: *Log*.<br>
Rückgabewert: 0 - stimmt nicht überein; 1 - stimmt überein.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **#num** (optional) - der N-te zuletzt empfangene Wert<br>
-   **pattern** (optional) - der reguläre Ausdruck, der das erforderliche Muster beschreibt, im Stil von [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) (Zeichenfolgenargumente müssen in doppelte Anführungszeichen gesetzt werden)

Beispiele:

```default
logeventid(/host/eventlog[Security],,"^4625$")=1 #ein Logeintrag mit der ID "4625" (fehlgeschlagene Authentifizierung) wurde gefunden
logeventid(/host/eventlog[System],,"^(6008|41)$")=1 #ein Logeintrag mit der ID "6008" oder "41" wurde gefunden
```

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

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

Protokollschwere des letzten Protokolleintrags.<br>
Unterstützte Werttypen: *Log*.<br>
Rückgabewerte: 0 - Standardschweregrad; N - Schweregrad (integer, nützlich für Windows-Ereignisprotokolle: 1 - Information, 2 - Warnung, 4 - Fehler, 7 - Überwachungsfehler, 8 - Überwachungserfolg, 9 - Kritisch, 10 - Ausführlich).

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **#num** (optional) - der N-tjüngste Wert

Zabbix übernimmt den Protokollschweregrad aus dem Feld **Information** des Windows-Ereignisprotokolls.

Beispiele:

```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}

Prüft, ob die Logquelle des letzten Logeintrags mit einem regulären Ausdruck übereinstimmt.<br>
Unterstützte Werttypen: *Log*.<br>
Rückgabewert: 0 - stimmt nicht überein; 1 - stimmt überein.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **#num** (optional) - der N-te zuletzt empfangene Wert<br>
-   **pattern** (optional) - der reguläre Ausdruck, der das erforderliche Muster beschreibt, im Stil von [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) (Zeichenkettenargumente müssen in doppelte Anführungszeichen gesetzt werden)

Wird normalerweise für Windows-Ereignisprotokolle verwendet.

Beispiele:

```default
logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #ein Logeintrag mit einer Quelle, die mit "MSSQLSERVER" übereinstimmt, wurde gefunden
logsource(/host/eventlog[System],,"Service Control Manager")=1 #ein Logeintrag mit einer Quelle, die mit "Service Control Manager" übereinstimmt, wurde gefunden
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"^7031$")=1 #ein Logeintrag mit einer Quelle, die mit "Service Control Manager" übereinstimmt, und einer Ereignis-ID, die mit "7031" übereinstimmt, wurde gefunden
```

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

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

Prüft, ob es einen monotonen Rückgang von Werten gegeben hat.<br>
Unterstützte Wertetypen: *Integer*.<br>
Rückgabewert: 1 - wenn alle Elemente im Zeitraum fortlaufend abnehmen; 0 - andernfalls.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **mode** (muss in doppelte Anführungszeichen gesetzt werden) - *weak* (jeder Wert ist kleiner oder gleich dem vorherigen; Standard) oder *strict* (jeder Wert hat abgenommen)

Beispiele:

```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) #calculate in how many hosts there has been a decrease in free swap size
monodec(/host/proc.num[nginx],10m,"strict")=1 #the number of nginx processes has monotonously decreased over 10 minutes
```

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

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

Prüft, ob es einen monotonen Anstieg der Werte gegeben hat.<br>
Unterstützte Werttypen: *Integer*.<br>
Rückgabewert: 1 - wenn alle Elemente im Zeitraum kontinuierlich ansteigen; 0 - andernfalls.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **mode** (muss in doppelte Anführungszeichen gesetzt werden) - *weak* (jeder Wert ist größer als oder gleich dem vorherigen; Standard) oder *strict* (jeder Wert ist gestiegen)

Beispiele:

```default
monoinc(/host/system.localtime,#3,"strict")=0 #die lokale Systemzeit ist nicht durchgängig angestiegen
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #Auslöser, wenn die Dateianzahl über 24 Stunden stagniert (es wird ein Anstieg erwartet)
```

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

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

Prüft, ob keine Daten empfangen wurden.<br>
Unterstützte Wertetypen: *Integer*, *Float*, *Character*, *Text*, *Log*.<br>
Rückgabewert: 1 - wenn während des definierten Zeitraums keine Daten empfangen wurden; andernfalls 0.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **sec** - der Zeitraum sollte nicht kürzer als 30 Sekunden sein, da der History-Syncer-Prozess diese Funktion nur alle 30 Sekunden berechnet; `nodata(/host/key,0)` ist nicht zulässig
-   **mode** - wenn auf *strict* gesetzt (in doppelten Anführungszeichen), ist diese Funktion unempfindlich gegenüber der Verfügbarkeit des Proxy (siehe Kommentare für Details)

Kommentare:

-   die von einem Proxy überwachten 'nodata'-Auslöser reagieren standardmäßig empfindlich auf die Verfügbarkeit des Proxy - wenn der Proxy nicht mehr verfügbar ist, werden die 'nodata'-Auslöser nicht sofort nach Wiederherstellung der Verbindung ausgelöst, sondern überspringen die Daten für den verzögerten Zeitraum.
Beachten Sie, dass bei passiven Proxys die Unterdrückung aktiviert wird, wenn die Verbindung mehr als 15 Sekunden und nicht weniger als 2 Sekunden später wiederhergestellt wird.
Bei aktiven Proxys wird die Unterdrückung aktiviert, wenn die Verbindung mehr als 15 Sekunden später wiederhergestellt wird.
Um die Empfindlichkeit gegenüber der Verfügbarkeit des Proxy zu deaktivieren, verwenden Sie den dritten Parameter, z. B.: `nodata(/host/key,5m,"strict")`; in diesem Fall wird die Funktion ausgelöst, sobald der Auswertungszeitraum (fünf Minuten) ohne Daten verstrichen ist.<br>
-   Diese Funktion zeigt einen Fehler an, wenn innerhalb des im 1. Parameter angegebenen Zeitraums:<br>- keine Daten vorhanden sind und der Zabbix Server neu gestartet wurde<br>- keine Daten vorhanden sind und eine Wartung abgeschlossen wurde<br>- keine Daten vorhanden sind und der Datenpunkt hinzugefügt oder wieder aktiviert wurde.<br>
-   Fehler werden in der Spalte *Info* in der Auslöser-[Konfiguration](/manual/web_interface/frontend_sections/data_collection/hosts/triggers) angezeigt.<br>
-   Diese Funktion funktioniert möglicherweise nicht korrekt, wenn es Zeitunterschiede zwischen Zabbix Server, Proxy und Agent gibt.
Siehe auch: [Anforderung an die Zeitsynchronisierung](/manual/installation/requirements#time-synchronization).

Beispiel:

```default
nodata(/host/agent.ping,5m)=1 #Auslöser, wenn 5 Minuten lang keine Daten vom Zabbix Agent empfangen wurden
```

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

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

Das P-te Perzentil eines Zeitraums, wobei P (percentage) durch den dritten Parameter angegeben wird.<br>
Unterstützte Wertetypen: *Float*, *Integer*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **percentage** - eine Gleitkommazahl zwischen 0 und 100 (einschließlich) mit bis zu 4 Ziffern nach dem Dezimalpunkt

Beispiele:

```default
percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #95. Perzentil des Netzwerkeingangs (Bytes/Sek.) über 1 Stunde hat einen Schwellenwert überschritten (z. B. 1 MB/s)
percentile(/host/system.cpu.util,5m,95)>80 #95. Perzentil des CPU-Auslastungsprozentsatzes der User-Zeit ist über 80 gestiegen
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #die meisten Latenzmessungen liegen unter 150 ms, aber der obere Randbereich (oberste 5 %) deutet auf regelmäßige Verzögerungen hin
percentile(/host/net.if.in[eth0,bytes],1h,50) #berechnet das 50. Perzentil (den Medianwert) des eingehenden Netzwerkverkehrs für eine Stunde; dies ergibt ein anderes Ergebnis als avg() (der Durchschnitt), da percentile Ausreißerwerte nicht berücksichtigt
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #berechnet den genauen Medianwert bei einer geraden Anzahl von Werten für eine Stunde
```

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

[comment]: # ({0e6c5369-3b1de601})
##### rate(/host/key,sec<:time shift>) {#rate}

Die durchschnittliche Zuwachsrate pro Sekunde eines monoton steigenden Zählers innerhalb des definierten Zeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)

Entspricht funktional der PromQL-Funktion '[rate](https://prometheus.io/docs/prometheus/latest/querying/functions/#rate)'.

Beispiele:

```default
rate(/host/key,30s) #wenn der monotone Anstieg über 30 Sekunden 20 beträgt, gibt diese Funktion 0.67 zurück.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #die eingehende Schnittstellenverkehrsrate auf eth0 hat in den letzten 5 Minuten 500 KB/s überschritten
rate(/host/app.requests.count,1m)>100 #der Anforderungszähler ist in der letzten Minute auf >100 Anforderungen pro Sekunde gestiegen
```

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

[comment]: # ({ba59dd3a-ce01d749})
Siehe [alle unterstützten Funktionen](/manual/appendix/functions).

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