VMware-Protokollanalyse zur Fehlerbehebung

Die VMware-Server-Softwareprodukte bieten Protokolldateien, die Daten zu Ereignissen jedes Softwarekomponenten mit Zeitstempeln aufzeichnen. VMware-Logs können zur Fehlerbehebung und zur Diagnose und Behebung von Problemen verwendet werden. In diesem Blog-Beitrag werden ESXi- und vCenter-Logs behandelt, erklärt, wie man Logs in VMware vSphere überprüft, wie man die benötigten Informationen findet und sie analysiert.

ESXi-Logs

VMware ESXi ist ein weit verbreiteter Hypervisor, der es Benutzern ermöglicht, virtuelle Maschinen auf physischen Servern zu erstellen und zu verwalten. Zur Gewährleistung des ordnungsgemäßen Betriebs, der Fehlerbehebung und Überwachung von ESXi-Servern werden verschiedene Logs generiert. Diese Logs erfassen wichtige Ereignisse, Fehler und Leistungsdaten, die Administratoren und Support-Teams dabei helfen, Probleme zu identifizieren und die Stabilität der virtuellen Infrastruktur aufrechtzuerhalten. Im Folgenden wird die Bedeutung einiger wichtiger VMware ESXi-Logs erläutert.

VMkernel-Logs

/var/log/vmkernel.log 

Dieses Log protokolliert VMkernel-Aktivitäten, einschließlich Ereignisse von Gerätetreibern, Speicher, Netzwerken und anderen kernelbezogenen Aktivitäten. Es bietet Einblicke in Systemoperationen auf niedriger Ebene und ist entscheidend für die Diagnose von hardwarebezogenen Problemen. Der vmkernel-Protokollspeicherort ist das Verzeichnis /var/log/.

/var/log/vmkwarning.log

In dieser Protokolldatei werden Warnmeldungen des VMkernel protokolliert, der das Kernstück des ESXi-Hypervisors ist. Sie erfasst Ereignisse und Zustände, die Aufmerksamkeit erfordern, aber keine kritischen Fehler darstellen.

/var/log/vmksummary.log

Der vmksummary.log ist ein Zusammenfassungsprotokoll, das einen Überblick über den Betriebszustand des ESXi-Hosts bietet, einschließlich Start- und Shutdown-Ereignissen, Systemressourcennutzung und einigen wichtigen Leistungsstatistiken.

Host-Management-Protokolle

/var/log/hostd.log

Dieses Protokoll enthält Einträge, die sich auf den ESXi-Host-Verwaltungsdienst (hostd) beziehen. Es erfasst Ereignisse im Zusammenhang mit virtuellen Maschinen, Aufgaben- und Ereignisverarbeitung sowie Kommunikation mit dem vCenter Server, falls zutreffend.

Virtuelle Maschinenprotokolle

/vmfs/volumes/datastore_name/vm_name/vmware.log

Jede virtuelle Maschine führt eine Protokolldatei, die Ereignisse spezifisch für diese VM erfasst, wie z.B. Power-Operationen, virtuelle Hardwareänderungen und Anwendungsereignisse aus dem Gast-Betriebssystem. Der vmware.log Date Speicherort befindet sich in einem VM-Verzeichnis auf einem Datenspeicher.

Speicherprotokolle

/var/log/vobd.log

Dieses Protokoll konzentriert sich auf Probleme im Zusammenhang mit Speicher- und iSCSI-Operationen.

/var/log/vmkernel.log

Wie bereits erwähnt, erfassen auch VMkernel-Protokolle speicherbezogene Ereignisse.

Netzwerkprotokolle

/var/log/vobd.log

Dieses Protokoll enthält netzwerkbezogene Ereignisse wie vMotion, Netzwerkverbindung und Kommunikationsfehler.

/var/log/vmkernel.log

VMkernel-Protokolle enthalten ebenfalls netzwerkbezogene Nachrichten.

Authentifizierungs- und Benutzerprotokolle

/var/log/auth.log

Dieses Protokoll erfasst Authentifizierungsereignisse, einschließlich Benutzeranmeldungen und -abmeldungen.

ESXi-Shell- und SSH-Protokolle

/var/log/shell.log

Dieses Protokoll erfasst von Benutzern ausgeführte ESXi-Shell (TSM)-Befehle.

/var/log/ssh.log

Wenn SSH auf dem ESXi-Host aktiviert ist, werden in diesem Protokoll SSH-bezogene Ereignisse erfasst.

Systemnachrichten

/var/log/syslog.log

Die syslog.log enthält eine umfassende Protokollierung von Systemnachrichten des VMkernel und verschiedener auf dem ESXi-Host ausgeführter Dienste. Es erfasst eine Vielzahl von Informationen, einschließlich Bootnachrichten, Hardwareereignissen, Netzwerkaktivitäten und mehr.

Firewall-Protokolle

/var/log/firewall.log

Dieses Protokoll verfolgt Ereignisse im Zusammenhang mit der ESXi-Firewall, einschließlich erlaubter und abgelehnter Verbindungen.

vCenter-Serverprotokolle auf ESXi (wenn sie mit einem vCenter Server verbunden sind)

/var/log/vpxa.log

Diese Protokolldatei ist spezifisch für von vCenter Server verwaltete ESXi-Hosts. Die vpxa.log ist mit dem auf dem ESXi-Host ausgeführten vCenter-Agent (vpxa) verbunden. Sie erfasst Interaktionen zwischen dem ESXi-Host und dem vCenter Server, einschließlich von vCenter initiierten Aufgaben wie VM-Netzbetrieb, Migrationen und Konfigurationsänderungen, sowie Hoststatusupdates, Aufgaben- und Ereignisausführung und Kommunikation mit dem vCenter Server.

ESXi-Updateprotokolle

/var/log/esxupdate.log

Die esxupdate.log enthält Protokolle im Zusammenhang mit der Aktualisierung und Patching von ESXi-Hosts. Diese Protokolldatei enthält Informationen über die Installation, Aktualisierung und Entfernung von Softwarepaketen (VIBs) auf dem ESXi-Host.

