View a markdown version of this page

Syslog 擷取 - Amazon CloudWatch Logs

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Syslog 擷取

Amazon CloudWatch Logs 受管 syslog 擷取可讓您將 syslog 訊息 (RFC 5424、RFC 3164 和 Cisco FTD/ASA) 從防火牆、路由器、交換器和 Linux 伺服器直接傳送至 CloudWatch Logs,而無需安裝或管理任何代理程式。您的 syslog 來源會透過 TCP、TCP+TLS 或 UDP 傳送訊息至您帳戶中的 VPC 端點。流量會透過 通道 AWS PrivateLink 傳送到 CloudWatch Logs syslog 服務,該服務會自動剖析傳入的訊息,並擷取結構化欄位,例如設施、嚴重性、主機名稱和應用程式名稱,無需自訂剖析管道。然後,您可以使用 CloudWatch Logs Analytics 查詢這些欄位,以調查安全事件或疑難排解連線問題。這可協助您集中基礎設施日誌可見性、簡化操作工作流程,並減少在分散式環境中部署和維護日誌收集代理程式的額外負荷。

如果您的 syslog 來源已經在您的 Amazon VPC 中,他們可以直接傳送訊息到 VPC 端點。如果您的來源位於外部 AWS (內部部署資料中心、分支辦公室或主機代管設施),它們可以透過 VPN 或 Direct Connect 連線來連接 VPC 端點。

支援的通訊協定和連接埠

通訊協定 站點 備註
TCP + TLS 6514 傳輸中加密。建議用於合規要求。
TCP 純文字 1514 Plaintext over AWS PrivateLink (網路隔離)。
UDP 514 盡最大努力交付。

連接埠 6514 上的 TLS 會在網路負載平衡器使用 Amazon Trust Services 發行的 AWS受管憑證終止。您的 syslog 用戶端會自動信任此憑證,無需任何特殊組態。

注意

UDP 是最佳的通訊協定。訊息可能因為網路條件而遺失。使用 TCP 可靠交付。

支援的 syslog 格式

CloudWatch Logs 會自動偵測並剖析下列 syslog 格式:

  • RFC 5424 (較新的格式) – 包括結構化資料、ISO 8601 時間戳記,以及明確的應用程式名稱和程序 ID 欄位。

  • RFC 3164 (BSD syslog,舊版格式) – 包括 BSD 樣式時間戳記和 TAG 欄位。網路裝置仍然廣泛使用,例如防火牆、路由器和交換器。

  • Cisco FTD/ASA – Cisco Firepower Threat Defense (FTD) 和自適應安全設備 (ASA) 裝置所使用的 syslog 格式。訊息由訊息內文中的 %FTD-%ASA-標籤識別。

訊息會以原始原始格式存放在您的日誌群組中。CloudWatch Logs 會自動從每個格式擷取結構化欄位,您可以使用 CloudWatch Logs Insights 查詢這些欄位。

RFC 5424 擷取的欄位

欄位 說明
facility日誌類別名稱 (例如,、kernauthlocal0)。
facilityCode數值設施代碼 (0–23)。
severity嚴重性等級名稱 (例如,、emergerrinfo)。
severityCode數值嚴重性代碼 (0–7)。
timestampISO 8601 格式的訊息時間戳記。
hostname來源裝置主機名稱。
appName應用程式名稱。
procId處理程序 ID。
msgId訊息識別符。
structuredDataRFC 5424 結構化資料元素 (鍵值中繼資料)。
message訊息內文。

RFC 3164 擷取的欄位

欄位 說明
facility日誌類別名稱。
facilityCode數值設施代碼 (0–23)。
severity嚴重性等級名稱。
severityCode數值嚴重性代碼 (0–7)。
timestamp訊息時間戳記 (從 BSD 格式轉換為 ISO 8601)。
hostname來源裝置主機名稱。
appName應用程式名稱 (擷取自 TAG 欄位)。
procId程序 ID (如果有的話,從 TAG 欄位擷取)。
message訊息內文。

Cisco FTD/ASA 擷取的欄位

欄位 說明
device裝置類型 (FTDASAFMC-AUDIT-LOG)。
timestamp訊息時間戳記 (RFC 3164 或 RFC 5424 格式,取決於裝置組態)。
deviceId裝置主機名稱 (在設備上設定device-id記錄時顯示)。
severity嚴重性等級名稱 (例如,、informationalwarningcritical)。
severityLevel數值嚴重性等級 (0–7)。
messageIdCisco 數值訊息識別符 (例如,106023302013)。
subsystem子系統名稱 (適用於特定訊息類型)。
message當內文使用 Cisco 的結構化格式時,訊息內文 (純文字) 或個別鍵值欄位。

訊息交付

與伺服器為每個請求傳回狀態碼的 HTTP 型擷取不同,syslog 不會將每則訊息的成功確認傳回給寄件者。一旦服務收到訊息,就會緩衝訊息並交付到您的日誌群組,並重試暫時性錯誤。交付保證取決於您選擇的傳輸通訊協定:

  • TCP (連接埠 6514 和 1514) – 在正常操作條件下提供可靠的交付。

    當無法交付時,服務會重設 TCP 連線,以向用戶端發出失敗訊號。在該連線上傳輸的訊息可能會遭到捨棄,但連線重設會提供立即的背壓,讓您的用戶端可以在本機偵測問題和緩衝訊息,直到條件解決為止。在容量壓力下,服務會提早拒絕新的 TCP 連線,並提供相同的背壓訊號。

    導致連線重設的條件包括:

    • VPC 端點政策拒絕存取

    • 超過您帳戶的PutLogEvents配額

    • 目標日誌群組不存在

    • 日誌群組上的資源政策拒絕存取

  • UDP (連接埠 514) – 盡力交付。無法傳遞的訊息會被捨棄,而沒有對寄件者的意見回饋。訊息也可能因為網路擁塞或容量限制而遺失。如果可靠的交付對您的使用案例很重要,請使用 TCP。

若要偵測和回應交付問題,請在 CloudWatch 中監控 SyslogMessagesDropped 指標。Reason 維度指出捨棄訊息的原因,因此您可以採取修正動作。如需詳細資訊,請參閱監控 syslog 擷取

配額和限制

限制 Value 備註
訊息大小上限 (TCP) 64 KB 標準 syslog 訊息通常遠低於此限制。如果您有需要較大訊息的使用案例,請聯絡 AWS Support。
訊息大小上限 (UDP) 8 KB 標準 syslog 訊息通常遠低於此限制。如果您有需要較大訊息的使用案例,請聯絡 AWS Support。
擷取輸送量 與 共用 PutLogEvents Syslog 擷取會計入您帳戶的配額 PutLogEvents (預設每個區域每個帳戶每秒 5,000 個請求)。

PutLogEvents 配額是可調整的。如果您的 syslog 流量需要更高的輸送量,請透過 Service Quotas 請求增加配額。