Start / Hilfe / Spherifyer

Hilfe

Spherifyer-Dokumentation

So installieren und nutzen Sie Spherifyer. Am Ende finden Sie eine Übersicht aller Einstellungen zum Nachschlagen.

Version 1.x

Überblick

Spherifyer zeigt Ihnen auf einen Blick, wie es um Ihre VMware-Umgebung steht: wie voll die Datastores sind, welche VMs wie viel belegen und wo es Probleme gibt. Dazu fragt das Programm regelmäßig Ihr vCenter ab und merkt sich die Werte. So sehen Sie auch, wie sich die Belegung über Wochen und Monate entwickelt.

Spherifyer läuft auf einem Ihrer eigenen Server. Es ist eine einzelne Programmdatei, die nichts weiter braucht. Ihre Daten bleiben bei Ihnen. Nur für Updates und die Lizenz nimmt das Programm Kontakt zu www.wedigo.net auf.

Sie bedienen Spherifyer auf zwei Wegen:

  • Im Browser: Das Dashboard mit allen Ansichten. Hier arbeiten Sie im Alltag.
  • Im Konsolenfenster: Beim Start in einer Konsole erscheint eine einfache Text-Oberfläche. Sie zeigt den Zustand des Programms und richtet den Dienst ein. Läuft Spherifyer als Dienst im Hintergrund, brauchen Sie sie nicht.
Das Konsolenfenster: Kennzahlen und Zustand auf einen Blick
Das Konsolenfenster: Kennzahlen und Zustand auf einen Blick
Die VM-Tabelle im Dashboard
Die VM-Tabelle im Dashboard

Voraussetzungen

  • Ein Server mit Windows oder Linux (64 Bit). Eine eigene VM reicht völlig.
  • Ein Benutzer im vCenter, der nur lesen darf. Legen Sie dafür am besten einen eigenen Benutzer an und geben Sie ihm die Rolle Nur lesen (Read-only). Vergeben Sie die Rolle ganz oben im vCenter und setzen Sie den Haken *An untergeordnete Objekte weitergeben*. Spherifyer ändert im vCenter nie etwas.
  • Netzwerkverbindungen:
    • vom Spherifyer-Server zum vCenter (HTTPS, Port 443)
    • vom Spherifyer-Server zu www.wedigo.net (HTTPS, Port 443) für Updates und die Lizenz. Ein Proxy ist möglich.
    • von Ihrem Arbeitsplatz zum Dashboard. Anfangs ist es nur auf dem Server selbst erreichbar, siehe Zugriff von anderen Rechnern.

Installation

Legen Sie die Programmdatei in einen eigenen Ordner, zum Beispiel C:\Program Files\Spherifyer oder /opt/spherifyer. Alles, was Spherifyer anlegt, landet in diesem Ordner: Einstellungen, gesammelte Daten und das verschlüsselt gespeicherte Passwort.

Starten Sie Spherifyer beim ersten Mal von Hand in einem Konsolenfenster. Dabei fragt das Programm die Zugangsdaten zum vCenter ab (siehe Einrichtung).

Windows

cd "C:\Program Files\Spherifyer"
.\spherifyer.exe

Linux

cd /opt/spherifyer
./spherifyer

Als Dienst einrichten

Damit Spherifyer dauerhaft läuft, auch nach einem Neustart des Servers, richten Sie es als Dienst ein. Dazu brauchen Sie Administratorrechte (unter Linux sudo).

Windows

.\spherifyer.exe service install
.\spherifyer.exe service start

Linux

sudo ./spherifyer service install
sudo ./spherifyer service start

Stürzt der Dienst einmal ab, startet ihn Windows von selbst neu.

Alternativ geht das im Konsolenfenster: Reiter Service (Taste 2), dann i zum Einrichten und s zum Starten. Auch dafür muss das Konsolenfenster mit Administratorrechten geöffnet sein.

Der Reiter Service im Konsolenfenster
Der Reiter Service im Konsolenfenster

Einrichtung

Beim allerersten Start fragt Spherifyer im Konsolenfenster nach drei Dingen:

  1. der Adresse Ihres vCenters (Name oder IP-Adresse),
  2. dem Benutzernamen,
  3. dem Passwort.

Das Passwort speichert Spherifyer verschlüsselt. Den Schlüssel dazu legt es in einer eigenen Datei daneben ab (vsphere.key). Ohne diese Datei lässt sich das Passwort nicht lesen. Heben Sie sie bei einer Sicherung also mit auf.

Danach holt Spherifyer sofort die ersten Daten. Das Dashboard öffnen Sie auf dem Server im Browser unter http://127.0.0.1:8080, oder Sie drücken im Konsolenfenster die Taste o.

Die meisten vCenter nutzen ein selbst ausgestelltes Zertifikat. Spherifyer akzeptiert das von Haus aus. Hat Ihr vCenter ein offizielles Zertifikat, können Sie die Prüfung strenger stellen: vcenter.insecure auf false.

Zugriff von anderen Rechnern

Zunächst ist das Dashboard nur auf dem Server selbst erreichbar. So kommt niemand ungewollt von außen darauf. Wenn Sie es von Ihrem Arbeitsplatz aus öffnen möchten:

  • drücken Sie im Konsolenfenster die Taste l, oder
  • tragen Sie in der Einstellung web.listen den Wert 0.0.0.0:8080 ein und starten Sie den Dienst neu.

