14 Berechneter Datenpunkt
Übersicht
Mit einem berechneten Datenpunkt können Sie eine Berechnung auf Grundlage der Werte vorhandener Datenpunkte erstellen. Beispielsweise können Sie den stündlichen Durchschnitt eines Datenpunktwerts oder den Gesamtwert einer Gruppe von Datenpunkten berechnen. Dafür werden berechnete Datenpunkte verwendet.
Berechnungen können Folgendes verwenden:
- einzelne Werte einzelner Datenpunkte
- einen komplexen Filter zur Auswahl mehrerer Datenpunkte für eine Aggregation (siehe Aggregatberechnungen für weitere Informationen)
Berechnete Datenpunkte ermöglichen das Erstellen virtueller Datenquellen. Alle Berechnungen werden ausschließlich vom Zabbix Server durchgeführt und von den Prozessen des history poller verarbeitet. Die Werte werden regelmäßig auf Grundlage des verwendeten Ausdrucks berechnet.
Beachten Sie, dass berechnete Datenpunkte auf die Historie anderer Datenpunkte zugreifen können, einschließlich Datenpunkten, auf die der Benutzer, der den berechneten Datenpunkt erstellt, keinen Zugriff hat. Wenn dieses Verhalten nicht gewünscht ist, können Sie berechnete Datenpunkte deaktivieren, indem Sie den Konfigurationsparameter StartHistoryPollers auf 0 setzen.
Die resultierenden Daten werden wie bei jedem anderen Datenpunkt in der Zabbix-Datenbank gespeichert. Sowohl Historien- als auch Trendwerte werden gespeichert, und Diagramme können erstellt werden.
Wenn das Berechnungsergebnis ein Gleitkommawert ist, wird es auf eine Ganzzahl gekürzt, wenn der Informationstyp des berechneten Datenpunkts Numerisch (vorzeichenlos) ist.
Wenn sich außerdem keine aktuellen Daten im Cache befinden und in der Funktion kein Abfragezeitraum definiert ist, geht Zabbix standardmäßig bis zu einer Woche in die Vergangenheit zurück, um historische Werte aus der Datenbank abzufragen.
Berechnete Datenpunkte verwenden dieselbe Syntax wie Ausdrücke von Auslösern. Der Vergleich mit Zeichenfolgen ist bei berechneten Datenpunkten zulässig. Berechnete Datenpunkte können wie jeder andere Datenpunkttyp von Makros oder anderen Entitäten referenziert werden.
Um berechnete Datenpunkte zu verwenden, wählen Sie den Datenpunkttyp Berechnet.
Konfigurierbare Felder
Der key ist ein eindeutiger Datenpunkt-Bezeichner (pro Host). Sie können jeden beliebigen key-Namen mit den unterstützten Symbolen erstellen.
Die Berechnungsdefinition sollte im Feld Formula eingetragen werden. Es besteht keine Verbindung zwischen der Formel und dem key. Die key-Parameter werden in der Formel in keiner Weise verwendet.
Die Syntax einer einfachen Formel lautet:
function(/host/key,<parameter1>,<parameter2>,...)
wobei:
| function | Eine der unterstützten Funktionen: last, min, max, avg, count usw. |
| host | Host des Datenpunkts, der für die Berechnung verwendet wird. Der aktuelle Host kann weggelassen werden (z. B. wie in function(//key,parameter,...)). |
| key | Key des Datenpunkts, der für die Berechnung verwendet wird. Datenpunkte, die Werte mit dem binären Datentyp zurückgeben, werden nicht unterstützt. |
| parameter(s) | Parameter der Funktion, falls erforderlich. Zeit-Suffixe und Speichergrößen-Suffixe werden unterstützt. |
Benutzermakros in der Formel werden erweitert, wenn sie verwendet werden, um einen Funktions- parameter, einen Datenpunktfilter-Parameter oder eine Konstante zu referenzieren. Benutzermakros werden NICHT erweitert, wenn sie eine Funktion, einen Hostnamen, einen Datenpunkt-Key, einen Datenpunkt-Key-Parameter oder einen Operator referenzieren.
Eine komplexere Formel kann eine Kombination aus Funktionen, Operatoren und Klammern verwenden. Sie können alle in Auslöser-Ausdrücken unterstützten Funktionen und Operatoren verwenden. Die Logik und die Operator- Priorität sind exakt dieselben.
Im Gegensatz zu Auslöser-Ausdrücken verarbeitet Zabbix berechnete Datenpunkte entsprechend dem Aktualisierungsintervall des Datenpunkts und nicht beim Empfang eines neuen Werts.
Alle Datenpunkte, auf die in der Formel des berechneten Datenpunkts durch History-Funktionen verwiesen wird, müssen vorhanden sein und Daten sammeln. Wenn Sie außerdem den Datenpunkt-Key eines referenzierten Datenpunkts ändern, müssen Sie alle Formeln, die diesen Key verwenden, manuell aktualisieren.
Ein berechneter Datenpunkt kann in mehreren Fällen nicht unterstützt werden:
- referenzierte(r) Datenpunkt(e)
- wurde(n) nicht gefunden
- ist deaktiviert
- gehört zu einem deaktivierten Host
- wird nicht unterstützt (außer mit der Funktion nodata() und Operatoren mit unbekannten Werten)
- keine Daten zur Berechnung einer Funktion
- Division durch Null
- falsche Syntax verwendet
Verwendungsbeispiele
Beispiel 1
Berechnung des prozentualen Anteils des freien Speicherplatzes auf '/'.
Verwendung der Funktion last:
100*last(//vfs.fs.size[/,free])/last(//vfs.fs.size[/,total])
Zabbix verwendet die neuesten Werte für freien und gesamten Speicherplatz und berechnet den Prozentsatz gemäß der angegebenen Formel.
Beispiel 2
Berechnung eines 10-Minuten-Durchschnitts der Anzahl der von Zabbix verarbeiteten Werte.
Verwendung der Funktion avg:
avg(/Zabbix Server/zabbix[wcache,values],10m)
Beachten Sie, dass die umfangreiche Verwendung von berechneten Datenpunkten mit langen Zeiträumen die Leistung des Zabbix Server beeinträchtigen kann.
Beispiel 3
Berechnung der gesamten Bandbreite auf eth0.
Summe von zwei Funktionen:
last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])
Beispiel 4
Berechnung des prozentualen Anteils des eingehenden Datenverkehrs.
Komplexerer Ausdruck:
100*last(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]))
Siehe auch: Beispiele für Aggregatberechnungen