本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 動作日誌入門
Amazon ECS 動作日誌使用 Amazon CloudWatch Logs 提供的日誌交付機制,將服務動作的詳細記錄發佈至您偏好的目的地。當您啟用動作日誌時,您可以看到 Amazon ECS 在部署和協助程式操作期間採取的每個步驟,包括基礎設施佈建、資源註冊和失敗詳細資訊。此可見性可協助您在未聯絡 AWS Support 的情況下對問題進行故障診斷,並減少識別根本原因的時間。您可以使用 Amazon ECS 主控台或 CloudWatch Logs APIs 為您的叢集啟用動作日誌。
先決條件
啟用動作日誌之前,請確認您的 IAM 身分具有必要的許可。
所需的 IAM 許可
您的 IAM 身分必須具有下列許可,才能啟用和管理動作日誌:
{ "Effect": "Allow", "Action": [ "logs:PutDeliverySource", "logs:PutDeliveryDestination", "logs:CreateDelivery", "logs:GetDelivery", "ecs:AllowVendedLogDeliveryForResource" ], "Resource": "*" }
目的地資源政策
目的地 CloudWatch Logs 日誌群組必須具有允許delivery.logs.amazonaws.com服務寫入日誌的資源政策。將下列陳述式新增至日誌群組資源政策:
{ "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:*" }
使用 Amazon ECS 主控台啟用動作日誌
您可以直接從 Amazon ECS 主控台的叢集詳細資訊頁面啟用動作日誌。
使用主控台啟用動作日誌
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽窗格中,選擇叢集,然後選取叢集。
-
選擇 Configuration (組態) 索引標籤。
-
在動作日誌區段中,選擇新增。
-
針對 Destination (目標),選擇下列其中一個項目:
-
CloudWatch Logs (預設)
-
Amazon S3
-
Amazon Data Firehose
對於 CloudWatch Logs,Amazon ECS 會建立名為 的預設日誌群組,
/aws/vendedlogs/ecs/action-logs/其中包含 7 天的保留期。cluster-name -
-
選擇儲存。
使用 CloudWatch Logs APIs啟用動作日誌
您可以使用 CloudWatch Logs 提供的日誌交付 APIs,以程式設計方式啟用動作日誌。此方法需要三個步驟:註冊交付來源、設定目的地,以及建立交付。
使用 CLI AWS 啟用動作日誌
-
執行下列命令來註冊交付來源:
aws logs put-delivery-source \ --namemy-ecs-action-logs\ --resource-arn arn:aws:ecs:region:account-id:cluster/cluster-name\ --log-type EcsActionLogs -
執行下列命令來設定交付目的地:
aws logs put-delivery-destination \ --namemy-ecs-logs-destination\ --output-format json \ --delivery-destination-configuration '{"destinationResourceArn": "arn:aws:logs:region:account-id:log-group:/aws/vendedlogs/ecs/action-logs/cluster-name"}' -
執行下列命令來建立交付,以將來源連結至目的地:
aws logs create-delivery \ --delivery-source-namemy-ecs-action-logs\ --delivery-destination-arn arn:aws:logs:region:account-id:delivery-destination:my-ecs-logs-destination
驗證日誌交付
啟用動作日誌後,請確認日誌已交付至目的地。
驗證日誌交付
-
在您的叢集中觸發動作。例如,建立或更新協助程式服務。
-
透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。
-
在導覽窗格中,選擇 Log groups (日誌群組)。
-
選取您的動作日誌日誌群組,並確認新的日誌串流是否出現。
刪除動作日誌
您可以使用 CLI AWS 或 Amazon ECS 主控台刪除動作日誌。
若要刪除動作日誌,您的 IAM 身分必須具有下列額外許可:
{ "Effect": "Allow", "Action": [ "logs:DeleteDelivery", "logs:DeleteDeliverySource", "logs:DeleteDeliveryDestination" ], "Resource": "*" }
使用 CLI AWS 刪除動作日誌
-
執行下列命令來刪除交付:
aws logs delete-delivery \ --delivery-iddelivery-id -
執行下列命令來刪除交付來源:
aws logs delete-delivery-source \ --namemy-ecs-action-logs -
執行下列命令來刪除交付目的地:
aws logs delete-delivery-destination \ --namemy-ecs-logs-destination
若要使用主控台刪除動作日誌,請導覽至叢集詳細資訊頁面,選擇組態索引標籤,然後在動作日誌區段中選擇刪除。
後續步驟
啟用動作日誌之後,請使用下列資源來監控和疑難排解 Amazon ECS 叢集: