Einleitung

Software zur Metrik Sammlung kommt eigentlich aus dem Bereich der Systemadministration, kann aber in vielen verschiedenen Bereichen zur Anwendung kommen.

Im Bereich der Hausautomation können wir diese Software verwenden um die Werte, die ein Sensor oder Akteur von sich aus aufzeichnet, über lange Zeiträume zu beobachten. Die meisten mitgelieferten Lösungen haben entweder nur eine geringe Auflösung, beispielsweise können wir nur minutengenau die Werte betrachten, oder länger zurückliege Datenpunkte werden aggregiert, so dass wir nur noch tageweise oder stundenweise auf die gesammelten Daten blicken können. 

Wer sich mehr wünscht muss auf eine professionellere Lösung zurückgreifen, was jedoch auch erhöhten Aufwand in den Gebieten der Einarbeitung und des Betriebs bedeutet.

Im Weiteren betrachten wir Software um Metriken zu Sammeln und eben welche, um Metriken zu visualisieren. Im letzen Kapitel betrachten wir noch Komponenten, die Benachrichtigungen und Alarme senden können, wenn sich Metriken nicht in den definierten Grenzen bewegen.

Die Komponenten

Wir greifen unsere Metriken nicht einfach aus der Luft sondern benötigen Software, die die Daten aus den Systemen, hier also homee, extrahiert. Nach der Extraktion werden die Daten entweder im Push- oder Pull-Verfahren an einen zentralen Speicherort weitergeleitet.

Wir betrachten hier drei Komponenten:

Der brain cube ist der kleine, weiße Würfel, auf dem das ganze homee System aufbaut. Dieser ist per WLAN im eigenen Netz erreichbar und durch eine undokumentierte API ansprechbar.

Der homee exporter ist eine Software, die sich mit dem homee verbindet und die Metriken aus dem brain cube ausliest. Diese Metriken werden dann per HTTP Schnittstelle in einem für Prometheus verarbeitbaren Format bereitgestellt. 

Auf die Installation und Konfiguration von Prometheus gehen wir in einem späteren Kapitel im Detail ein.

Mit Prometheus arbeiten wir standardmäßig immer im Pull-Verfahren, wobei die Kette der Anfragen durch die Pfeilrichtung im Bild oben angezeigt wird.

Prometheus

Prometheus ist eine Software, die von Freiwilligen entwickelt und kostenfrei zur Verfügung gestellt wird. 

homee Exporter

In der Terminologie von Prometheus heißen die Dienste, die Metriken bereitstellen, häufig "Exporter". Exporter gibt es für eine Reihe von Anwendungen, angefangen von Prometheus selbst, über Server Dienste wie Datenbanken, bis hin zu OpenWeatherMap. Eine Liste, die keinen Anspruch auf Vollständigkeit hegt, findet sich hier: https://prometheus.io/docs/instrumenting/exporters/. Der homee Exporter verbindet sich über die selbe Verbindung wie die homee Webseite zum brain cube und nutzt die selben Befehle um sich eine Liste aller im Netz verfügbaren Geräte zu beschaffen. Aus dieser Liste werden dann die aktuellen Werte extrahiert und für einen Abruf durch Prometheus bereitgestellt. Die Ausgabe sieht dann z. B. wie folgt aus:

# HELP current_energy Tracks the current energy level of a meter
# TYPE current_energy gauge
current_energy{node_id="21",attribute_id="237",name="Rollade Wohnzimmer Links",unit="W",} 0.0
current_energy{node_id="17",attribute_id="188",name="Rolladen Küche",unit="W",} 0.0
current_energy{node_id="22",attribute_id="250",name="Rollade Wohnzimmer Rechts ",unit="W",} 0.0
current_energy{node_id="16",attribute_id="175",name="Treppen",unit="W",} 0.0
current_energy{node_id="17",attribute_id="181",name="Rolladen Küche",unit="kWh",} 1.379
current_energy{node_id="22",attribute_id="243",name="Rollade Wohnzimmer Rechts ",unit="kWh",} 0.029
current_energy{node_id="18",attribute_id="192",name="Wallplug Küche Kühlschrank",unit="kWh",} 726.859
current_energy{node_id="18",attribute_id="195",name="Wallplug Küche Kühlschrank",unit="W",} 189.699
current_energy{node_id="16",attribute_id="172",name="Treppen",unit="kWh",} 9.27
current_energy{node_id="21",attribute_id="230",name="Rollade Wohnzimmer Links",unit="kWh",} 0.029
# HELP current_temperature Tracks the current state of a thermometer
# TYPE current_temperature gauge
current_temperature{node_id="1",attribute_id="17",name="Motion Sensor Küche",unit="°C",} 22.7
current_temperature{node_id="8",attribute_id="116",name="Dachterrasse",unit="°C",} 16.7
current_temperature{node_id="9",attribute_id="122",name="FRITZ!DECT Rep 100 #1",unit="°C",} 23.5
current_temperature{node_id="3",attribute_id="53",name="Motion Sensor Kinderschlafzimmer",unit="°C",} 18.899
current_temperature{node_id="4",attribute_id="71",name="Motion Sensor Office",unit="°C",} 19.6
current_temperature{node_id="7",attribute_id="110",name="xenji-home",unit="°C",} 22.7
current_temperature{node_id="5",attribute_id="89",name="Motion Sensor Flur Kinderzimmer",unit="°C",} 21.5
current_temperature{node_id="2",attribute_id="35",name="Motion Sensor Flur Schlafzimmer",unit="°C",} 22.6
current_temperature{node_id="6",attribute_id="107",name="Motion Sensor Wohnzimmer",unit="°C",} 20.799
current_temperature{node_id="11",attribute_id="147",name="Motion Sensor Vorratskeller",unit="°C",} 22.1
No Comments
Back to top