Ziel diese Blog-Artikels ist es ein Power BI Dashboard zu bauen, dass folgende Fragen beantwortet:

  1. Wie viele User sind aktuell eingeloggt und wer ist es?
  2. Wie viele User waren zu einem bestimmten Zeitpunkt eingeloggt und wer genau?
  3. Wie lange war User X im Februar eingeloggt?
  4. Wie lange hat die durchschnittliche VPN-Session gedauert.

Auslesen der VPN Informationen

Zentraler Punkt für dieses Dashboard ist die Powershell Funktion, die die aktuellen Remote Access Connections ausliest.

Ablauf

Das Gesamtkonzept sieht vor, dass am VPN Server ein Powershell Script ausgeführt wird (VPN_Monitoring.ps1), dass mittels Task Scheduler alle 5min ausgeführt wird und die aktuellen VPN-Verbindungen ermittelt. Die ermittelten Verbindungen werden mittels Schleife an eine Stored Procedure (sp_VPN_InsertVPNConnectionData) übergeben. Diese speichert die Daten in der Tabelle dbo.VPN_ConnectionData. Diese Tabelle enthält alle Verbindungen mit den letzten Metadaten der Verbindung (zB Datendurchsatz usw.) Aus dieser Tabelle kann man nicht ermitteln, wieviel Traffic an einer bestimmten Uhrzeit durch eine bestimmten User angefallen ist, sondern nur den Gesamt-Traffic der Verbindung.

In einer weitere Stored Procedure „sp_VPN_Connection“ wird in 5 min Takt gespeichert. Diese Stored Procedure wird auch über das Powershell Script aufgerufen, jedoch nicht in der Schleife, sondern nach Beendigung der Schleife.

Quelltext – Lösung

Die Lösung selbst findet man bei GitHub

Das Dashboard

Eine kurze Vorschau des Dashboards. Gut es ist nicht schön, aber es beantwortet alle Fragen.