Geben Sie den Port 8080 außerdem in der Firewall des Servers frei. Dann erreichen Sie das Dashboard unter http://<servername>:8080.

Das Dashboard selbst ist unverschlüsselt (HTTP). Soll es über ein größeres Netz erreichbar sein, stellen Sie einen Webserver mit HTTPS davor, zum Beispiel IIS oder nginx.

Port und Proxy

Einen Proxy, der in Windows eingerichtet ist, übernimmt Spherifyer von selbst: zuerst den von netsh winhttp show proxy, sonst den fest eingetragenen Proxy aus den Internetoptionen. Ausnahmen wie *.firma.de übernimmt es mit. Automatische Erkennung und PAC-Skripte wertet Spherifyer nicht aus. Einen eigenen Proxy brauchen Sie nur, wenn Windows keinen kennt oder Spherifyer einen anderen nehmen soll.

Den Port des Dashboards und den Proxy für das Internet ändern Sie im Konsolenfenster im Reiter Einstellungen (Taste 4):

  • Port der Weboberfläche: zum Beispiel 8443 statt 8080. Die Adresse davor (nur lokal oder für alle) bleibt, wie sie ist. Ist der Port auf dem Server schon belegt, warnt Spherifyer.
  • Proxy (URL): Braucht der Server einen Proxy für das Internet, tragen Sie ihn hier ein, zum Beispiel http://10.10.75.1:8080. Mit Anmeldung: http://benutzer:passwort@10.10.75.1:8080. Das Passwort speichert Spherifyer verschlüsselt in proxy.creds, nicht in der config.yaml. Leer heißt: kein eigener Proxy, dann gilt der Proxy aus Windows oder aus HTTPS_PROXY.
  • Ausnahmen: Namen und Netze, die nicht über den Proxy gehen, durch Kommas getrennt, zum Beispiel firma.de,10.20.0.0/16. Der Server selbst, die privaten Netze und Ihr vCenter gehen immer direkt.

Wählen Sie ein Feld mit den Pfeiltasten und drücken Sie Enter zum Ändern. Enter übernimmt, Esc bricht ab. Mit t prüfen Sie sofort, ob www.wedigo.net über den eingetragenen Proxy erreichbar ist, noch bevor Sie speichern. Mit s speichern Sie in die config.yaml. Die Änderung wirkt nach einem Neustart von Spherifyer oder des Dienstes (spherifyer service restart).

Der Reiter zeigt außerdem, welcher Proxy gerade wirkt und woher er stammt (config.yaml, Umgebungsvariable oder Windows). Stammt ein Wert aus einer Umgebungsvariablen, sehen Sie ihn dort nur und können ihn nicht ändern.

Der Reiter Einstellungen im Konsolenfenster: Port, Proxy und was gerade gilt
Der Reiter Einstellungen im Konsolenfenster: Port, Proxy und was gerade gilt

Anmeldung und Passwort

Spherifyer legt beim ersten Start den Benutzer admin mit einem zufälligen Startpasswort an. Das Passwort wird nur einmal angezeigt: im Konsolenfenster und in der Logdatei spherifyer.log im Programmordner.

  • Nach der ersten Anmeldung vergeben Sie ein eigenes Passwort (mindestens 10 Zeichen).
  • Später ändern Sie es im Benutzermenü oben rechts.
  • Nach mehreren falschen Versuchen wartet Spherifyer kurz, bevor es einen neuen Versuch zulässt.

Passwort vergessen? Stoppen Sie den Dienst, löschen Sie die Datei auth.json im Programmordner und starten Sie den Dienst wieder. In spherifyer.log steht dann ein neues Startpasswort.

Ansichten

Storage: Wie voll ist jeder Datastore, wie viel ist den VMs zugesagt, und wie schnell arbeitet er? Spitzenwerte der letzten sieben Tage inklusive, dazu wann er voraussichtlich voll ist und welche VMs dort die höchste Latenz haben.

Ansicht Storage
Ansicht Storage

VMs: Alle VMs in einer Tabelle zum Filtern und Sortieren. Ein Klick auf eine Zeile zeigt Netzwerkkarten und Laufwerke der VM. Mit den Filtern finden Sie zum Beispiel VMs, die in mehreren Netzen hängen oder deren Netzwerkkarte getrennt ist.

Hosts: Auslastung von Prozessor, Arbeitsspeicher und Netzwerk je Host und welche VMs darauf laufen. Dazu je Host die VMs, die am längsten auf freie Prozessorkerne warten (CPU-Ready).

Topologie: Ihre Umgebung als Baum, und welche VM in welchem Netz (VLAN) hängt.

Netzwerktopologie
Netzwerktopologie

Warnungen: Was Spherifyer auffällt, jeweils mit einer Empfehlung, siehe Warnungen und Empfehlungen. Über die Kategorien oben lässt sich die Liste filtern, etwa auf Compliance (Punkte aus dem vSphere Security Configuration Guide) oder Kapazität.

Verlauf: Wie sich die Belegung entwickelt hat, über einen Zeitraum Ihrer Wahl. Dazu, wer im vCenter was geändert hat, und die Netzwerklast der Hosts.

Verlauf
Verlauf

