Grafana, InfluxDB und Windows PowerShell – Teil 4

Nachdem wir nun die Basis zur Speicherung von Daten geschaffen haben, können wir nun mit dem Einspielen von Daten beginnen. Da ich im ersten Schritt die Verteilung der Windows-Client-Versionen im WSUS auslesen möchte, brauche ich natürlich ein Windows-System. Ob es ein Server oder ein Client-OS ist zählt erstmal nicht. Wichtig ist nur, dass der Client bzw. Server recht aktuell ist. Ich beginne mit meinem Windows 10 zum Test der Verbindung.

Die Installation des benötigten PowerShell-Modules

Das einspielen von Werten in die InfluxDB per Windows PowerShell funktioniert mit einem Modul, was frei zur Verfügung steht und aus dem Modul-Katalog heruntergeladen werden kann.

Informationen zum Modul selbst inkl. einiger Screenshots gibt es hier: Github.com: PowerShell-Influx

Die Installation des Moduls kann in der PowerShell durchgeführt werden mit.

Wie bei der PowerShell üblich, werden hierzu administrative Rechte benötigt. Eine Alternative dazu wäre die Installation im Scope des Users, allerdings ist es dann teilweise nicht möglich, das Modul im Rechte-Level von einem anderen Benutzer zu benutzen.

Die ersten Daten in die Influx-Datenbank einspielen

Um nun die Verbindung zur Influx-Datenbank zu testen, können die folgenden paar Zeilen verwendet werden.

Die paar Zeilen PowerShell machen die folgenden Dinge:

  • Zeile 1 definiert den Datenbank-Server
  • Zeile 2 und 3 sind Benutzername und Kennwort der Datenbank (dies könnte auch manuell eingegeben werden, damit die Daten nicht im Plaintext im Skript stehen)
  • Zeile 4 baut die Credentials so zusammen, dass sie in dem Skript nutzbar sind
  • Zeile 6 holt sich die Werte für die CPU-Auslastung und den verwendeten Speicher
  • Zeile 7 und 8 speichern den reinen Wert (z.B. 41,52 für die prozentuale CPU-Auslastung)
  • Zeile 10 bis 13 schreibt diese Werte in ein Array und definiert dafür den Namen, der später in Grafana als Datenquellwert angewählt werden kann (z.B. cpu active).
  • Zeile 15 schreibt die beiden Werte in die InfluxDB

Wichtig bei der Arbeit mit Grafana und InfluxDB ist, dass immer einzelne Werte gesammelt und dann in die Datenbank geschrieben werden. Die Anzahl der Messpunkte hängt davon ab, was sinnvoll ist und wie schnell und häufig sich ein Wert ändert. Manchmal reicht ein Messwert in fünf Minuten, manchmal müssen es hunderte pro Sekunde sein. Das hängt ganz allein davon ab, was gemessen wird und welche Informationen benötigt werden.

Der erste Aufruf

Läuft alles glatt, sieht der erste Aufruf von dem kleinen Skript wie folgt aus:

Die beiden Werte wurden gesammelt und erfolgreich an die Datenbank übermittelt. Gibt es an dieser Stelle eine Fehlermeldung, sollten die Zugangsdaten sowie die Namen und IPs überprüft werden. Stehen die Geräte nicht im gleichen Subnetz, könnte auch eine Firewall das Problem sein.
Wir haben nun einen einzigen Punkt in der Datenbank. Sollen mehr Werte hinzugefügt werden, kann das Skript problemlos weitere Male ausgeführt werden. Jeder Aufruf erzeugt einen weiteren Messpunkt und Eintrag in der Datenbank. Wie genau das aussieht, sehen wir bei der Erstellung von einem Dashboard.

Fazit

Wir haben nun die ersten Daten in unserer Datenbank gespeichert, im nächsten Teil schauen wir uns einmal an, wie wir diese Daten abrufen können und ein eigenes kleines Dashboard erstellen können.

Jan

Jan Kappen arbeitet sein 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Seit September 2018 ist Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.