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

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

建立記錄篩選器時,可設定記錄訊息的記錄項目數目上限。記錄訊息由一或多個指定的系統元件產生,且符合指定的片語。在 ESXi 主機上,您必須啟用記錄篩選功能並重新載入 syslog 精靈,才能啟動記錄篩選器。
重要: 設定記錄資訊量限制,會限制您正確疑難排解潛在系統故障的能力。如果在記錄項目達到數目上限後發生記錄輪替,您可能會遺失某則已篩選訊息的所有執行個體。

程序

  1. 以根使用者身分登入 ESXi Shell。
  2. /etc/vmware/logfilters 檔案中,新增下列項目以建立記錄篩選器。
    numLogs | ident | logRegexp
    其中:
    • numLogs 設定所指定記錄訊息的記錄項目數目上限。達到此數目後,就會篩選並忽略指定的記錄訊息。使用 0 可篩選並忽略所有指定的記錄訊息。
    • ident 指定一或多個系統元件,以將篩選器套用於這些元件所產生的記錄訊息。如需產生記錄訊息之系統元件的相關資訊,請參閱 Syslog 組態檔中 idents 參數的值。檔案位於 /etc/vmsyslog.conf.d 目錄中。使用以逗點分隔的清單將篩選器套用至多個系統元件。使用 * 將篩選器套用至所有系統元件。
    • 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 精靈並套用組態變更。