Planung: Vier Ansichten für die nächsten Entscheidungen:

  • Prognose: Auslastung je Cluster (CPU, RAM, Speicher, vCPU je Kern), ob der Cluster den Ausfall seines größten Hosts abfängt, und wann der Speicher beim Wachstum der letzten 30 Tage voll ist. Darunter alle Datastores nach Restlaufzeit; die Restlaufzeit steht auch auf den Datastore-Karten im Reiter Storage.
  • Rückforderung (Freiräumen): VMs, die lange ausgeschaltet sind, VMs ohne Last und Snapshots, die älter als 30 Tage sind, mit der Summe an Speicher, vCPUs und RAM. Mit Monatspreisen in den Einstellungen (planning.price_*) auch die geschätzte Einsparung.
  • Was-wäre-wenn: Eine Ausfallsimulation als Karte: Hosts mit ihren VMs, Katastrophen-Beispiele (größter Host, zwei Hosts, halber Cluster, Wartung Host für Host, Datastore fällt aus) oder frei gewählte Hosts. Die VMs ausgefallener Hosts wandern sichtbar auf die übrigen, so wie HA sie neu starten würde; was keinen Platz findet, steht unter „Nicht startbar“. Dazu neue VMs, ein Urteil mit Begründung, Grenzwerte und wie viele VMs dieser Größe danach noch passen.
  • Lizenzbedarf: Wie viele Prozessoren und Kerne in jedem Datacenter stecken. Das brauchen Sie für die Planung Ihrer VMware-Lizenzen.

Alle Ansichten gibt es auf Deutsch und Englisch, hell und dunkel.

Warnungen und Empfehlungen

Nach jeder Abfrage prüft Spherifyer die Daten und meldet, was auffällt, jeweils mit einem Vorschlag, was zu tun ist. Die Platzhalter in geschweiften Klammern stehen im Dashboard durch echte Werte ersetzt.

