本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為 設定 Grafana 監控儀表板 AWS ParallelCluster
由 Dario La Porta (AWS) 和 William Lu (AWS) 建立
環境:PoC 或試行 | 技術:高效能運算;分析;管理和治理 | |
工作負載:開放原始碼 | AWS 服務: AWS ParallelCluster |
Summary
AWS ParallelCluster 可協助您部署和管理高效能運算 (HPC) 叢集。它支援 AWS Batch 和 Slurm 開放原始碼任務排程器。雖然 AWS ParallelCluster 已與 Amazon 整合 CloudWatch 以供記錄和指標,但它不會為工作負載提供監控儀表板。
(GitHub) 的 Grafana 儀表板AWS ParallelCluster
支援 AWS ParallelCluster v3
使用最新版本的開放原始碼套件,包括 Prometheus、Grafana、Prometheus Slurm Exporter 和 NVIDIA DCGM-Exporter
增加CPU核心數量和 Slurm 任務使用GPUs的數量
新增任務監控儀表板
為具有 4 或 8 個圖形處理單元的節點增強GPU節點監控儀表板 (GPUs)
此增強型解決方案的版本已在AWS客戶的HPC生產環境中實作和驗證。
先決條件和限制
先決條件
AWS ParallelCluster CLI,已安裝並設定。
支援的網路組態AWS ParallelCluster。此模式AWS ParallelCluster 使用兩個子網路組態,需要公有子網路、私有子網路、網際網路閘道和NAT閘道。
所有AWS ParallelCluster 叢集節點都必須具有網際網路存取權。這是必要的,以便安裝指令碼可以下載開放原始碼軟體和 Docker 映像。
Amazon Elastic Compute Cloud (Amazon EC2) 中的金鑰對。具有此金鑰對的資源具有頭部節點的安全殼層 (SSH) 存取權。
限制
此模式旨在支援 Ubuntu 20.04 LTS。如果您使用的是不同版本的 Ubuntu,或是使用 Amazon Linux 或 CentOS ,則需要修改此解決方案隨附的指令碼。此模式不包含這些修改。
產品版本
Ubuntu 20.04 LTS
ParallelCluster 3.X
帳單和成本考量
以這種模式部署的解決方案不受免費層的涵蓋。費用適用於 Amazon EC2、Amazon FSx for Lustre、Amazon 中的NAT閘道VPC,以及 Amazon Route 53。
架構
目標架構
下圖顯示使用者如何在主機節點AWS ParallelCluster 上存取 的監控儀表板。主節點執行 NICE DCV、Prometheus、Grafana、Prometheus Slurm Exporter、Prometheus Node Exporter 和 NGINX Open Source。運算節點會執行 Prometheus Node Exporter ,如果節點包含 ,也會執行 NVIDIA DCGM-ExporterGPUs。主節點會從運算節點擷取資訊,並在 Grafana 儀表板中顯示該資料。
在大多數情況下,由於任務排程器不需要大量 CPU或 記憶體,因此不會大量載入主機節點。使用者可在連接埠 443 上使用 存取主機節點SSL上的儀表板。
所有授權檢視器都可以匿名檢視監控儀表板。只有 Grafana 管理員可以修改儀表板。您可以在 aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml
檔案中設定 Grafana 管理員的密碼。
工具
AWS 服務
NICE DCV 是一種高效能遠端顯示通訊協定,可協助您在不同的網路條件下,將遠端桌面和應用程式串流從任何雲端或資料中心交付至任何裝置。
AWS ParallelCluster 可協助您部署和管理高效能運算 (HPC) 叢集。它支援 AWS Batch 和 Slurm 開放原始碼任務排程器。
Amazon Simple Storage Service (Amazon S3) 是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。
Amazon Virtual Private Cloud (Amazon VPC) 可協助您將AWS資源啟動至您定義的虛擬網路。
其他工具
Docker
是一組平台即服務 PaaS) 產品,在作業系統層級使用虛擬化在容器中交付軟體。 Grafana
是一種開放原始碼軟體,可協助您查詢、視覺化、提醒和探索指標、日誌和追蹤。 NGINX Open Source
是開放原始碼 Web 伺服器和反向代理。 NVIDIA Data Center GPU Manager (DCGM)
是一組工具,用於管理和監控叢集環境中NVIDIA的資料中心圖形處理單元 (GPUs)。在此模式中,您可以使用 DCGM-Exporter ,這可協助您從 Prometheus 匯出GPU指標。 Prometheus
是開放原始碼系統監控工具組,可收集並儲存其指標作為具有相關鍵值對的時間序列資料,稱為標籤 。在此模式中,您也會使用 Prometheus Slurm Exporter 來收集和匯出指標,並使用 Prometheus Node Exporter 從運算節點匯出指標。 Ubuntu
是開放原始碼、以 Linux 為基礎的作業系統,專為企業伺服器、桌面、雲端環境和 IoT 而設計。
程式碼儲存庫
此模式的程式碼可在儲存庫中使用 GitHub pcluster-monitoring-dashboard
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
建立 S3 儲存貯體。 | 建立 Amazon S3 儲存貯體。您可以使用此儲存貯體來存放組態指令碼。如需指示,請參閱 Amazon S3 文件中的建立儲存貯體。 | 一般 AWS |
複製儲存庫。 | 執行下列命令來複製 GitHub pcluster-monitoring-dashboard
| DevOps 工程師 |
建立管理員密碼。 |
| Linux Shell 指令碼 |
將必要的檔案複製到 S3 儲存貯體。 | 將 post_install.sh | 一般 AWS |
設定主機節點的其他安全群組。 | AWS 管理員 | |
設定主機節點IAM的政策。 | 為主機節點建立身分型政策。此政策允許節點從 Amazon 擷取指標資料 CloudWatch。 GitHub 儲存庫包含範例政策 | AWS 管理員 |
設定運算節點IAM的政策。 | 為運算節點建立身分型政策。此政策允許節點建立包含任務 ID 和任務擁有者的標籤。 GitHub 儲存庫包含範例政策 如果您使用提供的範例檔案,請取代下列值:
| AWS 管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
修改提供的叢集範本檔案。 | 建立AWS ParallelCluster 叢集。使用提供的 cluster.yaml
| AWS 管理員 |
建立 叢集 | 在 中AWS ParallelCluster CLI,輸入下列命令。這會部署 CloudFormation 範本並建立叢集。如需此命令的詳細資訊,請參閱 AWS ParallelCluster 文件中的 pcluster create-cluster。
| AWS 管理員 |
監控叢集建立。 | 輸入下列命令以監控叢集建立。如需此命令的詳細資訊,請參閱 AWS ParallelCluster 文件中的 pcluster describe-cluster。
| AWS 管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
存取 Grafana 入口網站。 |
| AWS 管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
刪除叢集。 | 輸入下列命令以刪除叢集。如需此命令的詳細資訊,請參閱 AWS ParallelCluster 文件中的 pcluster delete-cluster。
| AWS 管理員 |
刪除IAM政策。 | 刪除您為主機節點和運算節點建立的政策。如需刪除政策的詳細資訊,請參閱 IAM 文件中的刪除IAM政策。 | AWS 管理員 |
刪除安全群組和規則。 | AWS 管理員 | |
刪除 S3 儲存貯體。 | 刪除您為儲存組態指令碼而建立的 S3 儲存貯體。如需詳細資訊,請參閱 Amazon S3 文件中的刪除儲存貯體。 | 一般 AWS |
故障診斷
問題 | 解決方案 |
---|---|
無法在瀏覽器中存取頭部節點。 | 檢查安全群組並確認傳入連接埠 443 已開啟。 |
Grafana 未開啟。 | 在主機節點上,檢查 的容器日誌 |
有些指標沒有資料。 | 在主機節點上,檢查所有容器的容器日誌。 |
相關資源
AWS 文件
其他AWS資源
監控 (AWS 部落格文章) 的儀表板 AWS ParallelCluster
其他資源