对 Amazon SageMaker HyperPod 可观测性附加组件进行故障排除 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对 Amazon SageMaker HyperPod 可观测性附加组件进行故障排除

使用以下指南来解决 Amazon SageMaker HyperPod (SageMaker HyperPod) 可观察性附加组件的常见问题。

解决 Amazon Managed Grafana 中的指标缺失问题

如果 Amazon Managed Grafana 控制面板中未显示指标,请执行以下步骤来识别和解决问题。

验证 Amazon Managed Service for Prometheus 与 Amazon Managed Grafana 的连接

  1. 登录 Amazon Managed Grafana 控制台。

  2. 在左侧窗格中,选择所有工作区

  3. 工作区表中,选择您的工作区。

  4. 在工作区的详细信息页面中,选择数据来源选项卡。

  5. 确认 Amazon Managed Service for Prometheus 数据来源存在。

  6. 检查连接设置:

    • 确认端点 URL 正确。

    • 确认已正确配置 IAM 身份验证。

    • 选择 Test connection (测试连接)。确认状态为数据来源正在运行

确认 Amazon EKS 加载项状态

  1. https://console.aws.amazon.com/eks/home#/ clusters 中打开 Amazon EKS 控制台。

  2. 选择您的集群。

  3. 选择附加组件选项卡。

  4. 确认已列出 SageMaker HyperPod 可观测性插件且其状态是否为 AC TIVE。

  5. 如果状态不是 ACTIVE,请参阅附加组件安装失败故障排除

确认容器组身份关联

  1. https://console.aws.amazon.com/eks/home#/ clusters 中打开 Amazon EKS 控制台。

  2. 选择您的集群。

  3. 在集群详细信息页面上,选择访问选项卡。

  4. 容器组身份关联表中,选择具有以下属性值的关联:

    • 命名空间hyperpod-observability

    • 服务账户hyperpod-observability-operator-otel-collector

    • 附加组件amazon-sagemaker-hyperpod-observability

  5. 确保附加到此关联的 IAM 角色具有以下权限。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "PrometheusAccess", "Effect": "Allow", "Action": "aps:RemoteWrite", "Resource": "arn:aws:aps:us-east-1:111122223333:workspace/workspace-ID" }, { "Sid": "CloudwatchLogsAccess", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents", "logs:GetLogRecord", "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/Clusters/*", "arn:aws:logs:us-east-1:111122223333:log-group:/aws/sagemaker/Clusters/*:log-stream:*" ] } ] }
  6. 确保附加到此关联的 IAM 角色具有以下信任策略。确认源 ARN 和源账户正确。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowEksAuthToAssumeRoleForPodIdentity", "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:eks:us-east-1:111122223333:cluster/cluster-name", "aws:SourceAccount": "111122223333" } } } ] }

查看 Amazon Managed Service for Prometheus 限制

  1. 登录Amazon Web Services 管理控制台并打开 Service Quotas 控制台,网址为https://console.aws.amazon.com/servicequotas/

  2. 托管配额框中,搜索并选择 Amazon Managed Service for Prometheus。

  3. 选择每个工作区的活动序列配额。

  4. 资源级限额选项卡中,选择 Amazon Managed Service for Prometheus 工作区。

  5. 确保利用率低于您的当前配额。

  6. 如果您已达到配额限制,请通过选择工作区左侧的单选按钮来选择该工作区,然后选择请求在资源级别增加

验证是否已启用 KV 缓存和智能路由

如果KVCache Metrics仪表板缺失,则该功能未启用或未在中提及端口modelMetrics。有关如何启用此功能的更多信息,请参阅中的步骤 1 和步骤 3 配置 KV 缓存和智能路由以提高性能

如果Intelligent Router Metrics仪表板缺失,请启用该功能以显示它们。有关如何启用此功能的更多信息,请参阅配置 KV 缓存和智能路由以提高性能

附加组件安装失败故障排除

如果无法安装可观测性附加组件,请执行以下步骤来诊断并解决问题。

查看运行状况探针状态

  1. https://console.aws.amazon.com/eks/home#/ clusters 中打开 Amazon EKS 控制台。

  2. 选择您的集群。

  3. 选择附加组件选项卡。

  4. 选择出现故障的附加组件。

  5. 查看运行状况问题部分。

  6. 如果运行状况问题与凭证或容器组身份有关,请参阅确认容器组身份关联。此外,还需确保容器组身份代理附加组件正在集群中运行。

  7. 查看管理器日志中的错误。有关说明,请参阅查看管理器日志

  8. 请联系 S Amazon upport 并提供问题详情。

查看管理器日志

  1. 获取附加组件管理器容器组(pod):

    kubectl logs -n hyperpod-observability -l control-plane=hyperpod-observability-controller-manager
  2. 对于紧急问题,请联系 Amazon Web Services 支持。

查看所有可观测性容器组(pod)

SageMaker HyperPod 可观测性插件创建的所有 pod 都在hyperpod-observability命名空间中。要获取这些容器组(pod)的状态,请运行以下命令。

kubectl get pods -n hyperpod-observability

查找状态为 pendingcrashloopbackoff 的容器组(pod)。运行以下命令可获取这些待处理或出现故障的容器组(pod)的日志。

kubectl logs -n hyperpod-observability pod-name

如果您在日志中未找到错误,请运行以下命令来描述容器组(pod)并查找错误。

kubectl describe -n hyperpod-observability pod pod-name

要获取更多上下文,请运行以下两条命令来描述这些容器组(pod)的部署和 DaemonSet。

kubectl describe -n hyperpod-observability deployment deployment-name
kubectl describe -n hyperpod-observability daemonset daemonset-name

对处于 pending 状态的容器组(pod)进行故障排除

如果您看到有处于 pending 状态的 pod,请确保该节点足够大,可以容纳所有 Pod。要确认这一点,请执行以下步骤。

  1. https://console.aws.amazon.com/eks/home#/ clusters 中打开 Amazon EKS 控制台。

  2. 选择您的集群。

  3. 选择集群的计算选项卡。

  4. 选择具有最小实例类型的节点。

  5. 在容量分配部分,查找可用的容器组(pod)。

  6. 如果没有可用的容器组(pod),则需要更大的实例类型。

对于紧急问题,请联系 Amazon Web Services 支持。