MeldungEmpfehlung
Fällt der größte Host aus, reicht die CPU der übrigen Hosts nicht: {pct}% LastHost ergänzen oder Last verteilen, damit der Cluster einen Ausfall abfängt.
Fällt der größte Host ({host} GB) aus, reicht der RAM der übrigen {hosts} Hosts nicht: {pct}% belegtHost ergänzen, RAM erweitern oder VMs verkleinern bzw. abschalten, damit der Cluster einen Ausfall abfängt.
Fällt der größte Host ({host} GB) aus, sind die übrigen Hosts zu {pct}% mit RAM belegtReserve beobachten; bei weiterem Wachstum Host oder RAM ergänzen.
CD/DVD-Laufwerk ist verbundenLaufwerk trennen, wenn es nicht gebraucht wird; verbundene Medien können vMotion verhindern.
Emulierte Netzwerkkarte: {nics}Auf vmxnet3 umstellen: weniger CPU-Last und höherer Durchsatz.
Virtuelle Hardware {version} ist veraltet (empfohlen ab {min})VM-Hardware im nächsten Wartungsfenster aktualisieren (VM ausgeschaltet, vorher Snapshot oder Sicherung).
Lockdown-Modus ist ausLockdown-Modus (normal) einschalten, damit der Host nur über das vCenter verwaltet wird.
Kein NTP-Server eingetragenNTP-Server eintragen und den NTP-Dienst starten; falsche Uhrzeit stört Anmeldung, Protokolle und Zertifikate.
NTP-Dienst läuft nicht (Server: {servers})NTP-Dienst starten und auf „Mit dem Host starten und beenden“ stellen.
Kein Timeout für ESXi-Shell-Sitzungen (UserVars.ESXiShellInteractiveTimeOut = 0)Timeout setzen, zum Beispiel 900 Sekunden.
Kein Syslog-Ziel eingetragen (Syslog.global.logHost)Protokolle an einen zentralen Syslog-Server senden, damit sie einen Neustart überdauern.
CPU-Ready-Zeit {pct}% – vCPU-Scheduling stark verzögertVMs auf weniger ausgelastete Hosts migrieren oder vCPU-Anzahl reduzieren.
CPU-Ready-Zeit {pct}% – Host-CPU möglicherweise überlastetHost-CPU-Last prüfen, DRS-Balancing oder VM-Migration erwägen.
CPU-Topologie ist manuell konfiguriert: {vcpu} vCPUs, {cores} Kerne/Socket ({sockets} Sockets)CPU-Topologie auf automatisch zurücksetzen, sofern keine lizenz- oder betriebssystemspezifischen Anforderungen bestehen.
Laufwerk {path}: nur {pct}% frei ({free} GB frei / {cap} GB gesamt)Datenträger umgehend bereinigen oder Kapazität erweitern.
Laufwerk {path}: {pct}% frei ({free} GB frei / {cap} GB gesamt) – Schwellenwert: 10%Datenträger bereinigen oder Kapazität planen.
Voraussichtlich voll in {days} Tagen – wächst um {growth} GB pro Tag, frei sind noch {free} TBWachstum prüfen (Planung, Rückforderung) und Kapazität rechtzeitig erweitern oder VMs verschieben.
Hohe I/O-Latenz: Lesen {read} ms / Schreiben {write} msStorage-Array prüfen, Queue-Tiefe und I/O-Contention analysieren.
Erhöhte I/O-Latenz: Lesen {read} ms / Schreiben {write} msI/O-Last auf dem Datastore beobachten.
Datastore zu {pct}% provisioniert – Overcommit ({prov} TB auf {cap} TB Kapazität)Thin-provisioned VMs, Snapshots oder Klone prüfen und ggf. bereinigen.
Datastore zu {pct}% belegt ({used} TB / {cap} TB)VMs migrieren oder Kapazität erweitern.
Datastore zu {pct}% belegt ({used} TB / {cap} TB)Belegung beobachten, ggf. Kapazität planen.
{n} aktive VMs auf einem DatastoreBei weiterem Wachstum VMs auf weitere Datastores verteilen.
{n} aktive VMs auf einem Datastore (empfohlen: max. 20)VMs auf mehrere Datastores verteilen, um I/O-Engpässe zu vermeiden.
CPU-Last bei {pct}%CPU-Last im Blick behalten.
CPU-Last bei {pct}%VMs auf andere Hosts migrieren oder Hardware-Upgrade prüfen.
RAM-Auslastung kritisch: {pct}% belegt ({used} GB / {total} GB)VMs auf andere Hosts migrieren oder physischen RAM erweitern.
RAM-Auslastung erhöht: {pct}% belegt ({used} GB / {total} GB)RAM-Auslastung beobachten, ggf. VMs umverteilen.
vCPU-Overcommit {ratio} : 1 ({vcpu} vCPUs auf {logical} logische Kerne)Bei hoher CPU-Last VMs umverteilen.
vCPU-Overcommit {ratio} : 1 ({vcpu} vCPUs auf {logical} logische Kerne)VMs auf weitere Hosts verteilen oder CPU-Ressourcen erweitern.
{ratio} virtuelle CPUs je physischem Kern ({vcpu} vCPUs / {cores} Kerne) – Schwellenwert: 4VMs auf weitere Hosts verteilen oder CPU-Ressourcen erweitern.
ESXi Shell auf dem Host aktivESXi Shell nach Abschluss administrativer Tätigkeiten deaktivieren.
SSH-Dienst auf dem ESXi-Host aktivSSH nach Abschluss administrativer Tätigkeiten deaktivieren.
Memory-Ballooning aktiv: {mb} MB – ESXi fordert Speicher vom Gastbetriebssystem zurück (Speicherdruck auf dem Host)Host-RAM-Auslastung im Host-Tab prüfen. Bei anhaltendem Ballooning: VMs auf Hosts mit mehr freiem RAM umverteilen.
VM swappt {mb} MB – ESXi hat Speicherseiten auf Disk ausgelagert (Host steht oder stand unter Speicherdruck)Host-RAM-Auslastung im Host-Tab prüfen. Ist der Host entspannt, verschwindet der Wert beim nächsten VM-Neustart von selbst. Bei dauerhaftem Swap: VMs umverteilen oder Host-RAM erweitern.
Hohe CPU-Auslastung: Ø {avg}% / P95 {p95}% über {n} Messungen ({days} Tage) – VM hat {vcpu} vCPUsMehr vCPUs zuweisen oder Workload auf weitere VMs verteilen.
Niedrige CPU-Auslastung: Ø {avg}% / P95 {p95}% über {n} Messungen ({days} Tage), CPU-Ready P95 {ready}% je vCPU – VM hat {vcpu} vCPUsvCPU-Anzahl reduzieren, aber nicht unter {min} – überzählige vCPUs erhöhen den Scheduling-Overhead auf dem Host.
Hohe RAM-Auslastung: Ø {avg}% / P95 {p95}% über {n} Messungen ({days} Tage) – VM hat {gb} GBMehr RAM zuweisen oder Workload verteilen.
Geringer aktiver RAM: Ø {avg}% / P95 {p95}% über {n} Messungen ({days} Tage) – VM hat {gb} GB, Host zu {host}% belegtErst die Nutzung im Gastsystem prüfen (Task-Manager, bei SQL Server „max server memory“), dann RAM reduzieren, aber nicht unter {min} GB.
Snapshot '{name}' vorhanden – Alter: {age} Tage (erstellt: {created})Snapshot prüfen und ggf. entfernen. Veraltete Snapshots können erheblich Speicher belegen und die VM-Performance beeinträchtigen.
VMware Tools nicht installiertVMware Tools installieren für vollständige Überwachung und optimale Performance.
VMware Tools nicht aktiv (installiert, aber nicht gestartet)VM neustarten oder VMware Tools manuell starten.
VMware Tools veraltetVMware Tools auf die aktuelle Version aktualisieren.
Inkonsistenter Ordnername: VM-Name "{name}" ≠ Ordner "{folder}"Ordner umbenennen damit VM-Name und Ordner übereinstimmen.
VM ist ausgeschaltet (PowerState: {state})Prüfen ob die VM noch benötigt wird. Nicht benötigte VMs entfernen oder archivieren.

Lizenz und Aktivierung

Ohne Lizenzschlüssel zeigt Spherifyer einen einzelnen Host, damit Sie das Programm ausprobieren können. Mit Lizenzschlüssel sehen Sie Ihre ganze Umgebung.

  • Den Lizenzschlüssel bekommen Sie nach dem Kauf sofort per E-Mail. Er gehört zu der E-Mail-Adresse, mit der Sie gekauft haben.
  • Für die Aktivierung braucht der Server eine Verbindung zu www.wedigo.net, auch über einen Proxy (siehe Port und Proxy). Danach meldet sich Spherifyer alle 30 Tage kurz dort. Fällt die Verbindung aus, läuft die Lizenz noch bis zu 60 Tage weiter.
  • Eine Lizenz gilt für eine Installation und für alle Updates der gekauften Version, also zum Beispiel für alle 1.x-Versionen. Erscheint eine neue Hauptversion, weist Spherifyer darauf hin, installiert sie aber nicht von selbst.

