ESXi 8.0 開始,syslog 服務使用三個參數來定義訊息和稽核記錄 - 通訊協定、格式設定和框架設定。

支援的通訊協定包括 UDP、TCP 和 TLS (SSL)。syslog 訊息的格式化由 RFC 3164 或 RFC 5424 定義。框架指定如何封裝訊息。封裝訊息的框架定義為透明 (也稱為 octet_counting) 或非透明 (如果訊息未封裝)。透明框架可確保訊息中內嵌的新行不會使 syslog 收集器受到干擾。使用 UDP 通訊協定傳送的 Syslog 訊息被視為以透明方式設定框架;syslog 收集器需要瞭解這點,並接受單一訊息傳輸。

RFC 3164 將 syslog 訊息的最大總長度設定為 1024 位元組,而 RFC 5424 將此最大值延伸到 2048 位元組。

ESXi 中遠端主機訊息的預設最大長度為 1 KiB。可以將最大訊息長度增加到多達 16 KiB。但是,將此值提高到 1 KiB 以上不能確保長傳輸到達 syslog 收集器時未被截斷。例如,發出訊息的 syslog 基礎結構位於 ESXi 外部時。

vmsyslogd 傳輸的 Syslog 訊息包含結構化資料、根據 RFC 5424 格式化的內容清單以及自由格式資料或非結構化資料。

當訊息長度超過最大長度時,ESXi 8.0 會縮短該訊息,但會嘗試保留盡可能多的結構化資料。

縮短訊息後,會向現有結構化資料新增三個參數,或者建立結構化資料以包含以下參數:msgModifiedremoteHostMaxMsgLenoriginalLen

msgModified 參數指示縮短後對訊息的影響:僅限結構化資料和/或非結構化資料。

remoteHostMaxMsgLen 參數指定 ESXi 可處理的最大訊息長度。

originalLen 參數指定訊息縮短之前的長度。

ESXi syslog 訊息的通訊協定、格式化和框架支援選項:

格式化 框架 UDP TCP SSL 註解
未指定 未指定

支援

RFC 5426

支援 支援

訊息的格式化符合 RFC 3164,只有時間戳記為 RFC 3339 格式。

將在每個訊息的前面放置結構化資料。

使用 TCP 或 SSL (TLS) 時,框架預設為非透明,結構化資料中的內嵌式換行可能會損壞訊息。

使用 UDP 時,將對封包進行框架設定。

未指定 Non_transparent 禁止 支援 支援

訊息的格式化符合 RFC 3164,只有時間戳記為 RFC 3339 格式。

將在每個訊息的前面放置結構化資料。

使用 TCP 或 SSL (TLS) 時,框架預設為非透明,結構化資料中的內嵌式換行可能會損壞訊息。

未指定 Octet_counting 禁止

支援

RFC 6587

支援

RFC 6587

訊息的格式化符合 RFC 3164,只有時間戳記為 RFC 3339 格式。

將在每個訊息的前面放置結構化資料。

RFC 5424 未指定

支援

RFC 5426

支援

RFC 5425

支援

RFC 5424

訊息的格式化符合 RFC 5424。

使用 TCP 或 SSL (TLS) 時,框架預設為 octet-counting。使用 UDP 時,可能不會明確指定框架。

RFC 5424 Non_transparent 禁止 不支援 不支援 不支援,因為結構化資料中的內嵌式換行可能會損壞訊息。
RFC 5424 Octet_counting 禁止

支援

RFC 5425

支援

RFC 5425

訊息的格式化符合 RFC 5424。
RFC 3164 未指定

支援

RFC 5426

支援 支援

訊息的格式化符合 RFC 3164,只有時間戳記為 RFC 3339 格式。

將在每個訊息的前面放置結構化資料。

使用 TCP 或 SSL (TLS) 時,框架預設為非透明,結構化資料中的內嵌式換行可能會損壞訊息。

使用 UDP 時,將對封包進行框架設定。

RFC 3164 Non_transparent 禁止 支援 支援

訊息的格式化符合 RFC 3164,只有時間戳記為 RFC 3339 格式。

將在每個訊息的前面放置結構化資料。

使用 TCP 或 SSL (TLS) 時,框架預設為非透明,結構化資料中的內嵌式換行可能會損壞訊息。

RFC 3164 Octet_counting 禁止

支援

RFC 6587

支援

RFC 6587

訊息的格式化符合 RFC 3164,只有時間戳記為 RFC 3339 格式。

將在每個訊息的前面放置結構化資料。