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
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 oder in der Datei /etc/vmware/config konfigurieren. Sie müssen eine virtuelle Maschine ausschalten, um die Datei vmx 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.
Parameter | Beschreibung | Beispiel | Anmerkungen |
---|---|---|---|
logging | Deaktiviert die gesamte Protokollierung virtueller Maschinen. |
Der Standardwert ist logging = "TRUE" .So deaktivieren Sie die Protokollierung virtueller Maschinen:
|
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 diese Einstellungen ist 1 KB/s. Im Falle von Protokolldrosselungen wird in der Datei vmware.log <<< Protokoll gedrosselt >>> angezeigt. |
Um die Protokolldrosselung zu deaktivieren, verwenden Sie
|
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 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. |
Um die Beschränkung der maximalen Größe einer vmware.log-Datei zu deaktivieren, verwenden Sie
|
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. |
Mit dieser Einstellung wird der Name der Protokolldateien der virtuellen Maschine von vmware.log in myVMlog geändert.
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:
|
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
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.
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. |
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.
Überlegungen zu Zertifikaten beim Konfigurieren von SSL-Übertragungen an Remotehosts
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 arbeitsspeicherbasierten Warteschlangenmechanismus mit begrenzter Kapazität, um Syslog-Meldungen und Überwachungsdatensätze an Remote-Hosts zu übertragen. Dieser Mechanismus ermöglicht es dem vmsyslogd-Dienst, kurze Nachrichten-Bursts oder Probleme mit der Netzwerkkonnektivität zu behandeln, die schnell behoben werden, ohne Daten verwerfen zu müssen.
Wenn Konnektivitätsprobleme länger dauern oder der Datenfluss kontinuierlich den Grenzwert überschreitet, den der Warteschlangenmechanismus tolerieren kann, legt der vmsyslogd-Dienst einige Syslog-Meldungen ab.
Um solche Ablegungen zu minimieren, platzieren Sie die vmsyslogd-Protokolldateien auf dem schnellsten verfügbaren Speicher und konfigurieren Sie die Syslog-Collectors in einem Netzwerk mit End-to-End-Bandbreite, die mindestens 1 GigE beträgt.
Wenn Sie übermäßig viele Protokolle von einer Anwendung sehen, stellen Sie eine Support-Serviceanfrage zwecks Analyse und Korrektur.
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.