Welcher Host ohne Lizenz? Spherifyer wählt ihn bei der ersten Abfrage zufällig aus und bleibt dabei. Einen anderen wählt es nur, wenn es den Host im vCenter nicht mehr gibt. Sie sehen diesen Host mit seinen VMs und Datastores in allen Ansichten. Die übrigen Hosts zählt das Dashboard nur mit („7 weitere Hosts – mit Lizenzschlüssel sichtbar“). Gesammelt werden trotzdem alle Daten: Sobald die Lizenz gilt, sehen Sie die ganze Umgebung, auch rückwirkend im Verlauf.

Lizenzschlüssel eingeben: Im Dashboard im Benutzermenü oben rechts unter *Lizenz*. Fügen Sie den Schlüssel ein, tragen Sie die E-Mail-Adresse des Kaufs ein und klicken Sie auf *Speichern*. Spherifyer prüft den Schlüssel sofort online und schreibt ihn in die config.yaml. Dort können Sie ihn auch selbst eintragen (license.key und license.email, siehe Einstellungen), danach den Dienst neu starten.

Im Dialog *Lizenz* sehen Sie, für wen und für welche Version die Lizenz gilt, wann sie zuletzt geprüft wurde und bis wann sie gilt. Mit *Jetzt prüfen* fragen Sie sofort nach, zum Beispiel nachdem Sie die Verbindung zu www.wedigo.net freigegeben haben.

Umzug auf einen anderen Server: Tragen Sie den Schlüssel auf dem neuen Server ein. Die Lizenz wechselt dann dorthin, der alte Server zeigt wieder nur einen Host. Wollen Sie die Lizenz zurückholen, klicken Sie dort auf *Lizenz auf diese Installation übertragen*.

Gibt es ein Problem mit der Lizenz, zeigt das Dashboard oben einen Hinweis: wenn www.wedigo.net seit über 45 Tagen nicht erreichbar war, die Lizenz auf einen anderen Server übertragen, gesperrt oder abgelaufen ist oder die Uhr des Servers nachgeht. Spherifyer läuft in jedem Fall weiter, und es gehen keine Daten verloren.

Mehr zu Kauf und Rückgabe: Preise und Lizenzbedingungen.

Updates

Spherifyer hält sich selbst aktuell. Es schaut regelmäßig auf www.wedigo.net nach, ob es eine neue Version gibt, prüft, dass sie wirklich von uns stammt, und installiert sie.

Wie das abläuft, legen Sie in der Einstellung update.mode fest:

  • auto (Standard): Neue Versionen werden installiert, der Dienst startet danach kurz neu.
  • notify: Spherifyer meldet eine neue Version nur. Sie installieren sie selbst im Dashboard.
  • off: Keine Prüfung auf Updates.

Mit update.window legen Sie eine Uhrzeit fest, zu der installiert werden darf, zum Beispiel "02:00-05:00". Im Dashboard sehen Sie den Stand im Benutzermenü unter *Software-Update* und können dort auch von Hand prüfen und installieren.

Automatisch installiert wird nur, wenn Spherifyer als Dienst läuft und in seinen Programmordner schreiben darf. Starten Sie es von Hand im Konsolenfenster, meldet es neue Versionen nur.

Updates bleiben immer innerhalb Ihrer Hauptversion, zum Beispiel 1.x. Erscheint eine neue Hauptversion, zeigt Spherifyer einen Hinweis unter der Kopfzeile, im *Software-Update*, bei der Lizenz und im Konsolenfenster: Ihre Lizenz gilt für die neue Hauptversion nicht, dafür ist ein Upgrade nötig. Ihre Version erhält weiter Updates. Den Hinweis unter der Kopfzeile können Sie ausblenden; er erscheint erst bei der nächsten Hauptversion wieder.

Zurück zur vorigen Version

Spherifyer hebt die vorige Version auf. Startet eine neue Version nicht richtig, kehrt es von selbst zur alten zurück. Sie können das auch von Hand tun:

Windows

.\spherifyer.exe rollback
.\spherifyer.exe service restart

Linux

sudo ./spherifyer rollback
sudo ./spherifyer service restart

Sicherung

Sichern Sie den Programmordner. Wichtig sind diese Dateien:

  • config.yaml: Ihre Einstellungen
  • vsphere.key und vsphere.creds: das Passwort für das vCenter. Die beiden gehören zusammen.
  • proxy.creds: das Passwort für den Proxy, falls Sie eines eingetragen haben. Es lässt sich nur zusammen mit vsphere.key lesen.
  • auth.json: die Benutzer des Dashboards
  • history.db: die gesammelten Daten und der Stand der Lizenz auf diesem Server. Am sichersten kopieren Sie sie bei gestopptem Dienst.

Zum Wiederherstellen legen Sie die Dateien zurück in den Programmordner und starten den Dienst.

Fehlerbehebung

Spherifyer erreicht das vCenter nicht. Prüfen Sie, ob der Server das vCenter unter dem eingetragenen Namen erreicht und ob eine Firewall Port 443 sperrt. Was genau schiefgeht, steht im Konsolenfenster (Reiter Logs, Taste 3) oder in spherifyer.log.

