本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
日誌記錄和監控
為了協助您偵錯編譯任務、處理任務、訓練任務、端點、轉換任務、筆記本執行個體和筆記本執行個體生命週期組態、演算法容器、模型容器或筆記本執行個體生命週期組態傳送至 stdout 或 stderr 的任何內容,也會傳送至 Amazon CloudWatch Logs。您可以使用 Amazon 監控 SageMaker AI Studio CloudWatch,它會收集原始資料並將其處理為可讀且近乎即時的指標。這些統計資料會保留 15 個月,因此您可以存取歷史資訊,並更深入了解 Web 應用程式或服務的效能。
使用 記錄 CloudWatch
由於資料科學程序本質上是實驗性和反覆性的,因此記錄活動至關重要,例如筆記本使用、訓練/處理任務執行時間、訓練指標,以及提供叫用延遲等指標的端點。根據預設, SageMaker AI 會將指標發佈至 CloudWatch 日誌,而這些日誌可以使用客戶管理的金鑰來加密 AWS KMS。
您也可以使用VPC端點將日誌傳送到 , CloudWatch 而無需使用公有網際網路。您也可以設定留意特定閾值的警示,當滿足這些閾值時傳送通知或採取動作。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南。
SageMaker AI 會在 下為 Studio 建立單一日誌群組/aws/sagemaker/studio
。每個使用者設定檔和應用程式都有自己的日誌串流在此日誌群組下,生命週期組態指令碼也有自己的日誌串流。例如,名為「studio-user」的使用者描述檔具有 Jupyter Server 應用程式和連接的生命週期指令碼,而 Data Science Kernel Gateway 應用程式具有下列日誌串流:
/aws/sagemaker/studio/<domain-id>/studio-user/JupyterServer/default
/aws/sagemaker/studio/<domain-id>/studio-user/JupyterServer/default/LifecycleConfigOnStart
/aws/sagemaker/studio/<domain-id>/studio-user/KernelGateway/datascience-app
若要讓 SageMaker AI CloudWatch 代表您將日誌傳送至 ,Training/Processing/Transform任務的發起人APIs將需要下列許可:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogEvents", "logs:GetLogDelivery", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery" ], "Resource": "*", "Effect": "Allow" } ] }
若要使用自訂 AWS KMS 金鑰加密這些日誌,您必須先修改金鑰政策,以允許 CloudWatch 服務加密和解密金鑰。建立日誌加密 AWS KMS 金鑰後,請修改金鑰政策以包含下列項目:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:region:account-id:*" } } } ] }
請注意,您可以隨時使用 ArnEquals
,並提供您要加密之 CloudWatch 日誌的特定 Amazon Resource Name (ARN)。在這裡,我們顯示您可以使用此金鑰來加密 帳戶中的所有日誌,以簡化操作。此外,訓練、處理和模型端點會發佈有關執行個體CPU和記憶體使用率的指標、託管調用延遲等。您可以進一步設定 AmazonSNS,在特定閾值超過時通知管理員事件。訓練和處理的取用者APIs需要具有下列許可:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:PutMetricData", "sns:ListTopics" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringLike": { "cloudwatch:namespace": "aws/sagemaker/*" } } }, { "Action": [ "sns:Subscribe", "sns:CreateTopic" ], "Resource": [ "arn:aws:sns:*:*:*SageMaker*", "arn:aws:sns:*:*:*Sagemaker*", "arn:aws:sns:*:*:*sagemaker*" ], "Effect": "Allow" } ] }
使用 稽核 AWS CloudTrail
若要改善您的合規狀態,APIs請使用 稽核您的所有 AWS CloudTrail。根據預設,所有 SageMaker AI APIs都會使用 記錄AWS CloudTrail
除了 InvokeEndpoint
和 之外,所有 SageMaker AI 動作都會由 記錄InvokeEndpointAsync
, CloudTrail 並記錄在 操作中。例如,對 CreateTrainingJob
、 CreateEndpoint
和 CreateNotebookInstance
動作的呼叫會在 CloudTrail 日誌檔案中產生項目。
每個 CloudTrail 事件項目都包含產生請求者的相關資訊。身分資訊可協助您判斷下列事項:
-
該請求是否使用根或 AWS IAM 使用者登入資料提出。
-
提出該請求時,是否使用了特定角色或聯合身分使用者的暫時安全憑證。
-
請求是否由其他 AWS 服務提出。如需範例事件,請參閱使用文件記錄 SageMaker AI API呼叫 CloudTrail。
根據預設, 會將使用者設定檔的 Studio 執行角色名稱 CloudTrail 記錄為每個事件的識別符。如果每個使用者都有自己的執行角色,這就有效。如果多個使用者共用相同的執行角色,您可以使用 sourceIdentity
組態將 Studio 使用者設定檔名稱傳播到其中 CloudTrail。請參閱從 Amazon SageMaker AI Studio 監控使用者資源存取權以啟用 sourceIdentity
功能。在共用空間中,所有動作都將空間ARN稱為來源,您無法透過 稽核sourceIdentity
。