本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 | 日誌類別名稱 (例如,、kernauth、local0)。 |
facilityCode | 數值設施代碼 (0–23)。 |
severity | 嚴重性等級名稱 (例如,、emergerr、info)。 |
severityCode | 數值嚴重性代碼 (0–7)。 |
timestamp | ISO 8601 格式的訊息時間戳記。 |
hostname | 來源裝置主機名稱。 |
appName | 應用程式名稱。 |
procId | 處理程序 ID。 |
msgId | 訊息識別符。 |
structuredData | RFC 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 | 裝置類型 (FTD、 ASA或 FMC-AUDIT-LOG)。 |
timestamp | 訊息時間戳記 (RFC 3164 或 RFC 5424 格式,取決於裝置組態)。 |
deviceId | 裝置主機名稱 (在設備上設定device-id記錄時顯示)。 |
severity | 嚴重性等級名稱 (例如,、informationalwarning、critical)。 |
severityLevel | 數值嚴重性等級 (0–7)。 |
messageId | Cisco 數值訊息識別符 (例如,106023、302013)。 |
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 請求增加配額。