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.

Install-Module Influx

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.

$InfluxDB = "http://<IP>:8086"
$username = "<Username>"
$password = "<Password>" | ConvertTo-SecureString -asPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential($username,$password)

$ValuesList = Get-counter -Counter "\arbeitsspeicher\zugesicherte verwendete bytes (%)","\prozessor(_total)\prozessorzeit (%)"
$MemoryActive = [math]::Round($ValuesList.CounterSamples[0].CookedValue,3)
$ProcessorActive = [math]::Round($ValuesList.CounterSamples[1].CookedValue,2)

$metrics = @{
    "cpu active" = $ProcessorActive
    "Used RAM in percent" = $MemoryActive
}

Write-Influx -Measure <Clientname> -Tags @{Server=$env:COMPUTERNAME} -Metrics $metrics -Database <DatenbankName> -Server $InfluxDB -Credential $Cred -Verbose

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.


Sie benötigten persönliche Unterstützung oder haben nicht die richtige Lösung für Ihr Problem gefunden?

Dieser Blog wird von mir, Jan Kappen, in seiner Freizeit betrieben, hier beschreibe ich Lösungen für Probleme aller Art oder technische Anleitungen mit Lösungsansätzen.

Die berufliche Unabhängigkeit

Ich bin seit Januar 2020 vollständig selbstständig und habe meine eigene Firma gegründet, die Building Networks mit Sitz in Winterberg im schönen Sauerland. Hier stehe ich als Dienstleister gerne für Anfragen, Support oder Projekte zur Verfügung.

Die Firma Building Networks bietet Ihnen:

  • Hilfe und Support per Telefon, Fernwartung oder persönlich vor Ort
  • Projekt-Unterstützung
  • Ausgezeichnete Kompetenz zu den Themen
    • Microsoft Hyper-V
    • Microsoft Failover Clustering & HA
    • Storage Spaces Direct (S2D) & Azure Stack HCI
    • Veeam Backup & Recovery
    • Microsoft Exchange
    • Microsoft Exchange Hybrid Infrastruktur
    • Microsoft Active Directory
    • Microsoft Office 365
    • Ubiquiti
    • 3CX VoIP PBX
    • Fortinet Network Security
    • Baramundi Software
    • ...

Ich freue mich über Ihren Kontakt, weitere Informationen finden Sie auf der Webseite meiner Firma unter Building-Networks.de

Jan

Jan Kappen arbeitet seit 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. Von September 2018 bis Dezember 2019 war Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. Im Januar 2020 hat er den Sprung in die Selbstständigkeit gewagt und ist seitdem Geschäftsführer der Firma Building Networks in Winterberg. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

2 Kommentare:

  1. Jan Kappen arbeitet sein 2005 in der IT.

    Mach aus sein -> seit.

Schreibe einen Kommentar

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