USB-Protokolle

/var/log/usb.log

Die Datei usb.log protokolliert Ereignisse im Zusammenhang mit USB-Geräten, die mit dem ESXi-Host verbunden sind. Sie verfolgt die Erkennung, Verbindung und Trennung von USB-Geräten sowie etwaige Probleme im Zusammenhang mit USB-Durchleitung oder der Verwendung eines USB-Arbitrator-Dienstes.

VMware vCenter Protokolle

VMware vCenter ist eine zentrale Verwaltungsplattform, die es Administratoren ermöglicht, mehrere VMware ESXi-Hosts und virtuelle Maschinen effizient zu verwalten. Zur Aufrechterhaltung der Gesundheit und Leistung des vCenter Servers und der damit verbundenen ESXi-Hosts werden mehrere Protokolle generiert, von denen jedes einen spezifischen Zweck erfüllt. Nachstehend wird die Erklärung einiger wesentlicher VMware vCenter Protokolle aufgeführt.

vpxd.log

Speicherort: /var/log/vmware/vpxd/vpxd.log

Dieser Protokoll-Datei werden Ereignisse im Zusammenhang mit dem vCenter Server-Dienst und der vpxd Protokoll-Speicherort ist der /var/log/vmware/vpxd/ Verzeichnis auf einem vCenter Server. Das vpxd Protokoll enthält Informationen über den vCenter-Dienststart, Verbindungsereignisse von vSphere-Clients, Benutzerauthentifizierung, Lizenzierung und verschiedene Verwaltungsaufgaben, die über den vSphere-Client oder API durchgeführt werden.

/var/log/vmware/vpxd/vpxd-alert.log enthält nicht kritische Informationen über den vpxd Prozess.

fdm.log

Ort: /var/log/fdm.log

Das Fault Domain Manager (FDM) Protokoll ist für die vSphere High Availability (HA) Problembehandlung von entscheidender Bedeutung. Es enthält Informationen über Host- und VM-Ausfälle, HA-Konfiguration, Heartbeat-Daten und die Wahl des Master-Hosts in einer HA-Cluster.

vmsyslogd.log

Ort: /var/log/vmware/vmsyslogd.log

Diese Protokoll-Datei ist im Zusammenhang mit dem auf dem vCenter Server Appliance ausgeführten Syslog-Dienst. Es werden Nachrichten aufgezeichnet, die an den Syslog des vCenter Servers von verschiedenen Komponenten und Diensten weitergeleitet werden.

vmware-vpostgres.log

Ort: /var/log/vmware/vpostgres/postgresql-xx.log

Dieses Protokoll enthält detaillierte PostgreSQL-Datenbank-bezogene Nachrichten, einschließlich Replikationsstatus, Transaktionsprotokolle und andere Datenbankereignisse.

catalina.log

Ort: /var/log/vmware/vpostgres/catalina.out

Dieser Log-Datei gehört zum VMware Postgres-Datenbankservice. Sie enthält Nachrichten im Zusammenhang mit Datenbankoperationen, einschließlich Start- und Herunterfahrevorgängen, Abfragen und Fehlern.

sms.log

Ort: /var/log/vmware/sms/sms.log

Der Storage Monitoring Service (SMS) Log protokolliert Ereignisse im Zusammenhang mit Speicherüberwachungs- und Verwaltungsaufgaben, einschließlich Datenspeichern, Speichergeräten und Speicheralarme.

invsvc.log

Ort: /var/log/vmware/invsvc/invsvc.log

Der Inventory Service Log enthält Informationen über vCenter Server Inventuroperationen, wie Objektaktualisierungen, Datenerfassung und Synchronisation.

applmgmt.log

Ort: /var/log/vmware/applmgmt/applmgmt.log

Diese Log-Datei ist im Zusammenhang mit dem Appliance Management Service und liefert Informationen über die Bereitstellung und Konfiguration der vCenter Server Appliance.

vmware-sts-idmd.log

Ort: /var/log/vmware/sso/vmware-sts-idmd.log

Dieser Log protokolliert Ereignisse im Zusammenhang mit dem VMware Single Sign-On (SSO) Service, Identitätsmanagement und Authentifizierungsprozessen.

stats.log

Ort: /var/log/vmware/perfcharts/stats.log

Die Datei stats.log ist mit dem Dienst für Leistungsdiagramme des vCenter Servers verbunden (auch als vCenter Performance Charts bekannt). Sie enthält statistische Daten und leistungsbezogene Informationen, die vom Leistungsdiagramm-Dienst gesammelt wurden.

Der Leistungsdiagramm-Dienst bietet grafische Darstellungen von Leistungsmetriken für virtuelle Maschinen und Hosts. Die Datei stats.log protokolliert Daten, die zur Generierung von Leistungsdiagrammen und Grafiken zur Überwachung und Analyse der Leistung von Komponenten der virtuellen Infrastruktur verwendet werden können.

HINWEIS: Der Leistungsdiagramm-Dienst ist für die Überwachung der Echtzeitleistung von VMs und Hosts unerlässlich, und die Datei stats.log spielt eine Rolle bei der Speicherung der zugrunde liegenden Daten.

eam.log

Speicherort: /var/log/vmware/eam/eam.log

Die Datei eam.log gehört zum ESX Agent Manager (EAM) Dienst im vCenter Server. EAM ist für das Management von vSphere-Agenten, einschließlich vSphere Installation Bundles (VIBs) und Erweiterungs-Agenten, verantwortlich.

Die Datei eam.log protokolliert Ereignisse und Aktivitäten im Zusammenhang mit dem Lebenszyklusmanagement von vSphere-Agenten. Sie speichert Informationen zu Agentenbereitstellungen, Upgrades und Validierungen. Wenn Sie den Standort des VMware Lifecycle Manager-Protokolls suchen, überprüfen Sie /var/log/vmware/eam/eam.log

HINWEIS: Der ESX Agent Manager stellt sicher, dass die korrekten Versionen von VIBs auf ESXi-Hosts installiert sind und dass Erweiterungs-Agenten korrekt registriert sind. Die Datei eam.log ist entscheidend für die Verfolgung dieser Operationen und die Erkennung von Problemen im Zusammenhang mit vSphere-Agenten.

