mcpField
H
hyperpod-issue-report

hyperpod-issue-report

github.com/awslabs云与 DevOps932144 次安装3 周前更新
代码仓库

关于 hyperpod-issue-report

hyperpod-issue-report 用于收集 AWS HyperPod 集群节点的诊断日志,并将报告存入 S3。它支持 EKS 和 Slurm 集群,可通过内置 Python 脚本并行收集。

主要功能

  1. 01支持 EKS 和 Slurm 集群
  2. 02自动检测集群类型
  3. 03并行收集日志
  4. 04将报告存入 S3
  5. 05可选节点或实例组范围

适用场景

  1. 01收集日志以调查 HyperPod 问题
  2. 02从指定集群节点收集诊断信息
  3. 03准备供 AWS Support 使用的诊断数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/awslabs/agent-plugins --skill hyperpod-issue-report

安装后在 Claude Code 中输入/hyperpod-issue-report确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
collection-details.md
troubleshooting.md
scripts/
hyperpod_issue_report.py

详细介绍

HyperPod 问题报告

通过 SSM 从 HyperPod 集群节点收集诊断日志,并将结果存储在 S3 中。支持 EKS 和 Slurm 集群,可自动检测。使用随附的 scripts/hyperpod_issue_report.py 实现可靠的并行收集。

前提条件

  • 已配置 AWS CLI,并具有以下权限:sagemaker:DescribeCluster、sagemaker:ListClusterNodes、ssm:StartSession、s3:PutObject、s3:GetObject、eks:DescribeCluster
  • Python 3.8+ 和 uv(安装选项请参阅 uv 安装文档)
  • 目标节点上运行着 SSM Agent;节点 IAM 角色需要对报告存储桶具有 s3:GetObject/s3:PutObject 权限
  • 对于 EKS 集群:已安装并配置 kubectl(请参阅工作流步骤 2)

工作流

1. 收集信息

向用户收集以下信息:

  • 集群标识符(必需):接受集群名称或完整集群 ARN(例如,arn:aws:sagemaker:us-west-2:123456789012:cluster/abc123)
  • AWS 区域(必需,除非可从 ARN 中提取)
  • 用于存储报告的 S3 路径(必需,例如 s3://bucket/prefix)。如果用户没有存储桶,请创建一个(例如,s3://hyperpod-diagnostics-<account-id>-<region>)
  • 问题描述(可选)
  • 目标范围:所有节点、指定实例组或指定节点 ID(可选)
2. 验证环境
aws sts get-caller-identity
aws sagemaker describe-cluster --cluster-name <name-or-arn> --region <region>

如果 S3 存储桶不存在,请创建:

aws s3 mb s3://<bucket-name> --region <region>

对于 EKS 集群(检查 describe-cluster 输出中的 Orchestrator.Eks):

  1. 确保已安装 kubectl(which kubectl)。如果缺少,请为当前平台安装。

  2. 使用 describe-cluster 响应中的 EKS 集群名称配置 kubeconfig:

    aws eks update-kubeconfig --name <eks-cluster-name> --region <region>
    
3. 运行收集脚本
uv run scripts/hyperpod_issue_report.py \
  --cluster <cluster-name-or-arn> \
  --region <region> \
  --s3-path s3://<bucket>[/prefix]

使用 --help 查看所有选项,包括 --instance-groups、--nodes、--max-workers 和 --debug。注意:--instance-groups 和 --nodes 不能同时使用。节点标识符接受实例 ID(i-*)、EKS 名称(hyperpod-i-*)或 Slurm 名称(ip-*)。

4. 呈现结果

收集完成后,脚本会显示统计信息并提供交互式下载选项。报告 S3 位置,并提供以下帮助:

  • 在本地下载报告
  • 帮助分析收集到的诊断信息(各文件包含的内容请参阅 references/collection-details.md)
  • 为 AWS Support 准备摘要

故障排除

有关错误处理、大型集群调优和已知限制,请参阅 references/troubleshooting.md。

评论

支持 Markdown