Einer der Sensoren mit speziellen Fähigkeiten wird "Formelsensor" (engl. "Sensor Factory") genannt. Mit Hilfe dieses Sensors können die Messungen von zwei oder mehreren Sensoren in einem einzigen, neuen Sensor zusammengefasst werden.

Einsatzmöglichkeiten umfassen z.B.:

  • Anzeigen zweier oder mehrerer Kanäle von einem oder mehreren Sensoren in einem Graph.
  • Addieren der Werte zweier oder mehrerer Kanäle von einem oder mehrerer Sensoren zu einem neuen Wert (oder Subtraktion, Multiplikation, Division von Werten).
  • Erstellen von Graphen mit einer oder mehreren Graphenzeilen und einer oder mehrerer horizontaler Linien an bestimmten vertikalen Positionen.

Im Bild sehen Sie den Graphen eines Formelsensors mit 4 Kanälen, welche Daten von vier verschiedenen Sensoren darstellen:

clip0126

Hier ein zweites Beispiel: Ein Formelsensor, welcher die Ergebnisse eines SNMP Sensors, eines WMI Sensors und zweier Packet Sniffer Sensoren für eine Datenlinie vergleicht. Bei 2 MBit/Sek. wird überdies eine horizontale Linie angezeigt.

clip0127

Der Formelsensor findet sich beim Erstellen neuer Sensoren im Untermenü "Benutzerdefinierte Sensoren".

Grundsyntax der Kanaldefinition

Das Verhalten eines Formelsensors wird im Textfeld "Kanaldefinition" festgelegt. Die Grundschreibweise/Syntax für eine derartige "Kanaldefinition" sieht folgendermaßen aus:

#<id>:<name>[<einheit>]
<formel>

Jeder Kanal erhält einen eigenen Abschnitt. Dieser beginnt mit dem # Zeichen. Hier ein Beispiel mit zwei Kanälen:

#1:Beispiel
Channel(1000,0)
#2:Antwortzeit[ms]
Channel(1001,1)

Dies sind die Parameter:

  • <id> muss eine eindeutige Zahl sein (1 oder höher).
  • <name> entspricht dem Namen des Kanals (wird in Graphen und Tabellen angezeigt).
  • [<einheit>] ist optional (z.B. Bytes). Falls hier nichts eingetragen wird, wird eine passende Einheit automatisch ausgewählt (empfohlene Einstellung).
  • <formel> beinhaltet die Formel zur Berechnung des Kanals.

Folgende Elemente dürfen in der Formel verwendet werden:

  • Grundrechenarten: + - * /
    Beispiel: 3 + 5 * 2
  • Klammern: ( )
    Beispiel: 3 * (2 + 6)
  • Vergleich: = (gleich) <> (nicht gleich) > (größer) < (kleiner) >= (größer oder gleich) <= (kleiner oder gleich). Wenn der Vergleich "wahr" ist, entspricht der Wert 1, ansonsten 0. Bei Differenzsensoren wird die Geschwindigkeit verglichen.
  • Funktionen: channel, min, max, avg, percent.

channel() Funktion

Die "channel()" Funktion gestattet es, die Daten von einem Kanal eines anderen Sensors zu lesen. Die Schreibweise/Syntax ist folgende:

channel(<SensorId>,<KanalId>)

 

  • Die SensorId wird in der Detailansicht zu einem Sensor angezeigt, und zwar im Reiter "Übersicht" hinter dem Sensornamen.
  • Die KanalID wird in der Detailansicht zu einem Sensor angezeigt, und zwar im Reiter "Kanäle" einzeln für jeden Kanal hinter dem Kanalnamen.

Beispiel: Lesen der Daten von mit der ID 2001, Kanal ID 2:

channel(2001,2)

Kanäle können "Pegel"- (engl. "gauge") Werte (z.B. Ping ms) oder "Delta"-Werte enthalten (z.B. Datenverkehr kbit/s). In einer Formel sind nicht alle Kombinationen erlaubt. Sie können einige Berechnungen nicht durchführen:

  • Sie können keinen Delta-Kanal mit einem Pegel-Kanal addieren/subtrahieren (und umgekehrt).
  • Sie können nicht zwei Delta-Kanäle multiplizieren.
  • Sie können keinen Delta-Kanal mit einem Pegel-Kanal vergleichen.
  • Sie können nicht den Kanal eines (anderen) Formelsensors in der Formel verwenden.

min() and max() Funktionen

Die Funktionen min() und max() errechnen das Minimum/Maximum zweier Werte. Die Schreibweise/Syntax ist folgende:

min(<a>,<b>)
max(<a>,<b>)

