記錄篩選功能可讓您修改 ESXi 主機上所執行 syslog 服務的記錄原則。您可以建立記錄篩選器,以減少 ESXi 記錄中的重複項目數目,以及讓特定記錄事件完全列入黑名單。

執行這項作業的原因和時機

記錄篩選器會影響 ESXi 主機 vmsyslogd 精靈處理的所有記錄事件,不論這些事件是記錄到記錄目錄還是記錄到遠端 syslog 伺服器都一樣。

建立記錄篩選器時,您會針對由一或多個指定的系統元件所產生、符合指定片語的記錄訊息,設定記錄項目數目上限。在 ESXi 主機上,您必須啟用記錄篩選功能並重新載入 syslog 精靈,才能啟動記錄篩選器。

重要事項︰

如果您設定記錄資訊量上限,可能無法正確排解潛在的系統故障。如果在記錄項目達到數目上限後發生記錄輪替,您可能會遺失某則已篩選訊息的所有執行個體。

程序

  1. 以根使用者身分登入 ESXi Shell。
  2. /etc/vmware/logfilters 檔案中,新增下列項目以建立新的記錄篩選器。
    numLogs | ident | logRegexp

    其中:

    • numLogs 設定所指定記錄訊息的記錄項目數目上限。達到此數目後,就會篩選並忽略指定的記錄訊息。使用 0 可篩選並忽略所有指定的記錄訊息。

    • ident 指定一或多個系統元件,以將篩選器套用於這些元件所產生的記錄訊息。如需瞭解產生記錄訊息的系統元件相關資訊,請參閱 /etc/vmsyslog.conf.d 目錄中 syslog 組態檔內的 idents 參數的值。使用以逗點分隔的清單將篩選器套用至多個系統元件。使用 * 將篩選器套用至所有系統元件。

    • logRegexp 以 Python 規則運算式語法指定區分大小寫的片語,以依內容篩選記錄訊息。

    例如,如果您想要針對類似下面片語的訊息,設定最多只能有兩個來自 hostd 元件的記錄訊息:SOCKET connect failed, error 2: No such file or directory (無論錯誤編號是多少),請新增下列項目:

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

    一行若是以 # 開頭,則表示該行是註解,該行其餘文字皆會被忽略。

  3. /etc/vmsyslog.conf 檔案中,新增下列項目以啟用記錄篩選功能。
    enable_logfilters = true
  4. 執行 esxcli system syslog reload 命令以重新載入 syslog 精靈並套用組態變更。