可以使用一組 syslog 選項定義 ESXi syslog 檔案和傳輸的行為。

除了基本設定 (如 Syslog.global.logHost) 之外,從 ESXi 7.0 Update 1 開始,還提供了用於自訂和 NIAP 符合性的進階選項清單。

備註: 每次在設定任何稽核記錄參數或 Syslog.global.logDir 參數之前,都必須設定持續性儲存區。
備註: 所有稽核記錄設定 (以 Syslog.global.auditRecord 開頭) 會立即生效。但是,對於使用 ESXCLI 定義的其他設定,請確保執行 esxcli system syslog reload 命令以啟用變更。
表 1. 舊版 Syslog 選項
選項 ESXCLI 命令 說明
Syslog.global.logHost

esxcli system syslog config set --loghost=<str>

定義用於訊息傳輸的遠端主機及規格清單 (以逗號分隔)。如果 loghost=<str> 欄位為空,則不會轉送任何記錄。雖然對接收 Syslog 訊息的遠端主機數量沒有硬限制,但最好將遠端主機的數量保持在 5 個或以下。遠端主機規格的格式為:protocol://hostname|ipv4|'['ipv6']'[:port]。該通訊協定必須為 TCP、UDP 或 SSL 之一。連接埠值可以是介於 1 到 65535 之間的任何十進位數字。如果未提供連接埠,則 SSL 和 TCP 將使用 1514。UDP 使用 514。例如:ssl://hostName1:1514
Syslog.global.defaultRotate esxcli system syslog config set --default-rotate=<long> 要保留的舊記錄檔的最大數目。可全域設定該數目,也可針對個別子記錄器進行設定 (請參閱 Syslog.global.defaultSize)。
Syslog.global.defaultSize esxcli system syslog config set --default-size=<long> 記錄檔的預設大小 (以 KiB 為單位)。檔案達到預設大小後,syslog 服務會建立一個新檔案。可全域設定該數目,也可針對個別子記錄器進行設定。
Syslog.global.logDir esxcli system syslog config set --logdir=<str> 記錄所在的目錄。該目錄可能位於掛接的 NFS 或 VMFS 磁碟區中。只有本機檔案系統中的 /scratch 目錄在重新開機後仍會存在。將目錄指定為 [datastorename] path_to_file,其中路徑相對於支援資料存放區的磁碟區的根目錄路徑。例如,路徑 [storage1] /systemlogs 會對應到路徑 /vmfs/volumes/storage1/systemlogs
Syslog.global.logDirUnique esxcli system syslog config set --logdir-unique=<bool> 指定要與 Syslog.global.logDir 值相連接的 ESXi 主機名稱。當多個 ESXi 主機登入共用檔案系統時,啟用此設定至關重要。若選取此選項,將會使用 ESXi 主機的名稱,在 Syslog.global.LogDir 指定的目錄下建立子目錄。如果有多個 ESXi 主機使用同一個 NFS 目錄,則唯一的目錄非常有用。
Syslog.global.certificate.checkSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> 將訊息傳輸至遠端主機時強制檢查 SSL 憑證。
表 2. 從 ESXi 7.0 Update 1 開始可用的 Syslog 選項
選項 ESXCLI 命令 說明
Syslog.global.auditRecord.storageCapacity esxcli system auditrecords local set --size=<long> 指定位於 ESXi 主機上的稽核記錄儲存目錄的容量 (以 MiB 為單位)。無法減少稽核記錄儲存的容量。可以在啟用稽核記錄儲存之前或之後 (請參閱 Syslog.global.auditRecord.storageEnable) 增加容量。
Syslog.global.auditRecord.remoteEnable esxcli system auditrecords remote enable 允許將稽核記錄傳送到遠端主機。遠端主機透過使用 Syslog.global.logHost 參數指定。
Syslog.global.auditRecord.storageDirectory esxcli system auditrecords local set --directory=<dir> 建立稽核記錄儲存目錄,除非已指定,否則請將 /scratch/auditLog 設定為預設位置。您不得手動建立稽核記錄儲存目錄,也不能在啟用稽核記錄儲存時變更稽核記錄儲存目錄 (請參閱 Syslog.global.auditRecord.storageEnable)。
Syslog.global.auditRecord.storageEnable esxcli system auditrecords local enable 在 ESXi 主機上啟用稽核記錄儲存。如果稽核記錄儲存目錄不存在,則使用 Syslog.global.auditRecord.storageCapacity 指定的容量建立該目錄。
Syslog.global.certificate.checkCRL esxcli system syslog config set --crl-check=<bool> 啟用對 SSL 憑證鏈結中所有憑證的撤銷狀態檢查。

