本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用動作日誌監控 Amazon ECS 操作
Amazon ECS 動作日誌概觀
透過 Amazon ECS 動作日誌,您可以監控 Amazon ECS 在容器生命週期操作期間代表您執行的所有動作。Action Logs 會擷取叢集內每個資源操作、狀態轉換和服務起始 API 呼叫的時間戳記記錄。
動作日誌會記錄先前不可見的操作,例如容器映像下載、負載平衡器註冊和安全群組組態。如果沒有動作日誌,您只能觀察資源的開始和結束狀態。使用動作日誌,您可以看到 Amazon ECS 在這些狀態之間採取的每個中繼步驟。
當您啟用動作日誌時, AWS 管理主控台中的 Amazon Q 可以存取這些日誌,以協助您直接從主控台偵錯部署失敗和協助程式問題。
動作日誌的優點
動作日誌提供下列管理 Amazon ECS 工作負載的優點:
-
服務動作的可見性 – 檢視 Amazon ECS 在狀態轉換之間執行的先前不可見動作,包括基礎設施佈建、網路組態和資源註冊。
-
改善故障診斷 – 診斷部署失敗和基礎設施問題,無需聯絡 AWS Support。動作日誌支援一組不斷增長的失敗原因。
-
延長失敗中繼資料 – 將失敗任務的中繼資料保留超過標準 1 小時保留期。您可以按照自己的步調檢閱詳細的失敗資訊。
-
自助式偵錯 – 透過檢閱導致失敗的完整動作序列,獨立調查和解決問題。
記錄的內容
動作日誌會擷取下列 Amazon ECS 操作的動作:
-
服務部署 – 狀態轉換、轉返和生命週期掛鉤執行。
-
受管協助程式生命週期 – 建立、更新、刪除和執行個體耗盡受管協助程式的操作。
動作日誌的運作方式
您選擇在叢集層級加入動作日誌。您可以透過 Amazon ECS 主控台或使用 Amazon CloudWatch APIs (PutDeliverySource、 PutDeliveryDestination和 ) 啟用動作日誌CreateDelivery。
啟用動作日誌之後,Amazon ECS 會透過 CloudWatch Ingestion Hub 發出結構化 JSON 日誌。Amazon ECS 會將日誌傳送至您選擇的目的地:CloudWatch Logs、Amazon S3 或 Amazon Data Firehose。
動作日誌使用fire-and-forget發佈。日誌發佈絕不會封鎖或降低 Amazon ECS 資源操作。如果發生暫時性交付失敗,Amazon ECS 會繼續處理工作負載,而不會中斷。
日誌結構描述概觀
每個動作日誌項目都包含下列欄位:
-
timestamp– 事件發生時的 Unix 毫秒。 -
logLevel– 嚴重性等級:INFO、WARN或ERROR。 -
account– AWS 帳戶 ID。 -
region– 事件發生 AWS 的區域。 -
resourceArn– 代表選擇加入範圍的叢集 ARN。 -
actionSourceId– 子資源識別符,例如服務 ARN 或協助程式 ARN。 -
eventName– 動作識別符,例如DAEMON_DEPLOYMENT_IN_PROGRESS。 -
detail– 事件特定的 JSON 承載,其中包含有關 動作的其他內容。
日誌目的地和組織
您可以將動作日誌交付至下列目的地:
-
CloudWatch Logs – CloudWatch Logs 會將日誌存放在名為 的日誌群組中
/aws/vendedlogs/ecs/action-logs/{resourceId}。Amazon ECS 會使用{actionSourceId}作為日誌串流名稱,為每個子資源建立個別的日誌串流。 -
Amazon S3 – 依帳戶、區域和 5 分鐘時段的 Amazon S3 分割區日誌。Amazon S3 使用 gzip 壓縮檔案,以實現高效儲存。
-
Amazon Data Firehose – Amazon Data Firehose 會以近乎即時的換行分隔 JSON 記錄的形式交付日誌。
定價
動作日誌是一種付費功能,使用標準 CloudWatch 提供的日誌定價。您需根據叢集產生的日誌量,支付日誌擷取和儲存的費用。您可以透過目的地設定來設定保留。當您透過 Amazon ECS 主控台啟用動作日誌時,CloudWatch Logs 會使用預設的 7 天保留期。