Werte für a und b sind entweder Zahlen oder channel() Funktionen. Als Beispiel:

min(10,5)
min(channel(2001,1),channel(2002,1))

Die erste Funktion gibt "5" zurück, die zweite gibt das Minimum für Kanal 1 der Sensoren mit den IDs 2001 und 2002 zurück.

avg() Funktion

avg() errechnet den Durchschnitt zweier Werte. Dies entspricht folgender Rechnung: (a+b) / 2. Die Schreibweise/Syntax ist folgende:

avg(<a>,<b>)

Beispiel:

avg(20,10)

Diese Funktion gibt "15" zurück.

percent() Funktion

Errechnet die prozentuale Größe eines Wertes (z.B. eines Kanals) im Vergleich zu einem festen Wert. Die Schreibweise/Syntax ist folgende:

percent(<source>,<maximum>[,<unit>])

"Source" entspricht dem Wert, für den der Prozentwert errechnet werden soll. Dies ist normalerweise eine channel() Funktion. "Maximum" ist der für die Prozentrechnung benutzte Grenzwert. Dieser Wert wird mit dem "Maximum"-Wert multipliziert. "Unit" ist optional und entspricht der Einheit, in welcher "Maximum" angegeben wird. Sie können bei dieser Funktion Konstanten (Liste siehe unten) verwenden, sowohl bei Pegel- (z.B. Ping) als auch bei Delta-Sensoren (z.B. Datenverkehrssensoren).

Das folgende Beispiel zeigt, wie ein Datenverkehrssensor den Prozentwert der maximalen Bandbreite anzeigt (100 Kilobit/Sekunde):

#1:Usage IN
percent(channel(2001,0),100,kilobit)
#2:Usage OUT
percent(channel(2001,1),100,kilobit)

Das nächste Beispiel zeigt, wie die Werte eines Sensors als Prozentwert von 200 ms angezeigt werden können:

#1:Ping %
percent(channel(2002,0),200)

Horizontale Linien

Sie können dem Graphen auch durch den Einsatz einer Formel ohne channel() Funktion Linien hinzufügen. In diesem Falle müssen Sie die Einheit der Achse, für welche die Linie verwendet wird, festlegen. Sie können hier Konstanten verwenden. Beispiele:

#1:Line at 100ms [ms]
100
#2:Line at 50 kbit [kbit/s]
50
#3:2 Mbit/s [kbit/s]
2000

Konstanten

Folgende Konstanten sind definiert und können für die Berechnungen verwendet werden:

  • eins = 1
  • kilo = 1000
  • mega = 1000 * kilo
  • giga = 1000 * mega
  • tera = 1000 * giga
  • byte = 1
  • kilobyte = 1024
  • megabyte = 1024 * kilobyte
  • gigabyte = 1024 * megabyte
  • terabyte = 1024 * gigabyte
  • bit = 1/8
  • kilobit = kilo / 8
  • megabit = mega / 8
  • gigabit = giga / 8
  • terabit = tera / 8

Kanaleinstellungen

Farbe, Linienstärke, Grenzwerte für Warnungen/Fehler etc. können im Reiter "Kanäle" nach dem Erstellen eines Sensors bearbeitet werden. Diese Vorgehensweise ist für alle Sensoren gleich. Sie können auch Trigger benutzen, auf welche hin Benachrichtigungen ausgelöst werden. Siehe Abschnitt Edit Sensor and Channel Settings für weitere Informationen

Tipps und Informationen

  • Die Daten werden immer direkt unter Verwendung der historischen Sensordaten (soweit verfügbar) errechnet.
  • Die Anzeige von Live-Daten von Formelsensoren kann sich verzögern, denn es muss gewartet werden, bis Daten aller verwendeten Kanäle vorliegen.
  • Sie können zum Erstellen eines neuen Kanals Kanäle von Sensoren mit verschiedenen Überwachungsintervallen nutzen, es wird jedoch empfohlen, dasselbe Intervall für den Quellsensor und den Formelsensor zu verwenden.
  • Es gibt keine Verfügbarkeits-/Ausfallzeitberechnung für Formelsensoren.
  • Die Abdeckung eines Formelsensors wird von der Minimalabdeckung aller Kanäle dieses Formelsensor festgelegt.
  • Die Abdeckung eines Formelsensorkanals ist die gewichtete Durchschnittsabdeckung der Sensoren, die für die Berechnung benutzt werden.
  • Der Kanal eines Formelsensors für die Überwachung der Ausfallzeit wird durch die durchschnittlichen Ausfallzeit aller benutzten Kanäle festgelegt.


Copyright © 1998 - 2012 Paessler AG