Wo Logs gespeichert werden

Lassen Sie uns herausfinden, auf welcher Partition und in welchen Verzeichnissen VMware-Protokolle gespeichert sind. Bei einer Standardinstallation von VMware ESXi werden Protokolle in verschiedenen Verzeichnissen auf verschiedenen Partitionen gespeichert. Der typische Speicherort von VMware-Protokollen, wie VMkernel-Protokollen auf einem ESXi-Host, ist:

/scratch/log/

Symlinks befinden sich in /var/log/, aber Protokolldateien werden auf einer ESXi-Scratch-Partition gespeichert (siehe die obigen und unten stehenden Screenshots). Wir haben die Scratch-Partition und den temporären Speicher behandelt, als wir erklärt haben, wie man ESXi auf einem USB-Flash-Laufwerk installiert.

Zum Beispiel können Sie auf Host-Verwaltungsprotokolle in /var/log/hostd.log über den Symlink (symbolischer Link) zugreifen, aber die Datei hostd.log befindet sich im Verzeichnis log auf der /scratch-Partition.

Virtuelle Maschinenprotokolle befinden sich normalerweise auf einem VM-Datenspeicher im VM-Verzeichnis und werden nach dem Neustart des ESXi-Servers nicht gelöscht, zum Beispiel: /vmfs/volumes/datastore_name/vm_name/vmware.log

Wenn eine VM-Protokolldatei (vmware.log) voll ist, wird sie umbenannt in vmware-1.log, vmware-2.log, usw.

Sie können VM-Protokolle aktivieren oder deaktivieren, indem Sie zu VM-Einstellungen > VM-Optionen im VMware vSphere Client gehen und die Erweiterten Optionen erweitern, die die Protokollierung aktivieren Checkbox enthalten.

Die /scratch-Partition wird auf einem ESXi-Host für die Speicherung von Protokollen und anderen temporären Dateien verwendet. In einigen Installationen wird die /scratch-Partition als Dateisystem im Arbeitsspeicher (tmpfs) konfiguriert. Wenn Sie Protokolle über Neustarts hinweg beibehalten müssen, können Sie einen persistenten Speicherort für Protokolle mit dem Befehl „esxcli system syslog“ und anderen unten erklärten Befehlen konfigurieren.

Beachten Sie, dass sich die Speicherorte von ESXi-Protokollen je nach ESXi-Version und -Konfiguration unterscheiden können. Darüber hinaus können Protokolle auf einem persistenten Speichergerät gespeichert werden, wenn sie explizit vom Systemadministrator konfiguriert wurden.

Ort der vCenter-Protokolle

Die meisten vCenter Server-Protokolle befinden sich im Verzeichnis /var/log/vmware/. VMware vCenter Server speichert Protokolle nicht auf einer temporären (nicht persistenten) Partition wie ESXi. Stattdessen werden die Protokolle des vCenter Servers normalerweise auf der lokalen Festplatte des Betriebssystems oder einem eingehängten Speichervolumen gespeichert, was bedeutet, dass sie über Neustarts hinweg persistent sind. VMware vCenter Server Appliance (VCSA) basiert, wie wir uns erinnern, auf Photon Linux, und VCSA ist der neueste vCenter-Bereitstellungsansatz, der in den neuesten vSphere-Versionen verwendet wird.

Der Speicherort der vCenter-Protokolle für die Linux-basierte Installation (VCSA) ist:

/var/log/vmware/vpx/

Der genaue Speicherort der vCenter-Protokolle hängt vom Betriebssystem ab, auf dem der vCenter Server installiert ist. Der auf Windows basierende vCenter Server, der bis zu VMware vSphere 6.7 verwendet wurde und veraltet ist, verwendete den folgenden Standard-Speicherort, um die VMware vCenter-Protokolle zu speichern:

C:\ProgramData\VMware\vCenterServer\logs\

Beachten Sie, dass die Speicherorte der vCenter-Protokolle je nach Version und Konfiguration des vCenter Servers variieren können. Sie können sich immer auf die offizielle VMware-Dokumentation oder die spezifische Dokumentation der vCenter-Server-Version beziehen, um die genauen Protokollspeicherorte zu finden.

Da der vCenter Server eine zentrale Verwaltungsplattform ist, verlässt er sich auf persistente Protokolle, um historische Informationen zu pflegen und die Fehlersuche sowie die Leistungsanalyse im Laufe der Zeit zu erleichtern. Im Gegensatz zu ESXi, der für temporäre Protokolle (für einige Standardkonfigurationen) ein In-Memory-Dateisystem verwendet, sind die vCenter Server-Protokolle so konzipiert, dass sie persistent sind und auf einem permanenten Speichergerät gespeichert werden. Was die nicht persistente Speicherung für ESXi-Protokolle betrifft, so können Sie den Protokollspeicherort auf ESXi ändern.

So greifen Sie auf VMware-Protokolle zu

Wir haben erkundet, was VMware-Protokolle sind und wo sie gespeichert sind. Jetzt müssen wir herausfinden, wie man die VMware ESXi-Protokolle überprüft, um weitere Analysen durchzuführen. Sie können auf verschiedene Arten auf VMware ESXi-Protokolle zugreifen.

VMware Host Client

Führen Sie die folgenden Schritte aus, um ESXi-Protokolle im VMware Host Client anzuzeigen:

  1. Melden Sie sich in Ihrem Webbrowser beim VMware Host Client an.
  2. Klicken Sie auf Host > Monitor im Navigationsbereich und wählen Sie den Protokolle tab aus.
  3. Wählen Sie einen der ESXi-Logs aus, um die protokollierten Informationen anzuzeigen. Sie können die benötigte Zeichenfolge mithilfe eines Such-Felds suchen.

DCUI (ESXi)