Das Ereignisprotokoll im Konsolenfenster
Das Ereignisprotokoll im Konsolenfenster

Das Dashboard geht nur auf dem Server selbst. So ist es voreingestellt. Siehe Zugriff von anderen Rechnern.

Ich komme nicht mehr ins Dashboard. Siehe Passwort vergessen.

Bei Storage fehlen die Leistungswerte. Diese Werte liefert das vCenter erst nach einiger Zeit. Sie erscheinen nach den ersten Abfragen. Im vCenter müssen die Leistungsstatistiken eingeschaltet sein, was sie normalerweise sind.

Ein Update wird nicht installiert. Läuft Spherifyer als Dienst und darf es in seinen Ordner schreiben? Eine Version, die schon einmal zurückgenommen wurde, installiert Spherifyer nicht noch einmal.

Lizenz/Updates: keine Verbindung. Lizenz und Updates brauchen eine Verbindung zu www.wedigo.net (HTTPS, Port 443). Den genauen Fehler zeigen der Dialog *Lizenz* im Benutzermenü und spherifyer.log. Im Konsolenfenster zeigt der Reiter Einstellungen, welcher Proxy gerade wirkt. Ist in Windows ein Proxy eingerichtet (netsh winhttp show proxy oder Internetoptionen), nimmt Spherifyer ihn von selbst. Braucht der Server einen anderen Proxy oder kennt Windows keinen, tragen Sie ihn im Reiter Einstellungen ein, prüfen Sie ihn mit t und speichern Sie mit s. Danach Spherifyer oder den Dienst neu starten. Siehe Port und Proxy. Ohne Konsolenfenster tragen Sie den Proxy in der config.yaml unter proxy.url ein. Die Umgebungsvariable HTTPS_PROXY funktioniert weiterhin.

Hilft das alles nicht, schreiben Sie uns über das Kontaktformular.

Nachschlagen

Dieser Teil ist zum Nachschlagen gedacht, wenn Sie etwas Bestimmtes einstellen möchten.

Einstellungen

Die Einstellungen stehen in der Datei config.yaml im Programmordner. Sie öffnen sie mit einem Texteditor. Nach einer Änderung starten Sie den Dienst neu. Jeden Wert können Sie stattdessen auch über eine Umgebungsvariable setzen, die in der Tabelle unter dem Namen steht. Lizenzschlüssel und E-Mail-Adresse lassen sich zusätzlich aus einer Datei lesen, etwa aus einem Docker-Secret: Hängen Sie dazu _FILE an den Namen an und geben Sie den Pfad der Datei an, zum Beispiel SPHERIFYER_LICENSE_KEY_FILE=/run/secrets/spherifyer_license.

