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.

Beim Erstellen eines Protokollfilters legen Sie die maximale Anzahl von Protokolleinträgen für die Protokollmeldungen fest, die von einer oder mehreren angegebenen Systemkomponenten generiert werden und mit einer bestimmten Zeichenfolge übereinstimmen. Sie müssen die Protokollfilterungsfunktion aktivieren und den Syslog-Daemon erneut laden, um die Protokollfilter auf dem ESXi-Host zu aktivieren.

Wichtig:

Wenn Sie einen Grenzwert für den Umfang der Protokollierungsinformationen festlegen, können Sie potenzielle Systemfehler möglicherweise nicht ordnungsgemäß 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 neuen 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 im Verzeichnis /etc/vmsyslog.conf.d gespeichert sind. 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.

    Wenn Sie beispielsweise einen Grenzwert von maximal zwei Protokolleinträgen für die hostd-Komponente für Meldungen festlegen möchten, die der Zeichenfolge 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.