Sie können die direkte Benutzeroberfläche der Konsole auf ESXi verwenden, um Protokolle anzuzeigen. Sie benötigen physischen Zugriff auf einen ESXi-Host, einschließlich eines Monitors und einer Tastatur, oder Sie können einen KVM-Switch und ähnliche Technologien verwenden.

  1. Melden Sie sich an der direkten Benutzeroberfläche der ESXi-Konsole (DCUI) an.
  2. Wählen Sie den Eintrag Systemprotokolle anzeigen im Menü Systemanpassung aus.
  3. Drücken Sie eine Taste von 1 bis 6, um das entsprechende VMware-Protokoll auf Ihrem ESXi-Server anzuzeigen. Die Erklärung für jede Ziffer wird im rechten Bereich der Benutzeroberfläche angezeigt.

  4. Nachdem Sie die benötigte Ziffer eingegeben haben, sehen Sie eine Vollbildseite mit Protokollen. Sie können / eingeben und eine Suchzeichenfolge eingeben, um nur Zeilen mit den benötigten Informationen anzuzeigen. Drücken Sie q, um diesen Modus zu beenden und zum vorherigen DCUI-Menü zurückzukehren.

Webbrowser

Öffnen Sie eine Seite mit Links zum Herunterladen von Protokolldateien in einem Webbrowser. Sie müssen sich mit administrativen Berechtigungen für den ESXi-Host anmelden, um auf diese Seite zugreifen zu können.

https://<ESXI_host_IP>/host

ESXi-Befehlszeile

Die ESXi-Befehlszeile, ähnlich wie DCUI, kann verwendet werden, um ESXi-Protokolle anzuzeigen, wenn keine Netzwerkverbindung verfügbar ist und Sie Methoden zur remote Anzeige von Protokollen über das Netzwerk nicht verwenden können.

  1. Stellen Sie sicher, dass die ESXi-Shell in DCUI aktiviert ist (Fehlerbehebungsoptionen > ESXi-Shell aktivieren).
  2. Drücken Sie Alt+F1, um die ESXi-Shell zu öffnen.
  3. Verwenden Sie Befehle, um ESXi-Protokolle anzuzeigen.

SSH

Remote-SSH-Zugriff ist eine der praktischsten und leistungsfähigsten Methoden zur Anzeige und Analyse von VMware-Protokollen.

  1. Aktivieren Sie SSH in DCUI (Fehlerbehebungsoptionen > SSH aktivieren) oder im VMware Host Client, um remote SSH-Zugriff auf einen ESXi-Host zu ermöglichen.
  2. Verbinden Sie sich mit dem ESXi-Host mithilfe eines SSH-Clients (zum Beispiel PuTTY, wenn Sie von Windows aus eine Verbindung herstellen).
  3. Verwenden Sie Befehle, um ESXi-Protokolle anzuzeigen und für die Analyse von VMware-Protokollen.

VMware-Protokollanalyse mit Beispielen

Nun kennen wir die Namen und Standorte der VMware-Protokolle sowie Methoden zum Zugriff auf Protokolle, die für die Fehlerbehebung verschiedener Probleme in einer virtualisierten Umgebung von unschätzbarem Wert sind. Es ist an der Zeit, einige praktische Beispiele zu erkunden, wie man VMware-Protokolle zur Fehlerbehebung verwendet.

Identifizierung von ESXi-Host-Konnektivitätsproblemen

Problem: Virtuelle Maschinen auf einem ESXi-Host haben intermittierende Netzwerkverbindungsprobleme.

Zu überprüfende Protokolle:

  • /var/log/vmkernel.log
  • /var/log/vobd.log
  • /var/log/hostd.log

Fehlerbehebungsschritte: Überprüfen Sie die VMkernel-Protokolle auf netzwerkbezogene Nachrichten und suchen Sie nach Fehlern oder verworfenen Paketen. Überprüfen Sie auch die hostd-Protokolle auf mögliche Probleme mit dem Host-Managementdienst. Das vobd.log kann Einblick in speicherbezogene Probleme geben, die sich auf die VM-Netzwerkkommunikation auswirken könnten.

Fehler beim Erstellen eines VM-Snapshots

Problem: Der Versuch, einen Snapshot einer virtuellen Maschine zu erstellen, schlägt fehl.

Zu überprüfende Protokolle:

  • /vmfs/volumes/datastore_name/vm_name/vmware.log
  • /var/log/vmkernel.log

Fehlerbehebungsschritte: Untersuchen Sie das vmware.log der spezifischen virtuellen Maschine nach fehlerhaften oder warnenden Nachrichten im Zusammenhang mit Snapshots. Gleichzeitig überprüfen Sie die VMkernel-Protokolle auf speicherbezogene Probleme, die die Snapshot-Operation verhindern könnten.

VM-Performance-Degradierung

Problem: Eine virtuelle Maschine zeigt Leistungsprobleme wie hohe CPU- oder Speicherauslastung an.

Zu überprüfende Protokolle:

  • /vmfs/volumes/datastore_name/vm_name/vmware.log
  • /var/log/vmkernel.log

Fehlerbehebungsschritte: Analysieren Sie das vmware.log der betroffenen VM auf Anwendungsfehler oder Ressourcennutzungsspitzen. Überprüfen Sie gleichzeitig die VMkernel-Protokolle auf leistungsbezogene Nachrichten und stellen Sie sicher, dass der ESXi-Host über ausreichend verfügbare Ressourcen verfügt.

Fehler beim Start des vCenter-Diensts

Problem: Der vCenter-Serverdienst startet nicht.

Zu überprüfende Protokolle:

  • /var/log/vmware/vpxd/vpxd.log auf dem vCenter-Server
  • /var/log/vpxa.log auf einem ESXi-Host

Fehlerbehebungsschritte: Überprüfen Sie das vpxd.log auf Fehler oder Ausnahmen während des Starts des vCenter-Servers. Überprüfen Sie außerdem das vpxa.log auf verwalteten ESXi-Hosts, um eine ordnungsgemäße Kommunikation zwischen vCenter und den Hosts sicherzustellen.

VMware High Availability (HA) Cluster-Failoverproblem

Problem: Virtuelle Maschinen starten nach einem ESXi-Host-Ausfall nicht auf anderen Hosts in einem HA-Cluster neu.

