記錄使用CloudWatch日誌 - AWS Step Functions

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

記錄使用CloudWatch日誌

標準工作流程會記錄執行歷程AWS Step Functions,雖然您可以選擇將日誌記錄配置到亞馬遜CloudWatch記錄檔。

快速工作流程與標準工作流程不同,它不會在 AWS Step Functions 中記錄執行歷史記錄。若要查看快速工作流程的執行歷史記錄和結果,您必須設定 Amazon 的記錄CloudWatch記錄檔。發佈日誌不會阻擋執行或降低執行速度。

注意

當您設定記錄時,CloudWatch記錄費用將適用,並按付費日誌費率向您收費。如需詳細資訊,請參閱付費記錄日誌」頁籤上的CloudWatch定價頁面。

設定 記錄

當您使用 Step Functions 主控台建立標準工作流程時,它不會設定為啟用記錄CloudWatch記錄檔。依預設,會將使用步驟函數主控台建立的 Express 工作流程設定為啟用記錄CloudWatch記錄檔。

對於 Express 工作流程,步驟函數可以建立具有必要項目的角色AWS Identity and Access Management下列項目的 (IAM) 政策CloudWatch記錄檔。如果您使用 API、CLI 或建立「標準工作流程」或「快速工作流程」AWS CloudFormation,Step Functions 預設不會啟用記錄功能,而且您需要確保您的角色具有必要的權限。

對於從主控台啟動的每個執行,Step Functions 都會提供一個連結CloudWatch記錄檔,使用正確的篩選器設定,以擷取特定於該執行的記錄事件。

若要設定記錄,您可以傳遞LoggingConfiguration使用時的參數CreateStateMachine或者UpdateStateMachine。您可以進一步分析您的資料CloudWatch使用記錄CloudWatch日誌見解。如需詳細資訊,請參分析記錄資料CloudWatch日誌洞察

CloudWatch記錄有效載荷

執行歷程記錄事件的定義中可能包含輸入或輸出屬性。如果轉義輸入或轉義輸出發送到CloudWatch記錄檔超過 248KB,因此會遭截斷CloudWatch記錄配額。

用於登入的 IAM 政策CloudWatch日誌

您還需要配置狀態機的執行 IAM 角色,以獲得適當的登錄權限CloudWatch記錄檔,如下列範例所示。

IAM 政策範例

下列是您可用來設定許可的範例政策。如下面的例子所示,你需要指定*Resource字段,因為CloudWatchAPI 動作,例如CreateLogDelivery和DescribeLogGroups,不支持定義的資源類型Amazon CloudWatch Logs。如需詳細資訊,請參閱由定義的動作Amazon CloudWatch Logs

  • 如需相關資訊CloudWatch資源,請參閱CloudWatch Logs資源與營運亞馬遜CloudWatch使用者指南

  • 如需設定傳送記錄檔所需權限的相關資訊CloudWatch記錄檔,請參閱使用者權限在標題為的部分記錄檔傳送至CloudWatch Logs

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogStream", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
無法訪問CloudWatch日誌

如果您無法存取CloudWatch日誌,請確保您已完成以下操作:

  1. 將狀態機的執行 IAM 角色配置為具有登錄的適當權限CloudWatch記錄檔。

    如果您正在使用CreateStateMachine或者UpdateStateMachine請求,請確定您已在roleArn包含權限的參數,如前面的例子

  2. 檢查了CloudWatch記錄檔資源策略不超過 5120 個字元限制CloudWatch記錄資源策略。

    如果您已超過字元限制,請移除不必要的權限CloudWatch記錄資源策略,或在記錄群組名稱前面加上/aws/vendedlogs,這會將權限授與記錄群組,而不會在資源策略中附加更多字元。當您在 Step Functions 主控台中建立記錄群組時,記錄群組名稱的前面會加上/aws/vendedlogs/states。如需詳細資訊,請參閱亞馬遜 CloudWatch 日誌資源政策大小限制