Durch die Verwendung der richtigen Syslog-Einstellungen können Sie eine proaktive Überwachung Ihrer Umgebung erreichen, Ausfallzeiten reduzieren und vorbeugende Maßnahmen auf Servern ergreifen.

Beim Einrichten von syslog müssen Sie mehrere Parameter berücksichtigen, die sich auf die Aufbewahrung von Protokolldateien, die Syslog-Übertragung, die Übertragungslänge, die Fehlerbehandlung und die Einrichtung von SSL-Zertifikaten für die sichere Syslog-Meldungsübertragung auswirken. Nachfolgend finden Sie Empfehlungen für die Optimierung Ihrer Syslog-Parameter. Eine Beschreibung aller verfügbaren Parameter wird unter ESXi-Syslog-Optionen angezeigt.

Vorgehensweise zum Festlegen der Aufbewahrung von Protokolldateien

Standardmäßig können Protokolldateien nicht über eine konfigurierte Größe hinaus erweitert werden. Sobald eine Protokolldatei die konfigurierte Größe erreicht, wird die Protokollierung zu einer neuen Protokolldatei weitergeleitet und die älteste Protokolldatei wird gelöscht.
Hinweis: Es wird empfohlen, die Rotations- und Größeneinstellungen auszugleichen. Durch das Erhöhen der Einstellung „Rotieren“ wird sichergestellt, dass syslog-Dateien oft genug generiert werden, um eine potenzielle Beschädigung oder Zerstörung durch die anderen Protokolldateien zu verhindern. Durch das Erhöhen der Größeneinstellung wird die Zeit für den Wechsel zu einer anderen Protokolldatei reduziert. Optimale Größeneinstellungen sind ein Vielfaches von 1.024 KiB.
Verwenden Sie die Einstellung Syslog.global.defaultSize, um die maximale Größe der Protokolldateien in KiB anzugeben, und Syslog.global.defaultRotate, um die maximale Anzahl alter Protokolldateien festzulegen, die beibehalten werden sollen, bevor sie in eine neue Protokolldatei rotieren. Um die Parameter für die Aufbewahrung von Protokolldateien für ein bestimmtes Programm zu ändern, verwenden Sie Syslog.loggers.<progName>.rotate und Syslog.loggers.<progName>.size settings, wobei <progName> der Name des Programms ist, dessen Parameter Sie anpassen möchten.

Verwalten von Einstellungen, die sich auf die Protokolldatei der virtuellen Maschine auswirken

Sie können einige Einstellungen, die sich auf die Protokolldatei der virtuellen Maschine, vmware.log, auswirken, entweder in der Datei vmx-Datei oder in der Datei /etc/vmware/config konfigurieren. Sie müssen eine virtuelle Maschine ausschalten, um die Datei vmx-Datei bearbeiten zu können. Diese Änderungen werden nur auf dieser virtuellen Maschine wirksam. Wenn Sie die Datei /etc/vmware/config verwenden, müssen Sie der Einstellung das Präfix „vmx“ hinzufügen, z. B. vmx.log.keepOld = "20". Änderungen wirken sich auf alle virtuellen Maschinen auf dem ESXi-Host aus.

Tabelle 1. Konfigurierbare Einstellungen für die vmware.log-Datei
Parameter Beschreibung Beispiel Anmerkungen
logging

Deaktiviert die gesamte Protokollierung virtueller Maschinen.

Der Standardwert ist logging = "TRUE".

So deaktivieren Sie die Protokollierung virtueller Maschinen:

logging = "FALSE"

Verwenden Sie diese Einstellung nicht, da die Deaktivierung der Protokollierung virtueller Maschinen es extrem schwierig oder unmöglich macht, Unterstützung bei Problemen mit virtuellen Maschinen zu erhalten. Wenn Sie diese Einstellung aus irgendeinem Grund verwenden müssen, können Sie sie nur in der vmx-Datei einer virtuellen Maschine ablegen.
log.throttleBytesPerSec

Zur Steuerung, wann eine Protokolldatei drosselt. Die Protokolldateidrosselung tritt auf, wenn Schreibvorgänge in vmware.log die festgelegte Rate für einen längeren Zeitraum überschreiten. Dies tritt auf, wenn Code innerhalb des VMX-Prozesses, der eine virtuelle Maschine steuert, übermäßig viele Protokollmeldungen erstellt. Der Standardwert für dieser Einstellungen ist 1 KB/s.

Im Falle von Protokolldrosselungen wird in der Datei vmware.log <<< Protokoll gedrosselt >>> angezeigt.

log.throttleBytesPerSec = "1500"

Um die Protokolldrosselung zu deaktivieren, verwenden Sie

log.throttleBytesPerSec = "0xFFFFFFFF"

Die Protokolldateidrosselung unterdrückt möglicherweise Informationen, die zur Diagnose von Problemen mit der betroffenen virtuellen Maschine erforderlich sind. Wenn Sie die Protokolldrosselung deaktivieren müssen, platzieren Sie die Zeile aus dem Beispiel in der Datei vmx-Datei der betroffenen virtuellen Maschine. Entfernen Sie die Zeile, wenn die Debugging-Sitzung beendet ist.
log.keepOld

Steuert die Anzahl der aufzubewahrenden älteren vmware.log-Dateien.

log.keepOld = "20" Setzen Sie den Wert dieser Einstellung nicht unter den Standardwert (10). Wenn virtuelle Maschinen häufig verändert oder verschoben werden, sollten Sie diese Einstellung auf 20 oder mehr erhöhen.
log.rotateSize

Steuert die maximale Größe einer vmware.log-Datei in Bytes.

log.rotateSize = "2500000"

Um die Beschränkung der maximalen Größe einer vmware.log-Datei zu deaktivieren, verwenden Sie

log.rotateSize = "0"

Ein Wert dieser Einstellung unter 100.000 kann zu einem Verlust relevanter Protokollmeldungen führen und die Leistung der virtuellen Maschine beeinträchtigen. In ESXi 7.x und früher wird die Größe einer vmware.log-Datei nicht durch den Standardwert dieser Einstellung begrenzt. In ESXi 8.x und höher ist der Standardwert dieser Einstellung 2048000.
log.fileName

Steuert den Namen und den Speicherort der Protokolldateien der virtuellen Maschine.

log.fileName = "myVMLog"

Mit dieser Einstellung wird der Name der Protokolldateien der virtuellen Maschine von vmware.log in myVMlog geändert.

log.fileName = "/vmfs/volumes/vol1/myVM/myVM.log"

Diese Einstellung leitet Protokolldateien der virtuellen Maschine in ein Verzeichnis auf einem anderen VMFS- Volume (vol1) weiter, wobei myVM für einen Dateinamen verwendet wird.

Speichern Sie keine Protokolldatei außerhalb des Verzeichnisses der virtuellen Maschine, um sicherzustellen, dass die Erfassung von Host-Support-Paketen die Protokolldatei übernimmt, was für das Debuggen von Problemen bei virtuellen Maschinen entscheidend sein kann.
log.fileLevel

Steuert die Mindestebene, auf der Nachrichten in vmware.log geschrieben werden. Jeder Protokollmeldung ist eine Ebene zugeordnet. Ebenen unterhalb der angegebenen Einstellung werden keiner Protokolldatei der virtuellen Maschine hinzugefügt. Die Protokollierungsebenen für Nachrichten der virtuellen Maschine (von der am meisten bis zu der am wenigsten eingeschränkten) lauten:

  • Fehler
  • Warnung
  • Hinweis
  • Info (Standard)
  • Ausführlich (erweitert)
  • Debuggen
  • debug1
  • debug2
  • debug3
  • debug4
  • debug5
  • debug6
  • debug7
  • debug8
  • debug9
  • debug10
log.fileLevel = "debug1"

Legen Sie die Ebene nicht auf eine eingeschränktere Ebene als „Info“ fest, um das Herausfiltern von Meldungen zu vermeiden, die zum Debuggen von Problemen bei virtuellen Maschinen erforderlich sind. Verringern Sie die Ebene unterhalb von „Info“ nur auf Anforderung durch den lizenzierten Support. Stellen Sie die Einstellung auf „Info“ wieder her, nachdem das Debugging beendet wurde.