Zu überprüfende Protokolle: /var/log/fdm.log

Fehlerbehebungsschritte. Analysieren Sie die fdm.log auf den betroffenen Hosts, um Fehler oder Probleme im HA-Cluster zu identifizieren. Suchen Sie nach Herzschlagmeldungen, dem Prozess zur Wahl des Master-Hosts und möglichen Gründen für Ausfälle bei der VM-Failover.

vMotion-Fehler

Problem: VMware vMotion schlägt fehl, wenn versucht wird, eine VM zwischen Hosts zu migrieren.

Zu überprüfende Protokolle:

  • /var/log/vmkernel.log
  • /var/log/vobd.log

Fehlerbehebungsschritte. Überprüfen Sie die vmkernel.log auf vMotion-bezogene Nachrichten und eventuelle Netzwerkverbindungsprobleme. Überprüfen Sie außerdem die vobd.log auf potenzielle Speicherprobleme, die sich auf vMotion auswirken könnten.

Probleme bei der Installation von VMware Tools

Problem: Die Installation von VMware Tools schlägt bei einer virtuellen Maschine fehl.

Zu überprüfende Protokolle: /vmfs/volumes/datastore_name/vm_name/vmware.log

Fehlerbehebungsschritte. Überprüfen Sie die vmware.log innerhalb der VM auf Fehler oder Installationsnachrichten von VMware Tools.

Beim Troubleshooting mit VMware-Protokollen ist es wesentlich, Ereignisse in mehreren Protokollen zu korrelieren, um ein umfassendes Verständnis des Problems zu erhalten. Darüber hinaus können Protokollanalysetools wie VMware Aria Operations for Logs (ehemals vRealize Log Insight) den Prüfungsprozess der Protokolle optimieren und ein effizienteres Troubleshooting von VMware in komplexen Umgebungen ermöglichen.

Troubleshooting von Speicherproblemen

Sie können VMware-Protokolle verwenden, um Probleme mit Festplatten oder Solid-State-Laufwerken zu identifizieren, z. B. wenn es fehlerhafte Blöcke auf einer HDD gibt. Um Probleme mit Festplatten (HDDs) oder Solid-State-Laufwerken (SSDs) in einer VMware-Umgebung zu identifizieren, können Sie verschiedene VMware-Protokolle verwenden, um speicherbezogene Ereignisse und Fehler zu verfolgen und zu analysieren.

  1. Überprüfen Sie die VMkernel-Protokolle (/var/log/vmkernel.log):

    VMkernel-Protokolle liefern systemrelevante Informationen auf niedriger Ebene, einschließlich speicherbezogener Ereignisse. Suchen Sie nach Meldungen, die auf Festplatten-E/A-Fehler oder SCSI-Sense-Codes im Zusammenhang mit Festplattenproblemen hinweisen.

    Beispiel für einen Fehler: „Geräte-E/A-Fehler„, „Mediumfehler erkannt“ oder „Nicht behebbarer Fehler in den Daten

  2. Überprüfen Sie spezifische Protokolle für Speicher (/var/log/vobd.log):

    Die Datei vobd.log enthält speicherbezogene Meldungen, einschließlich Fehler, die vom Speicher-Subsystem festgestellt wurden.

    Fehlerbeispiel: „Speicherfehler: Gerät ’naa.xxxxxxxxxxxxxx’… Sinn: Nicht behobener Lesevorgangfehler“

  3. Prüfen Sie die Protokolle der virtuellen Maschine (/vmfs/volumes/datastore_name/vm_name/vmware.log):

    Protokolle spezifisch für virtuelle Maschinen können Disk I/O-Fehler offenbaren, die bei einer bestimmten VM aufgetreten sind.

    Fehlerbeispiel: „Fehler bei Festplatten-E/A aufgetreten“ oder „Fehler bei Festplatte festgestellt“ oder „Fehlerstapel: Unfähig, Partitionstabelle zu lesen“

Empfehlungen: Was zusätzlich zu VMware-Protokollen verwendet werden soll

Es gibt Empfehlungen, was zusätzlich zu VMware-Protokollen für eine bessere und detailliertere Diagnose und Fehlerbehebung verwendet werden soll, um Speicherprobleme rechtzeitig zu erkennen.

  • Überwachen Sie vCenter Alarme und Ereignisse. Behalten Sie die vCenter Server Alarme und Ereignisse im Zusammenhang mit der Speicherung im Auge. Alarme, die durch Speicherprobleme ausgelöst werden, können Einblicke in potenzielle Festplattenprobleme bieten.
  • Verwenden Sie VMware Health Checks. VMware bietet verschiedene Gesundheitsüberprüfungen, die über den vSphere Client durchgeführt werden können. Diese Überprüfungen können speicherbezogene Probleme identifizieren und Empfehlungen anbieten.
  • Verwenden Sie Überwachungstools von Drittanbietern. Implementieren Sie spezielle IT-Überwachungs– und Protokollanalysetools, um Protokolldaten von mehreren Hosts und VMs zu zentralisieren und zu analysieren. Diese Tools können dabei helfen, Festplattenprobleme in der gesamten virtuellen Infrastruktur zu identifizieren.
  • Beim Identifizieren von defekten Blöcken auf HDDs ist es wichtig, auf verschiedene Fehlermeldungen und Muster zu achten, insbesondere auf solche, die auf Medien- oder Lese-/Schreibfehler hinweisen. Defekte Blöcke können zu Datenkorruption oder Leistungseinbußen führen, und eine frühzeitige Erkennung kann schwerwiegendere Probleme verhindern. Wenn Daten auf ausgefallenen Festplattengeräten verloren gehen, ist eine Datenwiederherstellung aus einem VMware-Backup auf gesunden Festplatten unerlässlich.

ClusterproblemeDie Verwendung von VMware ESXi-Protokollen und vCenter-Protokollen kann dabei helfen, clusterbezogene Probleme in Ihrer virtualisierten Umgebung zu identifizieren. Clusterprobleme können sich als Probleme mit der VM-Leistung, HA-Failovers, vMotion-Ausfällen oder anderen clusterbezogenen Operationen manifestieren.

