Zum Inhalt springen

VMware vSphere

Ein vCenter Server und die von ihm verwalteten Hosts oder ein eigenständiger ESXi-Host: Hosts, die nicht mehr antworten, im Wartungsmodus belassen wurden oder einen roten Zustand melden, virtuelle Maschinen und ihre VMware Tools, sich füllende oder unzugängliche Datastores und die von vSphere selbst ausgelösten Alarme.

DumbMonit liest vSphere mit einem dedizierten Benutzer mit der eingebauten Rolle Nur Lesen. Es schaltet nie eine VM ein oder aus, wechselt nie in den Wartungsmodus und bestätigt nie einen Alarm.

Der Fehler, auf den es ankommt: ein Datastore, der sich füllt. Erreicht ein Thin-provisioned Datastore 100 %, werden alle VMs, die darauf schreiben müssen, auf einmal angehalten. Die von vCenter ausgelösten Alarme sagen es auch, aber nur dem, der den Client geöffnet hat.

DumbMonit spricht die vSphere-Web-Services-API (SOAP, /sdk), nicht die REST-API (/api/vcenter/*): Ein eigenständiger ESXi-Host hat keine REST-API, und bei einem vCenter verrät die REST-API weder den Wartungsmodus, den Gesamtzustand (overallStatus), den Zustand der VMware Tools noch die ausgelösten Alarme. Eine Sicht auf das gesamte Inventar wird in einem Durchgang, Seite für Seite, gelesen und am Ende freigegeben.

Die Sitzung wird von einer Prüfung zur nächsten behalten und nur bei Ablauf neu geöffnet: vCenter protokolliert nicht jede Minute eine neue Anmeldung.

Alle Metriken haben das Präfix dumbmonit_vsphere_. Zustandswerte folgen dem overallStatus von vSphere: 0 grün, 1 gelb, 2 rot, 3 grau (unbekannt).

MetrikWasLabels
infoWert 1product (vcenter oder esxi), version, build
hostsHosts nach Verbindungszustand: connected, disconnected, notRespondingstate
host_connection_state0 verbunden, 1 von einem Administrator getrennt, 2 antwortet nichtesxi
host_power_state0 eingeschaltet, 1 Standby, 2 ausgeschaltet, 3 unbekanntesxi
host_maintenance1 im Wartungsmodusesxi
host_statusGesamtzustandesxi
host_cpu_percent, host_memory_percent, host_memory_bytes, host_uptime_secondsnur verbundene Hostsesxi
vmsVMs nach Betriebszustand: poweredOn, poweredOff, suspended (Vorlagen ausgenommen)state
templatesVM-Vorlagen
vm_power_state0 eingeschaltet, 1 ausgeschaltet, 2 angehalten; höchstens 1000 VMsvm
vm_statusGesamtzustandvm
vm_tools_statusnur eingeschaltete VMs: 0 aktuell, 1 alte Version, 2 installiert, aber nicht laufend, 3 nicht installiertvm
datastoresDatastores
datastore_capacity_bytes, datastore_free_bytes, datastore_used_percentdatastore
datastore_accessible1 zugänglich, 0 unzugänglichdatastore
datastore_statusGesamtzustanddatastore
alarmsausgelöste, nicht bestätigte Alarme nach Farbe: red, yellowstatus
alarms_acknowledgedbereits bestätigte ausgelöste Alarme
alarmeine Serie pro unbestätigtem Alarm, Wert = sein Zustandscode, höchstens 64alarm (sein Name), entity, entity_type, status
scrape_errorsbei der letzten Prüfung fehlgeschlagene Aufrufe

Die zutreffenden integrierten Regeln: vSphere-Host antwortet nicht, vSphere-Host-Zustand rot, vSphere-Host im Wartungsmodus belassen, vSphere-Datastore fast voll, vSphere-Datastore unzugänglich, vSphere-VM-Tools laufen nicht, vSphere-Alarm rot, außerdem Monitor nicht erreichbar.

Das Panel über den Diagrammen liest, was die Prüfung gespeichert hat; das Öffnen der Seite fragt vSphere nie ab. Es nennt zuerst, was nicht stimmt (Hosts, die nicht antworten, rote Alarme, fast volle oder unzugängliche Datastores), dann die Hosts mit ihrer Last, die Datastores mit ihrem Füllstand und die VMs nach Betriebszustand.

Gegen den govmomi-Simulator vcsim 0.56.0, im vCenter- und im ESXi-Modus: Anmeldung und abgelehntes Passwort, Wiederverwendung und Ablauf der Sitzung, Seitenweise Lesen des Inventars, ein nicht antwortender Host, ein Host im Wartungsmodus, eine ausgeschaltete VM und eine Vorlage. Der Simulator löst keinen Alarm aus: Das Lesen der ausgelösten Alarme ist gegen die dokumentierte Struktur AlarmState der Web-Services-API validiert.

  1. Auf einem vCenter: Administration → Single Sign On → Benutzer und Gruppen → Benutzer, Domäne vsphere.local → Hinzufügen. Benennen Sie den Benutzer wie folgt und geben Sie ihm ein langes zufälliges Passwort.

    dumbmonit
  2. Weiterhin auf dem vCenter: Administration → Zugriffskontrolle → Globale Berechtigungen → Hinzufügen. Wählen Sie diesen Benutzer, die Rolle Nur Lesen und haken Sie An untergeordnete Objekte weitergeben an. Nur Lesen sieht jeden Host, jede VM, jeden Datastore und jeden Alarm und kann nichts ändern.

  3. Stattdessen auf einem eigenständigen ESXi-Host: im Host-Client Verwalten → Sicherheit & Benutzer → Benutzer → Benutzer hinzufügen, mit demselben Namen. Dann Host → Aktionen → Berechtigungen → Benutzer hinzufügen: Wählen Sie ihn, die Rolle Nur Lesen und haken Sie An alle untergeordneten Objekte weitergeben an.

  4. Geben Sie in DumbMonit die Adresse des vCenters oder des Hosts ein, zum Beispiel „vcenter.lan“ oder „esxi1.lan“, mit dem Benutzernamen wie erstellt: [email protected] auf einem vCenter, dumbmonit auf einem Host. Verwaltet ein vCenter die Hosts, fügen Sie nur das vCenter hinzu: Es meldet jeden Host, jede VM und jeden Datastore.

  5. DumbMonit liest nur, über die vSphere-Web-Services-API (/sdk). Es schaltet nie eine VM ein oder aus, wechselt nie in den Wartungsmodus und bestätigt nie einen Alarm.

ZugangsdatenFelder
Benutzername / PasswortDer dedizierte Benutzer mit der Rolle Nur Lesen: [email protected] auf einem vCenter, dumbmonit auf einem Host.

Adresse: ein Hostname oder eine IP (vcenter.lan), host:port oder eine vollständige URL; ein abschließendes /sdk oder /ui wird akzeptiert. Optionen: Port (443), Zertifikatsprüfung, Anfrage-Timeout (20 s) und ausgelöste Alarme (lesen).