Schlüssel / UmgebungsvariableStandardBedeutung
vcenter.serverSPHERIFYER_VCENTER_SERVER–Adresse Ihres vCenters (Name oder IP-Adresse).
vcenter.usernameSPHERIFYER_VCENTER_USERNAME–Benutzer im vCenter, zum Beispiel spherifyer@vsphere.local. Die Rolle „Nur lesen“ reicht.
vcenter.passwordSPHERIFYER_VCENTER_PASSWORD–Bleibt normalerweise leer, weil das Passwort verschlüsselt gespeichert ist. Nur als Notlösung hier eintragen.
vcenter.insecureSPHERIFYER_VCENTER_INSECUREfalseAuch selbst ausgestellte Zertifikate des vCenters akzeptieren.
vcenter.key_fileSPHERIFYER_VCENTER_KEY_FILEvsphere.keyDatei mit dem Schlüssel für das gespeicherte Passwort.
vcenter.creds_fileSPHERIFYER_VCENTER_CREDS_FILEvsphere.credsDatei mit dem verschlüsselten Passwort.
collection.intervalSPHERIFYER_COLLECTION_INTERVAL1hWie oft Spherifyer das vCenter abfragt, zum Beispiel 30m (30 Minuten) oder 1h (1 Stunde).
collection.run_on_startSPHERIFYER_COLLECTION_RUN_ON_STARTtrueGleich nach dem Start die ersten Daten holen.
web.listenSPHERIFYER_WEB_LISTEN127.0.0.1:8080Unter welcher Adresse das Dashboard erreichbar ist. 0.0.0.0:8080 öffnet es für andere Rechner.
storage.pathSPHERIFYER_STORAGE_PATHhistory.dbDatei, in der die gesammelten Daten liegen.
storage.retention_daysSPHERIFYER_STORAGE_RETENTION_DAYS90Wie viele Tage die Daten aufgehoben werden. 0 heißt: für immer.
log.levelSPHERIFYER_LOG_LEVELinfoWie ausführlich die Logdatei ist: debug (sehr ausführlich), info, warn oder error (nur Fehler).
log.formatSPHERIFYER_LOG_FORMATtextAufbau der Logdatei: text zum Lesen, json für Auswertungsprogramme.
log.fileSPHERIFYER_LOG_FILE–Name der Logdatei. Leer: spherifyer.log im Programmordner. Unter Linux als Dienst landet das Log dann im Systemprotokoll (journalctl).
auth.enabledSPHERIFYER_AUTH_ENABLEDtrueAnmeldung am Dashboard. Nur in abgeschotteten Netzen ausschalten.
auth.fileSPHERIFYER_AUTH_FILEauth.jsonDatei mit den Benutzern des Dashboards.
auth.session_ttlSPHERIFYER_AUTH_SESSION_TTL12hNach welcher Zeit ohne Aktivität Sie neu angemeldet werden müssen.
update.modeSPHERIFYER_UPDATE_MODEautoauto, notify oder off, siehe Updates.
update.feed_urlSPHERIFYER_UPDATE_FEED_URL–Woher die Updates kommen. Leer lassen.
update.intervalSPHERIFYER_UPDATE_INTERVAL6hWie oft nach Updates geschaut wird.
update.windowSPHERIFYER_UPDATE_WINDOW–Uhrzeit, zu der Updates installiert werden dürfen, zum Beispiel "02:00-05:00". Leer: jederzeit.
license.keySPHERIFYER_LICENSE_KEY–Ihr Lizenzschlüssel. Leer: Spherifyer zeigt einen Host. Am einfachsten tragen Sie ihn im Dashboard ein, siehe Lizenz und Aktivierung.
license.emailSPHERIFYER_LICENSE_EMAIL–Die E-Mail-Adresse, mit der Sie gekauft haben. Sie gehört zum Lizenzschlüssel.
license.urlSPHERIFYER_LICENSE_URLhttps://www.wedigo.net/api/license/v1/checkAdresse, unter der Spherifyer die Lizenz prüft. Nicht ändern.
proxy.urlSPHERIFYER_PROXY_URL–Proxy für das Internet (Lizenz und Updates), zum Beispiel http://10.10.75.1:8080, auch mit benutzer@. Das Passwort steht verschlüsselt in proxy.creds_file. Leer: kein eigener Proxy, dann gelten HTTPS_PROXY und NO_PROXY oder der Proxy aus Windows. Das vCenter geht nie über den Proxy.
proxy.no_proxySPHERIFYER_PROXY_NO_PROXY–Was nicht über den Proxy gehen soll, durch Kommas getrennt: Namen, Domänen wie firma.de, IP-Adressen oder Netze wie 10.20.0.0/16. Der Server selbst, die privaten Netze und das vCenter sind immer ausgenommen.
proxy.creds_fileSPHERIFYER_PROXY_CREDS_FILEproxy.credsDatei mit dem verschlüsselten Passwort für den Proxy. Spherifyer legt sie an, wenn Sie im Konsolenfenster einen Proxy mit Passwort speichern. Ein Passwort, das Sie von Hand in proxy.url schreiben, verschiebt Spherifyer beim nächsten Start dorthin.
rightsizing.min_vcpuSPHERIFYER_RIGHTSIZING_MIN_VCPU2Unter so viele vCPUs schlägt das Rightsizing nie vor, eine VM zu verkleinern. Gilt für alle Systeme außer Windows.
rightsizing.min_memory_gbSPHERIFYER_RIGHTSIZING_MIN_MEMORY_GB2Unter so viel RAM (GB) schlägt das Rightsizing nie vor, eine VM zu verkleinern. Gilt für alle Systeme außer Windows.
rightsizing.windows_min_vcpuSPHERIFYER_RIGHTSIZING_WINDOWS_MIN_VCPU4Wie rightsizing.min_vcpu, für Windows-VMs.
rightsizing.windows_min_memory_gbSPHERIFYER_RIGHTSIZING_WINDOWS_MIN_MEMORY_GB8Wie rightsizing.min_memory_gb, für Windows 11, Windows Server 2022 und neuer. Spherifyer erkennt das System an der Meldung der VMware Tools, sonst am im vCenter eingestellten Typ.
rightsizing.windows_legacy_min_memory_gbSPHERIFYER_RIGHTSIZING_WINDOWS_LEGACY_MIN_MEMORY_GB4Wie rightsizing.min_memory_gb, für ältere Windows-Versionen.
rightsizing.cpu_ready_pctSPHERIFYER_RIGHTSIZING_CPU_READY_PCT2Weniger vCPUs schlägt Spherifyer nur vor, wenn die VM über 7 Tage so viel CPU-Ready je vCPU zeigt (P95, in Prozent), sie also wirklich auf freie Kerne warten muss. 0: unabhängig vom CPU-Ready.
rightsizing.host_memory_pctSPHERIFYER_RIGHTSIZING_HOST_MEMORY_PCT75Weniger RAM schlägt Spherifyer nur vor, wenn der Host der VM mindestens so weit belegt ist (Prozent). Auf einem freien Host bringt kleinerer RAM nichts. 0: unabhängig vom Host.
planning.price_vcpuSPHERIFYER_PLANNING_PRICE_VCPU0Monatspreis je vCPU für die geschätzte Einsparung in der Rückforderung. 0: keine Beträge.
planning.price_memory_gbSPHERIFYER_PLANNING_PRICE_MEMORY_GB0Monatspreis je GB RAM.
planning.price_storage_tbSPHERIFYER_PLANNING_PRICE_STORAGE_TB0Monatspreis je TB Speicher.
planning.currencySPHERIFYER_PLANNING_CURRENCYEURWährung der Preise, zum Beispiel EUR oder CHF.
planning.off_daysSPHERIFYER_PLANNING_OFF_DAYS30Ausgeschaltete VMs erscheinen in der Rückforderung erst nach so vielen Tagen.
planning.idle_daysSPHERIFYER_PLANNING_IDLE_DAYS14VMs ohne Last (CPU nie über 200 MHz, kaum Netzwerkverkehr) erscheinen in der Rückforderung nach so vielen Tagen.
planning.full_soon_daysSPHERIFYER_PLANNING_FULL_SOON_DAYS90Warnen, wenn ein Datastore beim bisherigen Wachstum voraussichtlich innerhalb so vieler Tage voll ist.