log.filter.minLogLevel.<groupName>

Steuert die Ausgabe spezieller Debugging-Meldungen.

log.filter.minLogLevel.disklib = "debug5" Verwenden Sie diese Einstellung nur auf Anforderung durch den lizenzierten Support, der einen oder mehrere <groupName>-Parameter bereitstellen sollte. Entfernen Sie die Einstellung, nachdem das Debugging beendet wurde.
log.sysogID

Ermöglicht das Senden von Protokollmeldungen der virtuellen Maschine an die Systemprotokollierung eines ESXi-Hosts, wie z. B. Syslog.

log.syslogID = "vmx"

Verwenden Sie "vmx" als Wert für diese Einstellung, damit der ESXi-Syslog-Daemon vmsyslogd diese Meldungen in eine separate Protokolldatei senden kann.

log.syslogLevel

Steuert die Mindestebene, auf der Meldungen an die Systemprotokollierung eines ESXi-Hosts ausgegeben werden, z. B. Syslog.

log.syslogLevel = "debug" Die Ebenen und die Funktionsweise dieser Einstellung sind identisch mit denen für die log.fileLevel-Einstellung.

Vorgehensweise zum Festlegen der Nachrichtenübertragung an Remotehosts

Optional können Sie ESXi so konfigurieren, dass syslog-Meldungen an einen oder mehrere Remotehosts gesendet werden, die als Syslog-Collectors bezeichnet werden, wie z. B. VMware vRealize Log Insight (früher vCenter Log Insight), um Syslog-Meldungen zu erfassen.
Hinweis: Es wird empfohlen, dass Sie jeden ESXi-Hosts so konfigurieren, dass syslog-Meldungen an mindestens einen Syslog-Collector gesendet werden. Dadurch wird sichergestellt, dass die Meldungen im Falle eines schwerwiegenden Systemereignisses beibehalten werden und Syslog-Meldungen auf verschiedene Arten verarbeitet werden können, wie z. B. Echtzeitkategorisierung und -analyse (z. B. nach Typ, Zeitspanne oder Maschine) oder Archivieren von Meldungen.

Verwenden Sie die Einstellung Syslog.global.logHost, um Remotehostspezifikationen zu definieren. Trennen Sie mehrere Remotehostspezifikationen durch ein Komma (,). Nach dem Festlegen von Syslog.global.logHost öffnen und halten ESXi-Hosts Verbindungen zu den Syslog-Collectors, und die Übertragung von Meldungen beginnt sofort. Wenn ESXi eine Syslog-Meldung generiert, wird sie in die entsprechende Protokolldatei auf dem ESXi-Host geschrieben und an alle konfigurierten Syslog-Collectors weitergeleitet.

Neben syslog-Meldungen können aus Sicherheitsgründen auch Überwachungsmeldungen an syslog-Collectors übertragen werden. Überwachungsdatensätze verfolgen sicherheitsbezogene Aktivitäten auf dem ESXi-Host. Weitere Informationen zu Überwachungsdatensätzen finden Sie unter Überwachungsdatensätze.
Hinweis: Informieren Sie sich beim Sicherheitsteam Ihres Unternehmens, ob und wie Überwachungsdatensätze festgelegt werden. Für zertifizierte Konfigurationen müssen in der Regel Überwachungsdatensätze aktiviert sein.

Nachfolgend finden Sie die Syntax für Syslog.global.logHost -Remotehostspezifikationen:

protocol://target[:port]
Parameter Beschreibung Anmerkungen
protocol Gibt das Netzwerkprotokoll an. Gültige Werte sind udp, tcp und ssl. Das ssl-Protokoll legt fest, dass die Übertragung von syslog-Meldungen verschlüsselt ist. Die tcp- und udp-Protokolle verschlüsseln die Übertragung nicht.
Hinweis: Wenn das Erfassen von Syslog- oder Überwachungsmeldungen für Ihr System von kritischer Bedeutung ist, vermeiden Sie die Verwendung des udp-Protokolls, da die Netzwerkinfrastruktur außerhalb ESXi UDP-Meldungen verwerfen kann.
target

