Mithilfe der Protokollfilterung können Sie die Protokollierungsrichtlinie des Syslog-Diensts ändern, der auf einem ESXi-Host ausgeführt wird. Sie können Protokollfilter erstellen, um die Anzahl doppelter Einträge in den ESXi-Protokollen zu reduzieren und bestimmte Protokollereignisse komplett auf eine schwarze List (Blacklist) zu setzen.

Warum und wann dieser Vorgang ausgeführt wird

Protokollfilter betreffen alle Protokollereignisse, die vom vmsyslogd-Daemon des ESXi-Hosts verarbeitet werden, und zwar unabhängig davon, ob sie in einem Protokollverzeichnis oder auf einem Remote-Syslog-Server aufgezeichnet werden.

Wenn Sie einen Protokollfilter erstellen, legen Sie eine maximale Anzahl von Protokolleinträgen für die Protokollmeldungen fest. Die Nachrichtenprotokolle werden von mindestens einer Systemkomponente generiert, die mit einem angegebenen Ausdruck übereinstimmt. Sie müssen die Protokollfilterungsfunktion aktivieren und den Syslog-Daemon erneut laden, um die Protokollfilter auf dem ESXi-Host zu aktivieren.

Wichtig:

Wenn der Umfang der Protokollierungsinformationen limitiert wird, wird die Fähigkeit eingeschränkt, potenzielle Systemfehler ordnungsgemäß zu beheben. Wenn nach Erreichen der maximalen Anzahl von Protokolleinträgen eine Protokollrotation erfolgt, verlieren Sie möglicherweise alle Instanzen einer gefilterten Nachricht.

Prozedur

  1. Melden Sie sich bei der ESXi-Shell als Root-Benutzer an.
  2. Fügen Sie in der Datei /etc/vmware/logfilters den folgenden Eintrag hinzu, um einen Protokollfilter zu erstellen.
    numLogs | ident | logRegexp

    wobei:

    • numLogs legt die maximale Anzahl von Protokolleinträgen für die angegebenen Protokollmeldungen fest. Nach Erreichen dieses Werts werden die angegebenen Protokollmeldungen gefiltert und ignoriert. Verwenden Sie den Wert 0, um alle angegebenen Protokollmeldungen zu filtern und zu ignorieren.

    • ident gibt eine oder mehrere Systemkomponenten an, um den Filter auf die Protokollmeldungen anzuwenden, die von diesen Komponenten generiert werden. Informationen zu den Systemkomponenten, die Protokollmeldungen generieren, finden Sie in den Werten der idents-Parameter in den Syslog-Konfigurationsdateien. Die Dateien befinden sich im Verzeichnis /etc/vmsyslog.conf.d. Verwenden Sie eine kommagetrennte Liste, um einen Filter auf mehrere Systemkomponenten anzuwenden. Verwenden Sie *, um einen Filter auf alle Systemkomponenten anzuwenden.

    • logRegexp bezeichnet eine Zeichenfolge unter Beachtung der Groß-/Kleinschreibung mit Python-Syntax für reguläre Ausdrücke, um die Protokollmeldungen anhand ihres Inhalts zu filtern.

    Beispiel: Um einen Grenzwert von maximal zwei Protokolleinträgen von der hostd-Komponente für Meldungen festzulegen, die dem Ausdruck SOCKET connect failed, error 2: No such file or directory mit einer beliebigen Fehlerzahl entsprechen, fügen Sie den folgenden Eintrag hinzu:

    2 | hostd | SOCKET connect failed, error .*: No such file or directory
    Anmerkung:

    Eine Zeile, die mit # beginnt, bezeichnet einen Kommentar. Die restliche Zeile wird in diesem Fall ignoriert.

  3. Fügen Sie in der Datei /etc/vmsyslog.conf den folgenden Eintrag hinzu, um die Protokollfilterungsfunktion zu aktivieren.
    enable_logfilters = true
  4. Führen Sie den Befehl esxcli system syslog reload aus, um den Syslog-Daemon erneut zu laden und die Konfigurationsänderungen anzuwenden.