Befehle

Diese Befehle geben Sie im Konsolenfenster im Programmordner ein.

Option / BefehlStandardBedeutung
spherifyer -configconfig.yamlEine andere Einstellungsdatei verwenden.
spherifyer -no-tui–Ohne Text-Oberfläche starten.
spherifyer -version–Die Versionsnummer anzeigen.
spherifyer service install–Als Dienst einrichten (mit Administratorrechten).
spherifyer service uninstall–Den Dienst wieder entfernen.
spherifyer service start–Den Dienst starten.
spherifyer service stop–Den Dienst stoppen.
spherifyer service restart–Den Dienst neu starten.
spherifyer service status–Anzeigen, ob der Dienst läuft.
spherifyer rollback–Zur Version vor dem letzten Update zurückkehren. Danach den Dienst neu starten.

Tasten im Konsolenfenster

TasteBedeutung
1–4, ←/→, TabZwischen den Reitern Dashboard, Service, Logs und Einstellungen wechseln.
rSofort neue Daten holen.
oDas Dashboard im Browser öffnen.
lDas Dashboard für andere Rechner öffnen oder wieder schließen.
i / u / s / xDen Dienst einrichten, entfernen, starten oder stoppen (im Reiter Service, mit Administratorrechten).
k / jIm Protokoll blättern (im Reiter Logs).
↑/↓, Enter, EscIm Reiter Einstellungen ein Feld wählen (Pfeiltasten), ändern (Enter), übernehmen (Enter) oder abbrechen (Esc).
sIm Reiter Einstellungen Port und Proxy in die config.yaml speichern. Wirkt nach einem Neustart.
tIm Reiter Einstellungen prüfen, ob www.wedigo.net über den eingetragenen Proxy erreichbar ist.
q, Esc, Ctrl+CSpherifyer beenden.

Schnittstelle für eigene Auswertungen

Alle Daten des Dashboards können Sie auch als JSON abrufen, etwa für eigene Skripte oder Überwachungssysteme. Bis auf die als öffentlich markierten Adressen müssen Sie dafür angemeldet sein (POST /api/auth/login). Ohne Lizenz liefert die Schnittstelle dasselbe wie das Dashboard, also nur den einen sichtbaren Host mit seinen VMs und Datastores.

RouteAnmeldungBedeutung
GET /healthöffentlichAntwortet, solange Spherifyer läuft. Gut für Überwachungssysteme.
GET /api/infoöffentlichName und Version.
POST /api/auth/loginöffentlichAnmelden mit Benutzer und Passwort.
POST /api/auth/logoutöffentlichAbmelden.
GET /api/auth/meöffentlichWer gerade angemeldet ist.
GET /api/auth/statusöffentlichOb die Anmeldung eingeschaltet ist und ob noch das Startpasswort gilt.
POST /api/auth/passwordöffentlichPasswort ändern.
/api/reportnötigAlle aktuellen Daten.
/api/statusnötigWann zuletzt und wann als Nächstes Daten geholt werden, ob gerade eine Abfrage läuft und der letzte Fehler.
/api/licensesnötigLizenzbedarf je Datacenter.
/api/history/totalsnötigVerlauf der Gesamtbelegung, ?days=30.
/api/history/datastorenötigVerlauf eines Datastores, ?name=…&days=30.
/api/history/all-datastoresnötigVerlauf aller Datastores, ?days=30.
/api/history/host-netnötigNetzwerkverlauf eines Hosts, ?name=…&days=180.
/api/datastoresnötigNamen aller Datastores.
/api/hostsnötigNamen aller Hosts.
/api/user-actionsnötigWer im vCenter was geändert hat, ?days=180.
/api/refreshnötigSofort neue Daten holen.
/api/debug/ds-perfnötigHilft uns bei der Fehlersuche, wenn Leistungswerte fehlen.
/api/host-net-snapshotnötigAktuelle Netzwerklast aller Hosts.
GET /api/updatenötigStand der Updates. next_major nennt eine neue Hauptversion (version, notes, info_url) mit license_compatible: false, weil Ihre Lizenz dafür nicht gilt.
POST /api/update/checknötigJetzt nach Updates schauen.
POST /api/update/installnötigEin verfügbares Update installieren.
POST /api/update/dismissnötigDen Hinweis auf eine neue Hauptversion ausblenden, mit {"major":2}, bis eine noch neuere erscheint.
GET /api/licensenötigStand der Lizenz: für wen sie gilt, wann sie zuletzt geprüft wurde und bis wann sie gilt. Den Schlüssel selbst gibt Spherifyer nie heraus.
POST /api/licensenötigLizenzschlüssel und E-Mail-Adresse eintragen, mit {"key":"…","email":"…"}. Spherifyer prüft den Schlüssel sofort.
POST /api/license/checknötigDie Lizenz jetzt prüfen. Mit {"transfer":true} holen Sie sie von einem anderen Server auf diesen.