Gibt den Remotehost an. Sie können entweder eine IPv4- oder IPv6-Adresse oder einen Hostnamen verwenden.

Wenn Sie eine IPv6-Adresse verwenden, müssen Sie sie in eckige Klammern [xxx] einbetten, wobei xxx die IPv6-Adresse ist.
port (Optional) Gibt den zu verwendenden Remotehostport an. Wenn Sie UDP oder TCP verwenden, lautet der Standardport 1514. Wenn Sie SSL verwenden, lautet der Standardport 514. Wenn Sie andere Ports als 514 oder 1514 verwenden möchten, müssen Sie die ESXi Firewall anpassen, um den Port zu öffnen. Weitere Informationen zum Öffnen der ESXi Firewall für den in jeder Remotehostspezifikation angegebenen Port finden Sie unter Konfigurieren der ESXi Firewall.
Beispiele für Remote-Maschinenspezifikationen:
Beispiel für eine Syslog.global.logHost-Zeichenfolge Anmerkungen
tcp://10.176.130.7:12345 Überträgt Syslog-Meldungen über TCP/IP und Port 12345 an 10.176.130.7.
tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348] Überträgt Syslog-Meldungen über Port 1514 an eine IPv6-Adresse.

tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:5432

Überträgt Syslog-Meldungen über Port 54321 an eine IPv6-Adresse.
udp://company.com Überträgt Syslog-Meldungen über UDP und Port 514 an company.com.

udp://company.com,tcp://10.20.30.40:1050

Überträgt Syslog-Meldungen an zwei Remotehosts. Der erste Remotehost verwendet UDP für die Kommunikation mit company.com über Port 514. Der zweite Remotehost verwendet TCP für die Kommunikation mit der IPv4-Adresse 10.20.30.40 über Port 1050.

ssl://company.com

Überträgt Syslog-Meldungen mithilfe von SSL (TLS) und Port 514 an company.com.

Maximale Meldungsübertragungslänge

Wenn Sie UDP verwenden, beträgt die maximale Übertragungslänge für Syslog-Meldungen 480 Byte für IPv4 und 1180 Byte für IPv6.

Für TCP oder SSL beträgt die standardmäßige maximale Übertragungslänge für Syslog-Meldungen 1 Kibibyte (KiB). Sie können diese Länge mithilfe des Parameters Syslog.global.remoteHost.maxMsgLen erhöhen. Der Maximalwert beträgt 16 KiB. Meldungen, die länger als 16 KiB sind, werden abgeschnitten.
Hinweis: Wenn eine Erhöhung der maximalen Übertragungslänge erforderlich ist, empfiehlt es sich, die Länge nur so stark wie konkret erforderlich zu erhöhen.
Das Erhöhen der maximalen Syslog-Meldungslänge kann zu Problemen führen, wenn das Netzwerk und die syslog-Infrastruktur außerhalb ESXi Meldungen nicht verarbeiten kann, die länger als 1 KiB sind.
Hinweis: Es wird empfohlen, dass Sie aufgrund der Einschränkungen der Paketlänge und der Möglichkeit, dass die externe Netzwerkinfrastruktur die Meldungen verworfen hat, kein UDP zum Übertragen von Syslog-Meldungen verwenden.

Überlegungen zu Zertifikaten beim Konfigurieren von SSL-Übertragungen an Remotehosts

Wenn Sie ESXi zum Übertragen von Syslog-Meldungen an Remotehosts mithilfe von SSL konfigurieren, müssen Sie dem CA-Speicher des ESXi-Hosts ein SSL-Zertifikat für jeden Remotehost hinzufügen. Weitere Informationen finden Sie unter Zertifikatsverwaltung für ESXi-Hosts und Manage CA Certificates with ESXCLI.
Hinweis: Lesen Sie in der Dokumentation Ihres Syslog Collectors nach, wie Sie den Collector für den sicheren Empfang von Syslog-Meldungen mithilfe von SSL und einem privaten Schlüssel konfigurieren.

Zusätzliche SSL-Übertragungsparameter