Die Verwendung von VMware ESXi-Protokollen und vCenter-Protokollen kann bei der Identifizierung von Cluster-bezogenen Problemen in Ihrer virtuellen Umgebung von entscheidender Bedeutung sein. Cluster-Probleme können sich als Probleme mit VM-Leistung, HA-Failover, vMotion-Fehlern oder anderen clusterbezogenen Vorgängen äußern.

  • Überprüfen Sie die vCenter Server-Protokolle:
    • Zugang zu vCenter-Protokollen, wie z.B. vpxd.log und vpxa.log, die sich unter /var/log/vmware/vpxd/vpxd.log und /var/log/vpxa.log befinden.
    • Suchen Sie nach Fehlermeldungen oder Warnmeldungen im Zusammenhang mit Cluster-Betrieb, Ressourcenverwaltung und Kommunikation zwischen vCenter und ESXi-Hosts.
    • Achten Sie auf Ereignisse während der Cluster-Erstellung, Konfigurationsänderungen und Probleme mit Cluster-Diensten.
  • Überprüfen Sie die ESXi-Hostprotokolle und greifen Sie auf die ESXi-Hostprotokolle zu, einschließlich vmkernel.log, hostd.log und fdm.log:
    • vmkernel.log: Überprüfen Sie auf Ereignisse im Zusammenhang mit Clustern, wie z.B. vMotion-Versuche, HA-Herzstörungen oder Fehler bei der Ressourcenteilung.
    • hostd.log: Suchen Sie nach mit Clustern verbundenen Nachrichten im Zusammenhang mit Aufgaben und Ereignissen, die vom Host-Verwaltungsdienst verarbeitet werden.
    • fdm.log: Untersuchen Sie zur Überprüfung von HA-bezogenen Ereignissen, einschließlich Host-Ausfällen, VM-Neustarts und Master-Wahlereignissen.
  • Überprüfen Sie die Protokolle der virtuellen Maschinen:
    • Greifen Sie auf VM-Protokolle wie vmware.log zu, um Probleme spezifisch für einzelne VMs im Cluster zu identifizieren.
    • VM-Protokolle können Einblicke in die VM-Leistung, Ressourcenbeschränkungen oder Fehler bei vMotion-Operationen geben.
  • Überwachen von clustereigenen Alarme und Ereignissen:
    • Erstellen Sie mit vCenter Alarme und Ereignisse, die spezifisch für die Clusterleistung und den Gesundheitszustand sind.
    • Konfigurieren Sie Alarme für Probleme wie übermäßigen Ressourcenverbrauch, Clusterpartitionierung oder VM-Ausfälle.
    • Überprüfen Sie die Ereignisse-Registerkarte von vCenter auf clustereigene Ereignisse wie VM-Migrationen, Clusterumkonfigurationen oder HAvorrichtungen.

Indem Sie Informationen aus ESXi-Protokollen, vCenter-Protokollen, Leistungsmetriken und clustereigenen Ereignissen kombinieren, können Sie ein umfassendes Verständnis des Clusterzustands erlangen und Probleme identifizieren, die die Leistung von virtuellen Maschinen, Hochverfügbarkeit und die allgemeine Stabilität des Clusters beeinträchtigen. Regelmäßige Protokollanalyse und proaktive Überwachung können dazu beitragen, Clusterprobleme zu verhindern oder sie schnell zu beheben, wenn sie auftreten.

Netzwerk-Fehlerbehebung

Netzwerk-Problembehandlung in VMware vSphere beinhaltet das Identifizieren und Beheben von netzwerkbezogenen Problemen, die virtuelle Maschinen und die Kommunikation zwischen ESXi-Hosts betreffen. VMware ESXi- und vCenter-Protokolle können dabei von entscheidender Bedeutung sein, um solche Probleme aufzuspüren. Folgende Beispiele zeigen die Netzwerk-Problembehandlung mithilfe von ESXi- und vCenter-Protokollen sowie Befehle zur Extraktion relevanter Informationen.

Identifizieren von VM-Netzwerkverbindungsproblemen

Problem: Eine virtuelle Maschine kann nicht auf das Netzwerk zugreifen.

  • A command to check VMkernel logs (on an ESXi host):

    cat /var/log/vmkernel.log | grep -E 'Failed to send packet|dropped|no network'

    Dieser Befehl filtert die VMkernel-Protokolle nach Nachrichten, die sich auf Paketfehler, abgefallene Pakete oder Netzwerkunverfügbarkeit beziehen.

  • A command to check VM network configurations (on an ESXi host):

    esxcfg-vmknic -l

    Dieser Befehl listet die konfigurierten VMkernel-Netzwerkschnittstellen und IP-Adressen auf dem ESXi-Host auf. Überprüfen Sie, ob das Netzwerk der VM richtig konfiguriert ist.

Problembehandlung bei vMotion-Problemen

Problem: vMotion schlägt zwischen zwei ESXi-Hosts fehl.

  • A command to check VMkernel logs (on both source and destination ESXi hosts):

    cat /var/log/vmkernel.log | grep -E 'Migration to host|vMotion'

    Dieser Befehl hilft dabei, vMotion-bezogene Nachrichten auf beiden ESXi-Hosts zu finden.

  • A command to check vCenter events (on vCenter Server):

    vim-cmd vmsvc/get.eventlog <vmid> | grep 'Migrate'

    Ersetzen Sie <vmid> durch die ID der betroffenen virtuellen Maschine (VMID). Dieser Befehl ruft das Ereignisprotokoll für die VM ab und sucht nach vMotion-bezogenen Ereignissen.

Identifizieren von Netzwerk-Performance-Engpässen

