Rechnen mit Metriken – Derived Metrics in Foglight

Die Agenten in Foglight sammeln eine große Anzahl an Metriken, wie die CPU Utilization eines Hosts, die Memory Auslastung, die Anzahl der Ausführungen eines Statements usw.. Derived Metrics bieten die Möglichkeit, mit gesammelten Metriken zu rechnen und diese, z.B. in Reports, Regeln oder Dashboards zu verwenden. Ist es für einen Report beispielsweise gewünscht, den Wert für die durchschnittliche CPU Auslastung eines Hosts über die letzten 5 Monate darzustellen, kann dies bequem über eine Derived Metric geschehen. Es folgt ein einfaches Beispiel, um zu zeigen, wie eine Derived Metric erstellt wird. Die Aufgabenstellung lautet, die durchschnittliche CPU Auslastung eines Hosts in einer eigenen Metrik zu berechnen.

Die Derived Metrics findet man unter Administration/Data/Derived Metrics

Im angezeigten Dashboard kann nun über „Add“ eine Metrik erstellt werden.

Im folgenden Dialog kann nun der Name der Metrik, die Einheit der Metrik (in diesem Fall Prozent) und über „Add“ die gewünschte Kalkulation erstellt werden.

Jetzt müssen die folgenden Angaben gemacht werden:

Was soll der Trigger der Berechnung für die Metrik sein?
Data Driven        -> immer, wenn vom Agenten neue Daten gesammelt wurden (Normalfall)
Time Driven        -> abhängig  von einem festen Zeitintervall
Schedule Driven -> abhängig von einem in Foglight erstellten Schedule

Ähnlich wie beim Erstellen einer Regel, wird der Topology Type für den Scope übergeben. In unserem Fall HostCPUs.

 

Im Feld „Expression“ wird nun die eigentliche Berechnung eingetragen. In unserem Fall „return(avg(#utilization#))“, also die durchschnittliche Auslastung der CPU. Da der Topology Type auf HostCPUs gesetzt wurde, stehen alle zum Thema CPUs gesammelten Metriken aus Foglight zur Verfügung, so auch die Utilization der CPUs. Eine Liste der möglichen Metriken zeigt sich beim Ausklappen der Properties im selben Dialog. Das # Symbol ist ein syntaktisches Element in Foglight.

Über die Buttons „Test“ und „Validate“ kann die Berechnung getestet und die Syntax überprüft werden. Nachdem alles gespeichert ist, findet sich die selbst erstellte Derived Metric in der Liste.

Da der Topology Type „HostCPUs“ verwendet wurde, findet sich „DurchschnittsCPUAuslastung“ nach kurzer Zeit in den CPU-Metriken eines überwachten Hosts und kann in Regeln, Dashboards oder Reports verwendet werden.

Hier einige weitere Beispiele für die mögliche Syntax von Derived Metrics:

Bsp. 1:   #utilization from Memory where host.name = 'winoracle' for 5 hours#

  • Auslastung des Speichers auf dem Host „winoracle“ über 5 Stunden

Bsp. 2:   #utilization from HostCPUs where host.name like '%.quest.com' for 5 hours 2 days ago#

  • Auslastung der CPU auf den Hosts, deren Namen „quest.com“beinhalten, über 5 Stunden vor 2 Tagen

Bsp. 3:   avg(#utilization from Memory where host.name = 'winoracle' spanning 1.5 hours ending at 14:30 on 2010-07-15#)

  • Durchschnittliche Speicherauslastung auf dem Host “winoracle”, über 1,5 Stunden bis zum 15.07.2015 um 14:30 Uhr

Bsp. 4:   max(#utilization from HostCPUs where host.name = 'winoracle' spanning 1.5 hours starting at 14:30 1 day ago#)

  • Maximale CPU-Auslastung auf dem Host “winoracle”, über 1,5 Stunden beginnend um 14:30 vor einem Tag

 

Es können also bequem Zeitpunkte, Zeiträume und Filterbedingungen in die Berechnung eingefügt werden.

Neben den Grundrechenarten wie z.B. in „# diskBytesRead # + # diskBytesWritten #“ können u.A. folgende Ausdrücke und Operatoren verwendet werden:

  • Minutes, Hours, Days, Month und Year
  • avg, min, max, count, delta, sum, period, rate usw.
Anonymous