Grafana Dashboard für vCloud Director

Einer der Punkte auf meiner Bucket List für 2018 war endlich etwas mehr über Grafana zu lernen. Da ich persönlich bei konkreteren Projekten am meisten lerne, habe ich beschlossen ein Grafana Dashboard für vCloud Director zu erstellen. Wie auch schon bei meinem vCloud Director Tenant HTML Report sollte das Dashboard aus Tenant Sicht funktionieren, also als Org Admin. Als weitere Zielsetzung habe ich mit Ubuntu als Plattform gesteckt und es sollten keine externen Ressourcen außer natürlich der vCloud Director selbst genutzt werden.

Top vBlog 2018 Voting

Take the survey to cast your ballot and reward the best bloggers for their hard work and dedication by letting them know that you appreciate them.

Mit dieser list hab ich also begonnen nach den richtigen Tools zu recherchieren. Sehr schnell bin ich bei InfluxDB als Data Source für Grafana und Telegraf als Collector Agent gelandet. Telegraf benutzt Input Plugins um Daten zu sammeln, ein sehr spannenden davon ist das Exec Input Plugin. Telegraf führt mit diesem Plugin Skripte aller Art aus und greift die Ausgabe (in verschiedenen Formaten) als Metriken ab. Mit der PowerShell Core Multi-Plattform Unterstützung kann das natürlich auch ein PowerShell Sktipt sein, was mir sehr entgegen kommt.

Ablauf der Erfassung:

  1. PowerShell Skript sammelt über die vCloud Director RESTful API die Metriken und Tags
  2. Telegraf greift die Ausgabe des Skripts ab
  3. Telegraf sendet die Metriken und Tags an InfluxDB
  4. Das Grafana Dashboard nutzt die Metriken und Tags aus InfluxDB

Jorge de la Cruz hat ein sehr schönes Diagramm zum Ablauf der Datenerfassung mit Grafana in seinem Blog Post erstellt: Looking for the Perfect Dashboard: InfluxDB, Telegraf and Grafana – Part VIII (Monitoring Veeam using Veeam Enterprise Manager)

Backend des Grafana Dashboard für vCloud Director

Ich möchte hier eine kurze Zusammenfassung über die Installation der notwendigen Tools auf meinem Ubuntu 16.04 geben.

InfluxDB

Repository hinzufügen:

InfluxDB Installation:

Starten und aktivieren des Service:

InfluxDB Benutzer und Datenbank erstellen:

Zuerst muss auf die InfluxDB Shell gewechselt werden: influx

Grafana Dashboard für vCloud Director - Create User and DB

Verbindung Konfigurieren:

Verbindungsdetails müssen in der influxdb.conf angepasst werden:  sudo vi /etc/influxdb/influxdb.conf

Grafana Dashboard für vCloud Director - Configure Connection

Service neu starten:

Telegraf

Telegraf and Abhängigkeiten installieren:

Alle MIBs aktivieren:

Dafür muss die snmp.conf angepasst werden:  sudo vi /etc/snmp/snmp.conf

Ausgabe konfigurieren:

Die Ausgabeeinstellungen in der telegraf.conf müssen an die vorgenommenen InfluxDB Einstellungen angepasst werden:  sudo vi /etc/telegraf/telegraf.conf

Grafana Dashboard für vCloud Director - Configure output

Grafana

Repository hinzufügen:

Grafana installieren:

Nach der erfolgreichen Installation kann auf das Grafana Interface zugegriffen werden (http://<Yout IP>:3000) und InfluxDB muss zu allererst als Datenquelle hinzugefügt werden:

Grafana Dashboard für vCloud Director - Configure InfluxDB Data Source

Grafana Dashboard für vCloud Director - Configure InfluxDB Data Source Details

PowerShell

Repository hinzufügen:

PowerShell installieren:

Konfiguration des Grafana Dashboard für vCloud Director

Telegraf

Für die notwendigen Datenerfassung einfach diese Sektion an die telegraf.conf anhängen (Skript muss natürlich auch vorhanden sein):  sudo vi /etc/telegraf/telegraf.conf

PowerShell Script

Um das Skript erfolgreich auszuführen muss zusätzlich die json Konfiguration, passend zur Umgebung, abgelegt werden. Beide Files (Konfiguration nur als Beispiel) sind in meinem  GitHub Repository Grafana-Telegraf-vCloud-PsCore enthalten. Ich nutze bei mir einfach GIT um das Skript zwischen meiner Workstation und dem Grafana Server zu synchronisieren: Initial das Repository Klonen   git clone https://github.com/mycloudrevolution/Grafana-Telegraf-vCloud-PsCore.git und wenn nötig die lokalen Files aktualisieren  git pull

Die json Konfiguration beinhaltet den FQDN der vCloud Director Instanz und den Base64 Hash des Benutzernamens und des Passwortes.

Note:

Die Klartext-Syntax des Benutzernamens muss so aussehen: <User>@<Org>

Der Base64 Hash kann mit diesem simplen PowerShell Skript erzeugt werden:

Details des Grafana Dashboard für vCloud Director

Das Grafana Dashboard für vCloud Director hat aktuell vier kategorien, Summary, OrgVdc Usage, vApp Usage and Org Network / Edge Gateway Usage.

Summary

Der Abschnitt Summary zeigt die wichtigsten Statistiken auf einen Blick.

Grafana Dashboard für vCloud Director - Dashboard Summary

OrgVdc Usage

In diesem Abschnitt wird die Ressourcennutzung je OrgVdc visualisiert.

Grafana Dashboard für vCloud Director - Dashboard OrgVdc

vApp Usage

Der vApp Abschnitt unterscheidet zwischen ein- und ausgeschalteten Systemen. Für eingeschaltete wird  CPU und RAM Nutzung angezeigt und für ausgeschaltete nur Storage Nutzung.

Grafana Dashboard für vCloud Director - Dashboard vApp

Org Network and Edge Gateway Usage

Für Org Networks zeigt dieser Abschnitt die Anzahl der genutzten IP‘ s sowie für Edge Gateway die anzahl der verbundenen Netze an.

Grafana Dashboard für vCloud Director - Dashboard Org Net and Edge Gateway

 

Leave a Reply