Problem: Virtuelle Maschinen leiden unter einer herabgesetzten Netzwerkleistung.

  • A command to check ESXTOP statistics (on an ESXi host):

    esxtop

    Drücken Sie in esxtop n, um zur Netzwerkansicht zu wechseln. Überwachen Sie Metriken wie Netzwerkdurchsatz (MBTx/rx), Netzwerkpakete pro Sekunde und Netzwerkverluste pro Sekunde, um potentielle Engpässe zu identifizieren. Dieser und der nächste Befehl dienen dazu, Daten nicht aus einem VMware-Protokoll, sondern aktualisierte Informationen in Echtzeit für die VMware-Fehlersuche anzuzeigen. Sie können auch die ESXi-Betriebszeit mithilfe des esxtop Befehls anzeigen.

Beheben von Problemen mit dem vSphere Distributed Switch (VDS)

Problem: Verbindungsprobleme mit VMs auf einem vSphere Distributed Switch.

  • A command to check VDS health (on vCenter Server):

    net-dvs -l

    Dieser Befehl listet alle verteilten virtuellen Switches (VDS) und deren Status auf.

  • A command to check VDS port status (on vCenter Server):

    net-dvs -p <VDS Name>

    Ersetzen Sie <VDS Name> durch den Namen des VDS. Dieser Befehl zeigt den Status aller Ports auf dem angegebenen verteilten virtuellen Switch an.

Denken Sie daran, das Fehlersuchen in Netzwerken erfordert oft die Analyse von Protokollen und Leistungsdaten aus mehreren Quellen, einschließlich VMkernel-Protokollen, vCenter-Protokollen, Leistungsmetriken und Netzwerkkonfigurationen. Die oben angegebenen Beispiele dienen als Ausgangspunkte, um Informationen zu sammeln, die für Netzwerkprobleme relevant sind, und Sie müssen die Befehle möglicherweise an das spezifische Problem anpassen, das Sie in Ihrer vSphere-Umgebung erleben.

Reguläre Ausdrücke für die VMware-Protokollanalyse

Wie Sie in den obigen Beispielen sehen können, ist das Zugreifen auf die ESXi-Shell über SSH und die Verwendung der Kommandozeile eine mächtige Methode, um VMware-Protokolle anzuzeigen und für die VMware-Protokollanalyse. Sie können systemeigene Kommandozeilenwerkzeuge als VMware ESXi-Protokollanalysewerkzeuge verwenden. Diese Kommandozeilenwerkzeuge sind Linux-Benutzern vertraut:

  • cat ist ein Befehlszeilenwerkzeug, das den Inhalt von einem oder mehreren Textdateien in der Konsole zusammenführt und anzeigt. Es wird häufig verwendet, um den gesamten Inhalt einer Datei auf einmal anzuzeigen. Für große Dateien kann die Verwendung von cat jedoch zu einer überwältigenden Menge an Ausgabe führen, die schnell über den Bildschirm scrollt und daher für das Lesen solcher Dateien weniger praktisch ist.
  • less ist ein Befehlszeilenpuffer-Hilfsprogramm, das Ihnen ermöglicht, den Inhalt einer Textdatei anzuzeigen und durch diese zu blättern. Es zeigt jeweils einen Bildschirm von Text und bietet Navigationsoptionen, um im Dateiinhalt vorwärts und rückwärts zu navigieren. Im Gegensatz zu cat, das den gesamten Dateiinhalt in die Konsole ausgibt, ist less für das effizientere Lesen großer Dateien nützlich.
  • grep steht für „Global Regular Expression Print“. Es ist ein leistungsstarkes Kommandozeilen-Tool zum Suchen von Textmustern (Regulären Ausdrücken) in einem oder mehreren Dateien. grep kann Zeilen filtern und anzeigen, die das angegebene Muster enthalten. Es wird häufig für Texterschließungen, Log-Analysen und das Extrahieren spezifischer Informationen aus Dateien verwendet.
  • tail ist ein Kommandozeilen-Utility, das die letzten paar Zeilen einer Textdatei anzeigt. Standardmäßig zeigt tail die letzten zehn Zeilen der Datei. Es ist besonders nützlich für die Echtzeit-Überwachung von Log-Dateien, da es neue Einträge anzeigen kann, wenn sie dem Log hinzugefügt werden. Der tail Befehl wird oft zusammen mit der -f Option verwendet, um eine Datei kontinuierlich zu überwachen und Echtzeit-Updates zu sehen.
  • head ist ein Kommandozeilen-Utility, das die ersten N Zeilen einer Textdatei anzeigt. Standardmäßig zeigt das head Tool die ersten 10 Zeilen der Datei. Es ist hilfreich für das schnelle Voranschauen des Anfangs einer Datei oder das Extrahieren von Anfangsinformationen. Ähnlich wie bei tail können Sie die Anzahl der anzuzeigenden Zeilen mithilfe der -n Option angeben.

Sie können diese Kommandozeilen-Tools miteinander und mit regulären Ausdrücken für die höchste Effizienz der VMware-Log-Analyse kombinieren. Das Analysieren von Log-Dateien mithilfe von regulären Ausdrücken (Regex) in der ESXi-Kommandozeile kann eine leistungsfähige Methode sein, um spezifische Informationen zu extrahieren und Einblicke in Probleme oder Muster zu gewinnen. Im Folgenden finden Sie einige praktische Beispiele dafür, wie reguläre Ausdrücke für die Log-Analyse in ESXi verwendet werden können.

Filtern von Logs für bestimmte Ereignisse

Angenommen, Sie möchten alle Vorkommen eines bestimmten Ereignisses finden, wie zum Beispiel „Festplatten-E/A-Fehler“ im vmkernel.log-Datei.

cat /var/log/vmkernel.log | grep -E 'Festplatten-E/A-Fehler'

Dieser Befehl zeigt alle Zeilen an, die den Ausdruck „Festplatten-E/A-Fehler“ im vmkernel.log enthalten.

Extrahieren von IP-Adressen aus Protokollen

Um IP-Adressen aus Protokollen in der hostd.log-Datei zu extrahieren, können Sie ein Regex-Muster verwenden, das IPv4-Adressen abgleicht.

cat /var/log/hostd.log | grep -E -o '([0-9]{1,3}\.){3}[0-9]{1,3}'

Dieser Befehl zeigt alle IPv4-Adressen an, die in der hostd.log gefunden wurden.

