🔧hyperpod-issue-report
- プラグイン
- sagemaker-ai
- ソース
- GitHub で見る ↗
説明
HyperPodクラスター(EKSおよびSlurm)から診断ログと構成情報を収集し、トラブルシューティングおよびAWSサポートケース向けの包括的な障害レポートを生成します。 次のような場合に使用: - HyperPodクラスターノードから診断情報を収集する必要がある - AWSサポート向けの障害レポートを作成する必要がある - ノード障害やパフォーマンス問題を調査している - クラスターの状態をドキュメント化する必要がある - 診断スナップショットを作成する必要がある 障害レポートの作成、診断情報の収集、サポートケースの準備、または複数ノードからログやシステム情報の収集を必要とするクラスターのトラブルシューティングに関するリクエストに対して起動します。
原文を表示
Generate comprehensive issue reports from HyperPod clusters (EKS and Slurm) by collecting diagnostic logs and configurations for troubleshooting and AWS Support cases. Use when users need to collect diagnostics from HyperPod cluster nodes, generate issue reports for AWS Support, investigate node failures or performance problems, document cluster state, or create diagnostic snapshots. Triggers on requests involving issue reports, diagnostic collection, support case preparation, or cluster troubleshooting that requires gathering logs and system information from multiple nodes.
ユースケース
- ✓HyperPodクラスターノードの診断情報を収集する
- ✓AWSサポート向けの障害レポートを作成する
- ✓ノード障害やパフォーマンス問題を調査する
- ✓クラスターの状態をドキュメント化する
- ✓診断スナップショットを作成する
本文(日本語訳)
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 を確認):
-
kubectl がインストールされているか確認します(
which kubectl)。 インストールされていない場合は、現在のプラットフォーム向けにインストールしてください。 -
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]
--instance-groups、--nodes、--command、--max-workers、--debug などの全オプションは --help で確認できます。
なお、--instance-groups と --nodes は同時に指定できません。
ノード識別子には、インスタンス ID(i-*)、EKS 名(hyperpod-i-*)、または Slurm 名(ip-*)が使用できます。
4. 結果の提示
収集完了後、スクリプトは統計情報を表示し、インタラクティブなダウンロードを提案します。 S3 の保存先を報告し、以下のサポートを提供します:
- レポートをローカルにダウンロードする
- 収集した診断情報の分析を支援する (各ファイルの内容は references/collection-details.md を参照)
- AWS サポート向けのサマリーを作成する
トラブルシューティング
エラー処理、大規模クラスターのチューニング、および既知の制限事項については、 references/troubleshooting.md を参照してください。
原文(English)を表示
HyperPod Issue Report
Collect diagnostic logs from HyperPod cluster nodes via SSM, store results in S3. Supports both EKS and Slurm clusters with auto-detection. Uses the bundled scripts/hyperpod_issue_report.py for reliable parallel collection.
Prerequisites
- AWS CLI configured with permissions:
sagemaker:DescribeCluster,sagemaker:ListClusterNodes,ssm:StartSession,s3:PutObject,s3:GetObject,eks:DescribeCluster - Python 3.8+ and uv (see uv installation docs for install options)
- SSM Agent running on target nodes; node IAM roles need
s3:GetObject/s3:PutObjecton the report bucket - For EKS clusters: kubectl installed and configured (see Workflow step 2)
Workflow
1. Gather Information
Collect from the user:
- Cluster identifier (required): accepts cluster name or full cluster ARN (e.g.,
arn:aws:sagemaker:us-west-2:123456789012:cluster/abc123) - AWS region (required unless extractable from ARN)
- S3 path for report storage (required, e.g.
s3://bucket/prefix). If the user doesn't have a bucket, create one (e.g.,s3://hyperpod-diagnostics-<account-id>-<region>) - Issue description (optional)
- Target scope: all nodes, specific instance groups, or specific node IDs (optional)
- Additional commands to run on nodes (optional)
2. Verify Environment
aws sts get-caller-identity
aws sagemaker describe-cluster --cluster-name <name-or-arn> --region <region>
If the S3 bucket doesn't exist, create it:
aws s3 mb s3://<bucket-name> --region <region>
For EKS clusters (check Orchestrator.Eks in describe-cluster output):
-
Ensure kubectl is installed (
which kubectl). If missing, install it for the current platform. -
Configure kubeconfig using the EKS cluster name from the describe-cluster response:
aws eks update-kubeconfig --name <eks-cluster-name> --region <region>
3. Run the Collection Script
uv run scripts/hyperpod_issue_report.py \
--cluster <cluster-name-or-arn> \
--region <region> \
--s3-path s3://<bucket>[/prefix]
Use --help for all options including --instance-groups, --nodes, --command, --max-workers, and --debug. Note: --instance-groups and --nodes are mutually exclusive. Node identifiers accept instance IDs (i-*), EKS names (hyperpod-i-*), or Slurm names (ip-*).
4. Present Results
After collection, the script shows statistics and offers interactive download. Report the S3 location and offer to:
- Download the report locally
- Help analyze collected diagnostics (see references/collection-details.md for what's in each file)
- Prepare a summary for AWS Support
Troubleshooting
See references/troubleshooting.md for error handling, large cluster tuning, and known limitations.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。