ControlUp Monitor (auch bekannt als "der Monitor") spielt eine Schlüsselrolle bei der Überwachung Ihrer Datenquellen, wie virtuelle Maschinen, Hypervisor-Verbindungen oder virtuelle Desktop-Infrastrukturen. Der Monitor fungiert außerdem als Authentifizierungs-Gateway für Solve und Insights, unsere webbasierte grafische Oberfläche, die Echtzeit- und historische Daten darstellt. Der Monitor sammelt dann Metadaten aus Ihrer virtuellen Infrastruktur oder Daten, wie Zustandsstatistiken, Nutzungsmetriken und Ereignisse, von den Monitoren selbst.
Vor ControlUp for VDI v8.6.5 war der Monitor ein geschlossenes Ökosystem ohne API-Zugriff auf die erfassten Daten. Sie benötigten eine grafische Benutzeroberfläche - wie die Real-Time Console oder Solve - um Daten von überwachten Ressourcen abzurufen. Wir haben nun den Prozess des programmatischen Abrufs von Daten vereinfacht und in Version 8.6.5 neue CMDLETs eingeführt, mit denen Sie diese umfangreichen Daten direkt von den Monitoren abrufen können.
Mit der Veröffentlichung von ControlUp für VDI Version 8.6.5 wurden dem Modul ControlUp.PowerShell.User drei neue Cmdlets hinzugefügt. Diese CMDLETs sind Invoke-CUQuery, Export-CUQuery, und Get-CUVendorVMs. Sie können mehr darüber lesen wie das Cmdlet Invoke-CUQuery zu verwenden ist in der Dokumentation. In unserer Knowledge Base finden Sie detaillierte Informationen und Anleitungen zu den verschiedenen Monitor Cluster PowerShell Cmdlets. Sie können die neuen PowerShell-CMDLETs auch in Aktion mit InfluxDB sehen unter dieses Demo-Video:
Nichts kann Ihnen die gute Laune an einem sonnigen Tag verderben, oder? Nichts, außer wenn Sie einen Anruf von Ihrem CIO erhalten, der Sie darüber informiert, dass für eine virtuelle Maschine, die für den Erfolg des Unternehmens entscheidend ist, keine historischen Daten verfügbar sind. Ihr erster Gedanke ist: "Oh, [EXPLETIV]!" Wie konnten Sie diese Datenlücke übersehen? Warum haben Sie keine Warnungen darüber erhalten?
ControlUp kann bei diesem Problem in vielerlei Hinsicht helfen! Nehmen wir an, Sie haben, wie in diesem Fall mit Ihrem CIO, keine Warnmeldungen erhalten. Sie können die Datenlücke aus dem Einblicke Bericht, wie in der Abbildung unten gezeigt, und identifizieren Sie sofort die Monitore, die seit zwei Tagen keine Daten gesendet haben.

Höchstwahrscheinlich gibt es ein Problem mit der Verbindung zwischen dem ControlUp Agent auf der VM und dem Monitor. Die Identifizierung des dieser VM zugewiesenen Monitors ist der erste Schritt zur Behebung des Problems. In einer großen Umgebung kann es einige Zeit dauern, diesen Monitor zu finden. Glücklicherweise macht ControlUp es einfach, das Problem zu identifizieren und zu beheben. In diesem Fall enthält unsere Umgebung nur vier Monitore und Sie können den Monitor finden, indem Sie auf die Liste der Datenquellen klicken (siehe Screenshot unten):

Wenn Sie auf die einzelnen Datenquellen klicken und nach Rechnername sortieren, wird das Problem mit dem Rechner angezeigt. Sie können mehr über diesen Fehler erfahren, indem Sie die Spalte Letzter Fehler anzeigen. In diesem Fall sehen Sie einen Verbindungsfehler mit dem Agenten. Wie im Screenshot unten zu sehen ist, kann der Monitor keine Verbindung mit dem Agenten herstellen, der auf win10-64b-cpu.controlUp.demo läuft:

Das ist großartig! Sie haben das Problem gefunden und können es leicht beheben. Aber halt! Wie viel Zeit hat es gekostet, um herauszufinden, was hier eigentlich los ist?
Das Öffnen der Konsole dauerte etwa eine Minute, und die Identifizierung des mit dieser VM verbundenen Monitors dauerte etwa eine Minute. Im günstigsten Fall brauchten wir nur zwei Minuten, um den Fehler zu erkennen, und das bei nur einer Maschine! Stellen Sie sich vor, Sie müssten das Gleiche für mehrere virtuelle Maschinen tun.
Hier ist der Punkt: Nutzen Sie effizientere Möglichkeiten zum Abrufen relevanter Informationen! Können die neuen Monitor Cluster CMDLETs in dieser Situation hilfreich sein? Auf jeden Fall, und wir zeigen Ihnen, wie.
Anstatt die Konsole zu öffnen oder sich durch mehrere Fenster und Pop-ups zu klicken, können (und sollten) Sie die neuen PowerShell CMDLETs verwenden. Hier erfahren Sie, wie Sie dies mit PowerShell tun:
$pathtomodule = (Get-ChildItem "C:\Program Files\Smart-X\ControlUpMonitor\*ControlUp.PowerShell.User.dll" -Recurse | Sort-Object LastWriteTime -Descending)[0] Importieren - Modul $pathtomodul
(Invoke-CUQuery -Table "Computers" -Fields *).data `
| Select-Object FQDN, ConnectionError | Where-Object {$_.FQDN -eq 'win10-64b-gpu.controlup.demo'}Sie können sehen, dass wir den FQDN des Rechners in der Datei Wo-Objekt blockieren. In weniger als einer Sekunde wird der VerbindungsFehler der Maschine wird in der Ausgabe angezeigt.
Sie können sehen, dass wir den FQDN des Rechners in der Datei Wo-Objekt blockieren. In weniger als einer Sekunde wird der VerbindungsFehler der Maschine wird in der Ausgabe angezeigt.

Wie Sie sehen, ist der CMDLET intuitiv und benutzerfreundlich. Wenn Sie mehr mit ihnen arbeiten, müssen Sie die Codeschnipsel wiederverwenden.
Wenn Sie ein fortgeschrittener PowerShell-Benutzer sind, können Sie Ihre eigenen Funktionen schreiben, um Ihr Skript interaktiver zu gestalten. Funktionen erhöhen die Benutzerfreundlichkeit erheblich und machen die Arbeit mit PowerShell viel einfacher. Anstatt Code immer wieder neu zu schreiben, können Sie sich auf die Erstellung wiederverwendbarer Funktionen konzentrieren. Bevor Sie sich hinsetzen und mit der Codierung beginnen, nehmen Sie sich ein paar Minuten Zeit, um über das Design nachzudenken und sich zu fragen, ob eine Funktion der beste Weg ist, um Ihr Ziel zu erreichen. Funktionen sollten in erster Linie einem einzigen Zweck dienen, nämlich der Durchführung einer einzigen Aktion.
In diesem Beispiel verwenden wir einen häufigen Anwendungsfall: Abfrage aller Maschinen nach einem bestimmten VM-Stromversorgungsstatus. Wir wollen uns auf zwei mögliche Zustände konzentrieren: "EIN" und "AUS". Nebenbei bemerkt, gibt es je nach Art der Infrastruktur noch andere Energiezustände (d.h. CVAD, vSphere oder VMware Horizon). Halten wir die Dinge einfach, indem wir Maschinen filtern, die entweder eingeschaltet sind auf oder aus.
function Get-MachinesWithPowerState {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[ValidateSet('On', 'Off')]
[string[]]$PowerState
)
(Invoke-CUQuery -Scheme Main -Table Computers -Fields * -Where "vmPowerState LIKE '$($PowerState)'").Data | `
Select-Object @{Name = 'Maschinenname'; Ausdruck = 'sName' }, @{Name = 'Power State'; Ausdruck = 'vmPowerState' }
}
Führen Sie den folgenden Befehl aus, um eine Liste aller eingeschalteten Rechner zu erhalten:
Get-MachinesWithPowerState -PowerState On
Das Ergebnis sieht dann so aus:

Sie können sehen, wie die Cmdlets es Ihnen erleichtern, Informationen zu finden und benutzerdefinierte Skripte zu erstellen, um Informationen innerhalb von Sekunden abzurufen. In diesem Artikel haben wir gezeigt, wie Sie das CMDLET Invoke-CUQuery einfach und effizient verwenden können.
Unter den folgenden Links finden Sie weitere Informationen zu bestimmten Themen im Zusammenhang mit diesem Blog:
Außerdem haben wir gerade die Veröffentlichung von Real-Time DX v8.6.5die neben diesen neuen PowerShell CMDLETs auch Skript- und Trigger-Verbesserungen, neue PVS-Metriken, neue Integrationen von Drittanbietern und vieles mehr enthält!
Wollen Sie das alles in Aktion sehen? Melden Sie sich für unser Webinar am Mittwoch, den 8. Juni, an. Dort erfahren Sie alles über die Aktualisierungen von Real-Time DX und können sich die neuen Funktionen live ansehen. Mitmachen!