Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

Die nächste Ausbau Stufe zum Artikel (klick hier) ist die Integration einer zentralen Datenbank.
Dabei bin ich auf die Influx DB als OpenSource Datenbank aufmerksam geworden.
Im Zusammenhang mit der Grafana Oberfläche wird aus den beiden Komponenten schnell eine
zentrale Überwachungsmöglichkeit die alles bietet.


Die beiden Pakete müssen einzeln bei den Herstellern heruntergeladen werden:

und können danach ohne Installation gestartet werden. Die beiden Applikationen laufen als http Endpunkte 
und können über Web-Oberflächen angesprochen werden. Für die Influx DB gibt es auch eine schnelle 
Kommandozeile. Letztendlich ist die Influx DB eine Datenbank die extra für Telemetriedaten entworfen wurde 
und SQL Statements unwahrscheinlich sind, es beschränkt sich hier auf Create und Drop Database. 
Tabellen werden automatisch erstellt sobald ein neuer Telemetriedatensatz übertragen wird und es das Objekt noch nicht gibt.

Falls die Config der beiden Applikationen geändert werden sollen – dann kann dies in Konfigurationsdateien
durchgeführt werden, beispielsweise der http Port. 

Wie in dem Artikel zuvor beschrieben kann auf der .NET Seite alles
gleich bleiben, ausser dass ein zusätzliches nuGet Paket  Metrics.NET.InfluxDB installiert werden muss.
Nach der Installation des Pakets wird die Connection zur Influx konfiguriert, dazu hat das neue Paket
eine Extension eingeführt und die WithInfluxDbHttp Methode muss aufgerufen werden.


tracelogger.Log("INFLUX config" );
.WithReporting(report => report
.WithInfluxDbHttp("server", 1111, "meineDatenbank", TimeSpan.FromSeconds(3), null, c => c
.WithFormatter(new DefaultFormatter().WithLowercase(true))
.WithWriter(new InfluxdbHttpWriter(c, 1000))))
.WithAllCounters();
tracelogger.Log("INFLUX config done");

Das ist dann schon alles und die Metrics werden automatisch in die Datenbank geladen.
Die Datenströme verlaufen von der Anwendung über Metrics.NET in die InfluxDB und können dort über
Grafana abgerufen werden.

metrics

Die Oberfläche von Grafana ist einfach gestaltet, als Administrator können zusätzliche Plugins wie Landkarten
oder Gauges installiert werden, ansonsten ist Grafana sehr mächtig, da die Abfragen aus SQLs bestehen
können hier sehr schnell eigene Elemente erstellt werden.

 metrics04

Es können auch Fehler Events festgelegt werden wenn beispielsweise Werte überschritten werden, dann können
Emails ausgesteuert werden bzw. zeigt die Oberfläche dies auch dann entsprechend an.

metrics05