Um den Anwendungsbetreuern jederzeit einen Überblick über Ihre Systeme zu gewähren, habe ich in VMware vRealize Operations ein Application Dashboard für die kritischen Anwendungen erstellt.
Die Anwendungen um die es hierbei primär geht bestehen mindestens aus drei VMware vSphere VMs.
Die Nutzer der Dashboards sollen über folgendes einen Überblick bekommen:
- Welche Systeme gehören zu der Anwendung
- Wie ist die Topologie der zugehörigen VMs
- Welche Abhängigkeiten haben die einzelnen VMs
- Health Level der wichtigen Parameter der einzelnen VMs
- Aktuelle und Vergangene Metriken der wichtigen Parameter der einzelnen VMs
Mein Application Dashboard
Erstellung des Application Dashboard
Custom Group
Der erste Schritt ist das erzeugen einer Custom Group für die Applikation.
! Wichtig ! Nur VMware vSphere VMs der Gruppe hinzufügen (keine ESXi Hosts oder Datastores)
Metric Config
Wir benötigen als Vorbereitung noch eine Metric Config. Diese legt dann in den Widgets die wichtigen Metriken der einzelnen VMs fest.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AdapterKinds> <AdapterKind adapterKindKey="VMWARE"> <ResourceKind resourceKindKey="VirtualMachine"> <Metric attrkey="cpu|demandPct" label="CPU Demand" unit="%"/> <Metric attrkey="cpu|usage_average" label="CPU Usage" unit="%"/> <Metric attrkey="mem|active_average" label="Guest Active Mem" unit="mb"/> <Metric attrkey="mem|usage_average" label="Mem Usage" unit="GB"/> <Metric attrkey="guestfilesystem|freespace_total" label="Guest Free Sapce" unit="gb"/> <Metric attrkey="net|usage_average" label="Average Network Throughput" unit="KBps"/> <Metric attrkey="net|droppedRx_summation" label="Net Dropped Rx" unit="#"/> <Metric attrkey="net|droppedTx_summation" label="Net Dropped Tx" unit="#"/> <Metric attrkey="virtualDisk|read_average" label="Disk Read Rate" unit="KBps"/> <Metric attrkey="virtualDisk|write_average" label="Disk Write Rate" unit="KBps"/> <Metric attrkey="virtualDisk:Aggregate of all instances|commandsAveraged_average" label="Disk Total IO Average" unit="#"/> <Metric attrkey="Super Metric|sm_de9e1091-9b8b-42ce-9fc9-8af8a1daa508" label="Uptime (days)" unit="days"/> </ResourceKind> </AdapterKind> </AdapterKinds>
Super Metric
In dem XML wird auf eine Super Metric mir der ID sm_de9e1091-9b8b-42ce-9fc9-8af8a1daa508 verwiesen. Diese Metric zeigt die Uptime des Gastes in Tage an und muss noch manuell erzeigt werden.
Die Formel der Super Metric:
${this, metric=sys|osUptime_latest}/86400
Wie man an die ID der neuen „Super Metric“ herankommt ist in dem VMware Guide Super Metrics and XML Editing beschrieben.
! Wichtig ! Natürlich dann die ID aus der eigenen API durch die in meiner Beispiel-XML (sm_de9e1091-9b8b-42ce-9fc9-8af8a1daa508) austauschen
Custom Dashboard
Nun kommen wir endlich zu unserem eigentlichen Custom Dashboard.
Folgende Widgets habe ich dem Dashboard hinzugefügt:
- Object List Widget
- Object Relationship Widget
- Topology Graph Widget
- Scoreboard Widget
- Property List Widget
- Metric Chart Widget
Object List Widget
Für das Widget wählen wir die vorher erstellte Applikations-Gruppe.
Object Relationship Widget
Bitte keine Elemente in dem Widget auswählen, diese werden später über die Interaktionen festgelegt.
Topology Graph Widget
Die Objekte werden ebenfalls später über die Interaktionen festgelegt.
Scoreboard Widget
In diesem Widget verwenden wir nun die neu erstellte Metrik Konfiguration „Application“.
Property List Widget
In diesem Widget ebenfalls die Metrik Konfiguration „Application“ wählen.
Metric Chart Widget
Und auch das letzte Widget benötigt wieder unsere Metrik Konfiguration „Application“.
Widget Interactions
Über die Widget Interactions legen wir zum Schluss noch die Datenquellen der Widgets fest.
Weitere Quellen
Bei meinen Recherchen zu dem Thema bin ich auf den großartigen Artikel von Scott Norris gestoßen. Hier auch unbedingt mal reinschauen, wenn man ein solches Dashboard für sich erzeugen möchte.