啟用 X.509 CRL 驗證,依預設不會根據產業慣例檢查這些 CRL。經過 NIAP 驗證的組態需要進行 CRL 檢查。由於實作限制,如果啟用了 CRL 檢查,則憑證鏈結中的所有憑證都必須提供 CRL 連結。

不要為與認證無關的安裝啟用 crl-check 選項,因為很難正確設定使用 CRL 檢查的環境。

Syslog.global.certificate.strictX509Compliance esxcli system syslog config set --x509-strict=<bool> 啟用與 X.509 的嚴格符合性。在驗證期間,對 CA 根憑證執行額外的有效性檢查。通常不會執行這些檢查,因為 CA 根本來就受信任,並且可能會導致與現有設定錯誤的 CA 根不相容。經過 NIAP 驗證的組態甚至需要 CA 根來通過驗證。

不要為與認證無關的安裝啟用 x509-strict 選項,因為很難正確設定使用 CRL 檢查的環境。

Syslog.global.droppedMsgs.fileRotate esxcli system syslog config set --drop-log-rotate=<long> 指定要保留的舊的已捨棄訊息記錄檔數。
Syslog.global.droppedMsgs.fileSize esxcli system syslog config set --drop-log-size=<long> 指定切換到新訊息記錄檔之前每個捨棄的訊息記錄檔大小 (以 KiB 為單位)。
Syslog.global.logCheckSSLCerts esxcli system syslog config set --check-ssl-certs=<bool> 將訊息傳輸至遠端主機時強制檢查 SSL 憑證。
備註: 已被取代。在 ESXi 7.0 Update 1 及更新版本中使用 Syslog.global.certificate.checkSSLCerts
Syslog.global.logFilters esxcli system syslog config logfilter [add | remove | set] ... 指定一或多個記錄篩選規格。每個記錄篩選器必須用雙分隔號「||」分隔。記錄篩選器的格式為:numLogs | ident | logRegexpnumLogs 設定所指定記錄訊息的記錄項目數目上限。達到此數目後,就會篩選並忽略指定的記錄訊息。ident 指定一或多個系統元件,以將篩選器套用於這些元件所產生的記錄訊息。logRegexp 以 Python 規則運算式語法指定區分大小寫的片語,以依內容篩選記錄訊息。
Syslog.global.logFiltersEnable 允許使用記錄篩選器。
Syslog.global.logLevel esxcli system syslog config set --log-level=<str> 指定記錄篩選層級。僅當對 syslog 精靈問題進行疑難排解時,才必須變更此參數。可以使用值 debug 表示最詳細層級,使用 info 表示預設詳細層級,使用 warning 表示僅警告或錯誤,使用 error 表示僅錯誤。
Syslog.global.msgQueueDropMark esxcli system syslog config --queue-drop-mark=<long>) 指定佔訊息佇列容量的百分比,達到此值後捨棄訊息。
Syslog.global.remoteHost.connectRetryDelay esxcli system syslog config set --default-timeout=<long> 指定連線嘗試失敗後重試連線到遠端主機之前的延遲 (以秒為單位)。
Syslog.global.remoteHost.maxMsgLen esxcli system syslog config set --remote-host-max-msg-len=<long> 對於 TCP 和 SSL 通訊協定,此參數指定截斷發生之前 syslog 傳輸的最大長度 (以位元組為單位)。遠端主機訊息的預設最大長度為 1 KiB。可以將最大訊息長度增加到多達 16 KiB。但是,將此值提高到 1 KiB 以上不能確保長傳輸到達 syslog 收集器時未被截斷。例如,發出訊息的 syslog 基礎結構位於 ESXi 外部時。

此設定不影響 UDP 通訊協定。RFC 5426 將 UDP 通訊協定的最大訊息傳輸長度設定為 480 位元組 (IPV4) 和 1180 位元組 (IPV6)。由於此限制,並且網路基礎結構可以任意捨棄 UDP 封包,因此不建議使用 UDP 來傳輸關鍵 syslog 訊息。

Syslog.global.vsanBacking esxcli system syslog config set --vsan-backing=<bool> 允許將記錄檔和稽核記錄儲存目錄放置在 vSAN 叢集上。但是,啟用此參數可能會導致 ESXi 主機變得無回應。