本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
推論管道的故障診斷
若要對推論管道問題進行疑難排解,請使用 CloudWatch 日誌和錯誤訊息。如果您在包含 Amazon SageMaker 內建演算法的管道中使用自訂 Docker 映像,您也可能會遇到許可問題。若要授予必要的許可,請建立 Amazon Elastic Container Registry (Amazon ECR) 政策。
對推論管道的 Amazon ECR許可進行故障診斷
當您在包含SageMaker 內建演算法 的管道中使用自訂 Docker 映像時,您需要 Amazon ECR政策 。此政策允許您的 Amazon ECR儲存庫授予 的 擷取映像 SageMaker 的許可。此政策必須新增下列許可:
{ "Version": "2008-10-17", "Statement": [ { "Sid": "allowSageMakerToPull", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ] } ] }
使用 CloudWatch 日誌對 SageMaker 推論管道進行疑難排解
SageMaker 會針對端點發佈容器日誌,這些端點會在每個容器的下列路徑 CloudWatch 將推論管道部署至 Amazon。
/aws/sagemaker/Endpoints/{EndpointName}/{Variant}/{InstanceId}/{ContainerHostname}
例如,此端點的日誌會發佈到以下日誌群組和串流:
EndpointName: MyInferencePipelinesEndpoint Variant: MyInferencePipelinesVariant InstanceId: i-0179208609ff7e488 ContainerHostname: MyContainerName1 and MyContainerName2
logGroup: /aws/sagemaker/Endpoints/MyInferencePipelinesEndpoint logStream: MyInferencePipelinesVariant/i-0179208609ff7e488/MyContainerName1 logStream: MyInferencePipelinesVariant/i-0179208609ff7e488/MyContainerName2
日誌串流是一系列共用相同來源的日誌事件。每個 登入的個別來源 CloudWatch 都會組成個別的日誌串流。日誌群組是共用相同保留、監控和存取控制設定的日誌串流群組。
查看日誌群組和串流
在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽頁面中,選擇 Logs (日誌)。
-
在 Log Groups (日誌群組) 中,依
MyInferencePipelinesEndpoint
篩選: -
若要查看日誌串流,請在 CloudWatch 日誌群組頁面上選擇
MyInferencePipelinesEndpoint
,然後選擇搜尋日誌群組 。
如需 SageMaker 發佈日誌的清單,請參閱 推論管道日誌和指標。
使用錯誤訊息進行推論管道的故障診斷
推論管道錯誤訊息指出哪些容器故障。
如果在 SageMaker 叫用端點時發生錯誤,服務會傳回 ModelError
(錯誤碼 424),指出哪個容器失敗。如果請求承載 (來自先前容器的回應) 超過 5 MB 的限制, SageMaker 會提供詳細的錯誤訊息,例如:
收到來自 MyContainerName1 且狀態碼為 200 的回應。不過,從 MyContainerName1 到 MyContainerName2 的請求承載為 6000000 個位元組,已超過 5 MB 的上限。
如果容器 SageMaker 在建立端點時未通過 ping 運作狀態檢查,則會傳回 ClientError
,並指出上次運作狀態檢查中未通過 ping 檢查的所有容器。