Ein ESXi-System, das den Anforderungen der Sicherheitszertifizierung entspricht, erfordert möglicherweise die Aktivierung von X509-CRL-Prüfungen. Sie aktivieren die erweiterten Einstellungen Syslog.global.certificate.strictX509Compliance und Syslog.global.certificate.checkCRL, indem Sie den Standardwert von false in true ändern. Wenn Sie CRL-Prüfungen über die Einstellung Syslog.global.certificate.checkSSLCerts aktivieren, müssen aufgrund von Implementierungsbeschränkungen alle Zertifikate in einer Zertifikatskette einen CRL-Link bereitstellen. Die Einstellung ist standardmäßig aktiviert. Sie können SSL-Zertifikatsprüfungen deaktivieren, indem Sie die Einstellung in false ändern. Dies wird jedoch nicht empfohlen. Bei der Fehlerbehebung für die Kommunikation mit einem Remotehost müssen Sie möglicherweise SSL-Zertifikatsprüfungen deaktivieren, aber nur für eine begrenzte Zeit.

Vorgehensweise zum Auffinden von Fehler- und Statusinformationen zum Syslog-Daemon

Der ESXi Syslog-Daemon verwendet die Protokolldatei /var/run/log/vmsyslogd.log, um Status- und Fehlerinformationen, einschließlich verworfener Meldungen, zu speichern. Wenn die Übertragung von Überwachungsdatensätzen aktiviert ist, gibt der Syslog-Daemon auch Überwachungsdatensätze aus, die sich auf seinen Betrieb beziehen, wie z. B. Start-, Stopp- und Fehlerbedingungen des Daemons, wodurch Sie überprüfen können, ob der syslog-Daemon ordnungsgemäß ausgeführt wird.

Vorgehensweise zum Ändern des standardmäßigen Speicherbereichs der Syslog-Protokolldatei

Der standardmäßige Syslog-Protokolldateispeicherbereich ist /var/run/log, für jeden ESXi-Host lokal. Verwenden Sie die Syslog-Konfigurationsvariable Syslog.global.logDir, um den standardmäßigen Syslog-Protokolldateispeicherbereich zu ändern, solange sich der Speicherort im dauerhaften Speicher befindet. Wenn Syslog.global.logDir für einen dauerhaften Speicher konfiguriert ist, der von mehreren ESXi-Hosts zum Speichern ihrer Syslog-Protokolldateien gemeinsam genutzt wird, ändern Sie die Einstellung Syslog.global.logDirUnique in true, um zu verhindern, dass Protokolle vermischt werden. Die Einstellung Syslog.global.logDirUnique stellt sicher, dass jede ESXi-Maschine einen eindeutigen Namen erhält, der dem Pfad Syslog.global.logDir hinzugefügt wird, wodurch die Protokolldateien von anderen Hosts getrennt werden.

Syslog-Meldungswarteschlange für Remotehosts und verworfene Meldungen

Nach dem Start der Syslog-Emissionen werden diese nicht mehr angehalten, außer bei ESXi-Neustarts und -Ausfällen oder bei einer zu beendenden Syslog-Neukonfiguration.

ESXi verwendet einen Warteschlangenmechanismus, wenn Syslog-Meldungen an Remotehosts gesendet werden. Dies hilft, das Verwerfen von Meldungen zu vermeiden, wenn Probleme mit der Netzwerkkonnektivität auftreten und behoben werden. Wenn die Konnektivitätsprobleme jedoch länger dauern, als der Warteschlangenmechanismus tolerieren kann, werden Syslog-Meldungen verworfen. Sie können Statistiken zu verworfenen Meldungen in der Protokolldatei des Syslog-Daemons anzeigen.

Sie können verworfene Meldungen unter /var/run/log/vmsyslogd-dropped.log anzeigen. Diese Protokolldatei enthält spezifische Aufbewahrungseinstellungen, ähnlich denen für die programmspezifischen Aufbewahrungsparameter. Die Parameter für die Aufbewahrung der Protokolldatei für verworfene Meldungen sind: Syslog.global.droppedMsgs.fileRotate und Syslog.global.droppedMsgs.fileSize.