Musterfindung mit Quantifizierern

Angenommen, Sie möchten alle Zeilen in der vmware.log-Datei finden, die eine beliebige Anzahl aufeinanderfolgender Ziffern enthalten.

cat /vmfs/volumes/datastore_name/vm_name/vmware.log | grep -E '[0-9]+'

Dieser Befehl zeigt alle Zeilen an, die eine oder mehrere Ziffern in der vmware.log enthalten.

Suche nach mehreren Mustern

Um Zeilen in der vpxd.log-Datei zu finden, die entweder „Fehler“ oder „Warnung“ enthalten, können Sie den OR-Operator | im Regex-Muster verwenden.

cat /var/log/vmware/vpxd/vpxd.log | grep -E 'Fehler|Warnung'

Dieser Befehl zeigt alle Zeilen an, die entweder „Fehler“ oder „Warnung“ in der vpxd.log enthalten.

Übereinstimmung mit Wildcards

Angenommen, Sie möchten alle Zeilen im vobd.log-Datei finden, die das Wort „failed“ enthalten, unabhängig von der Groß- und Kleinschreibung.

cat /var/log/vobd.log | grep -i 'failed'

Dieser Befehl zeigt alle Zeilen an, die „failed“, „FAILED“, „Failed“ usw. im vobd.log enthalten.

Verwenden von Erfassungsgruppen

Um Datums- und Uhrzeitinformationen aus Zeilen in der sms.log-Datei zu extrahieren, können Sie Erfassungsgruppen in dem Regex-Muster verwenden.

cat /var/log/vmware/sms/sms.log | grep -Eo '([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2})'

Dieser Befehl zeigt alle Vorkommen von Datum und Uhrzeit im sms.log an.

Hinweis: Sie können den Pfad zur benötigten Log-Datei für Ihren spezifischen Anwendungsfall ändern.

Diese Beispiele zeigen, wie man reguläre Ausdrücke in Kombination mit dem grep-Befehl verwendet, um Log-Analyse in der ESXi-Kommandozeilenschnittstelle durchzuführen. Reguläre Ausdrücke bieten leistungsstarke Mustererkennungsfähigkeiten, mit denen Sie spezifische Informationen extrahieren, Log-Dateien filtern und Muster effizient finden können. Denken Sie daran, dass die tatsächlichen Regex-Muster je nach dem Inhalt der Log-Datei und der zu extrahierenden oder zu suchenden Informationen variieren können. Sie können diese Beispiele verwenden und die Befehle anpassen, um Ihren spezifischen Bedürfnissen bei der VMware-Log-Analyse gerecht zu werden.

Wie man VMware-Logs exportiert und Support-Pakete herunterlädt

Es kann vorkommen, dass die VMware-Protokollanalyse nicht dabei hilft, Probleme auf einem ESXi-Host oder in vCenter zu beheben. In diesem Fall können Sie Protokolle exportieren oder ein Support-Paket herunterladen und diese Informationen an den VMware-Support senden. Spezialisten von VMware-Support können Ihnen helfen, Probleme mit der VMware-Umgebung zu beheben, wenn Sie eine lizenzierte Version von VMware vSphere haben.

VMware Host Client

Um ein Support-Paket zu erstellen und VMware-Protokolle zu exportieren, führen Sie die folgenden Schritte aus:

  1. Klicken Sie im Bereich Navigator auf Monitor.
  2. Wählen Sie die Registerkarte Logs.
  3. Klicken Sie auf Generate support bundle.
  4. Speichern Sie das heruntergeladene Bundle-Archiv in Ihrem Webbrowser.

VMware vSphere Client

Um VMware-Systemprotokolle im vSphere Client zu exportieren, führen Sie die folgenden Schritte aus:

  1. Wählen Sie die Ansicht Hosts and Clusters und wählen Sie den ESXi-Host, dessen Protokolle Sie exportieren möchten (im linken Bereich, der Navigationsbereich).
  2. Rechtsklicken Sie auf den ESXi-Host und klicken Sie in dem sich öffnenden Menü auf Export system logs.

  3. Wählen Sie, welche ESXi-Protokolle Sie exportieren möchten, und klicken Sie auf Export logs.

Um das Bundle in VMware Support in vSphere Client hochzuladen, führen Sie die folgenden Schritte aus:

  1. Klicken Sie auf das Menü-Symbol oben links.
  2. Gehen Sie zu Verwaltung > Support > Datei auf Serviceanfrage hochladen und drücken Sie die Datei auf Serviceanfrage hochladen-Schaltfläche.

Link in einem Webbrowser

Verwenden Sie den Link zum cgi-Skript auf dem ESXi-Host:

http://<ESXi_IP_Adresse>/cgi-bin/vm-support.cgi

Laden Sie das Bundle mit den exportierten ESXi-Protokollen (eine .tgz-Datei) herunter und speichern Sie sie.

Bundle erstellen in ESXi Shell (Kommandozeile)

Sie können das folgende Kommando ausführen, um in ESXi Shell ein Support-Bundle mit den ESXi-Protokollen zu erstellen:

/usr/bin/vm-support

Fazit

Bei der Fehlerbehebung von VMware vSphere-Problemen, einschließlich ESXi und vCenter, kann die Analyse von VMware-Protokollen Administratoren helfen, die Ursache von Problemen zu identifizieren und geeignete Korrekturmaßnahmen zu ergreifen. Durch die Analyse dieser Protokolle können Administratoren Probleme wie Leistungsengpässe, Konnektivitätsprobleme, Konfigurationsfehler und potenzielle Sicherheitsbedenken identifizieren und beheben. Eine regelmäßige Protokollüberprüfung ist für das proaktive Management und die Aufrechterhaltung der Stabilität und Zuverlässigkeit von VMware vCenter und der virtualisierten Umgebung unerlässlich.

Durch regelmäßige Überwachung der VMware-Infrastruktur und VM-Backups können Probleme rechtzeitig vermieden und Datenverluste vermieden werden.

Source:
https://www.nakivo.com/blog/vmware-logs-analysis-for-troubleshooting/