推論管道的故障診斷 - Amazon SageMaker

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

推論管道的故障診斷

若要對推論管道問題進行疑難排解,請使用 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 都會組成個別的日誌串流。日誌群組是共用相同保留、監控和存取控制設定的日誌串流群組。

查看日誌群組和串流
  1. 在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽頁面中,選擇 Logs (日誌)

  3. Log Groups (日誌群組) 中,依 MyInferencePipelinesEndpoint 篩選:

    針對推論管道端點篩選的 CloudWatch 日誌群組。
  4. 若要查看日誌串流,請在 CloudWatch 日誌群組頁面上選擇 MyInferencePipelinesEndpoint,然後選擇搜尋日誌群組

    推論管道的 CloudWatch 日誌串流。

如需 SageMaker 發佈日誌的清單,請參閱 推論管道日誌和指標

使用錯誤訊息進行推論管道的故障診斷

推論管道錯誤訊息指出哪些容器故障。

如果在 SageMaker 叫用端點時發生錯誤,服務會傳回 ModelError(錯誤碼 424),指出哪個容器失敗。如果請求承載 (來自先前容器的回應) 超過 5 MB 的限制, SageMaker 會提供詳細的錯誤訊息,例如:

收到來自 MyContainerName1 且狀態碼為 200 的回應。不過,從 MyContainerName1 到 MyContainerName2 的請求承載為 6000000 個位元組,已超過 5 MB 的上限。

如果容器 SageMaker 在建立端點時未通過 ping 運作狀態檢查,則會傳回 ClientError,並指出上次運作狀態檢查中未通過 ping 檢查的所有容器。