為 設定 Grafana 監控儀表板 AWS ParallelCluster - AWS 方案指引

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

為 設定 Grafana 監控儀表板 AWS ParallelCluster

由 Dario La Porta (AWS) 和 William Lu (AWS) 建立

程式碼儲存庫: parallelcluster-monitoring-dashboard

環境:PoC 或試行

技術:高效能運算;分析;管理和治理

工作負載:開放原始碼

AWS 服務: AWS ParallelCluster

Summary

AWS ParallelCluster 可協助您部署和管理高效能運算 (HPC) 叢集。它支援 AWS Batch 和 Slurm 開放原始碼任務排程器。雖然 AWS ParallelCluster 已與 Amazon 整合 CloudWatch 以供記錄和指標,但它不會為工作負載提供監控儀表板。

(GitHub) 的 Grafana 儀表板AWS ParallelCluster是 的監控儀表板AWS ParallelCluster。它在作業系統 (OS) 層級提供任務排程器洞察和詳細的監控指標。如需此解決方案中包含之儀表板的詳細資訊,請參閱 GitHub 儲存庫中的範例儀表板。這些指標可協助您更了解HPC工作負載及其效能。不過,儀表板程式碼不會針對解決方案中使用的最新版本 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 儀表板中顯示該資料。

在主機節點AWS ParallelCluster 上存取 的監控儀表板。

在大多數情況下,由於任務排程器不需要大量 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儲存庫。

git clone https://github.com/aws-samples/parallelcluster-monitoring-dashboard.git
DevOps 工程師

建立管理員密碼。

  1. 選擇aws-parallelcluster-monitoring資料夾,選擇docker-compose資料夾,然後開啟 docker-compose.head.yml 檔案。

  2. GF_SECURITY_ADMIN_PASSWORD變數中,Grafana4PC!使用您選擇的密碼取代 。這是您用來管理 Grafana 帳戶的管理密碼。

  3. 儲存並關閉 docker-compose.head.yml 檔案。

Linux Shell 指令碼

將必要的檔案複製到 S3 儲存貯體。

post_install.sh 指令碼和aws-parallelcluster-monitoring資料夾複製到您建立的 S3 儲存貯體。如需指示,請參閱 Amazon S3 文件中的上傳物件。 Amazon S3

一般 AWS

設定主機節點的其他安全群組。

  1. 建立主機節點的安全群組。此安全群組將允許傳入流量到主機節點上的監控儀表板。如需指示,請參閱 Amazon VPC 文件中的建立安全群組

  2. 將傳入規則新增至安全群組。如需指示,請參閱 Amazon VPC 文件中的將規則新增至安全群組。規則請使用下列參數:

    • 類型 – HTTPS

    • 通訊協定 – TCP

    • 連接埠範圍 – 443

    • 來源 – 輸入您的 IP 地址

    • 描述 – 允許使用者存取監控儀表板

AWS 管理員

設定主機節點IAM的政策。

為主機節點建立身分型政策。此政策允許節點從 Amazon 擷取指標資料 CloudWatch。 GitHub 儲存庫包含範例政策 。如需指示,請參閱 AWS Identity and Access Management (IAM) 文件中的建立IAM政策

AWS 管理員

設定運算節點IAM的政策。

為運算節點建立身分型政策。此政策允許節點建立包含任務 ID 和任務擁有者的標籤。 GitHub 儲存庫包含範例政策 。如需指示,請參閱 IAM 文件中的建立IAM政策

如果您使用提供的範例檔案,請取代下列值:

  • <REGION> – 託管叢集AWS的區域

  • <ACCOUNT_ID> – AWS帳戶 ID

AWS 管理員
任務描述所需的技能

修改提供的叢集範本檔案。

建立AWS ParallelCluster 叢集。使用提供的 cluster.yaml AWS CloudFormation 範本檔案作為建立叢集的起點。在提供的範本中取代下列值:

  • <REGION> – 託管叢集AWS的區域。

  • <HEADNODE_SUBNET> – 的公有子網路VPC。

  • <ADDITIONAL_HEAD_NODE_SG> – 您為主節點建立的安全群組名稱。

  • <KEY_NAME> – 輸入現有 Amazon EC2金鑰對的名稱。具有此金鑰對的資源具有頭部節點的安全 Shell (SSH) 存取權。

  • <ALLOWED_IPS> -–輸入允許與主機節點建立SSH連線的 CIDR格式化 IP 地址範圍。

  • <ADDITIONAL_HEAD_NODE_POLICY> – 輸入您為主機節點建立IAM的政策名稱。

  • <BUCKET_NAME> – 輸入您建立的 S3 儲存貯體名稱。

  • <COMPUTE_SUBNET> – 在 中輸入私有子網路的名稱VPC。

  • <ADDITIONAL_COMPUTE_NODE_POLICY> – 輸入您為運算節點建立IAM的政策名稱。

AWS 管理員

建立 叢集

在 中AWS ParallelCluster CLI,輸入下列命令。這會部署 CloudFormation 範本並建立叢集。如需此命令的詳細資訊,請參閱 AWS ParallelCluster 文件中的 pcluster create-cluster

pcluster create-cluster -n <cluster_name> -c cluster.yaml
AWS 管理員

監控叢集建立。

輸入下列命令以監控叢集建立。如需此命令的詳細資訊,請參閱 AWS ParallelCluster 文件中的 pcluster describe-cluster

pcluster describe-cluster -n <cluster_name>
AWS 管理員
任務描述所需的技能

存取 Grafana 入口網站。

  1. 輸入下列命令以擷取主機節點的公有 IP 地址。

    pcluster describe-cluster -n <cluster_name> --query headNode.publicIpAddress
  2. 在 Web 瀏覽器中,導覽至下列項目URL以存取 Grafana 儀表板。

    https://<head_node_public_ip_address>

  3. 在 Grafana 首頁上,選擇左側選單上的 4 平方儀表板圖示,然後選擇一般 。這會顯示已設定的儀表板清單。Grafana 提供下列儀表板:

    • 叢集成本 – 包含叢集成本的相關資訊

    • 叢集日誌 – 包含有關叢集日誌的資訊

    • 運算節點詳細資訊 – 包含有關運算節點用量統計資料的資訊

    • 運算節點清單 – 包含叢集運算節點的清單

    • GPU 節點 – 包含GPU節點使用率統計資料的相關資訊

    • 任務詳細資訊 – 包含任務資源使用率的相關資訊

    • 頭部節點詳細資訊 – 包含有關頭部節點用量統計資料的資訊

    • ParallelCluster 摘要 – 包含叢集用量的相關資訊

AWS 管理員
任務描述所需的技能

刪除叢集。

輸入下列命令以刪除叢集。如需此命令的詳細資訊,請參閱 AWS ParallelCluster 文件中的 pcluster delete-cluster

pcluster delete-cluster -n <cluster_name>
AWS 管理員

刪除IAM政策。

刪除您為主機節點和運算節點建立的政策。如需刪除政策的詳細資訊,請參閱 IAM 文件中的刪除IAM政策

AWS 管理員

刪除安全群組和規則。

刪除您為主機節點建立的安全群組。如需詳細資訊,請參閱 Amazon VPC 文件中的刪除安全群組規則刪除安全群組

AWS 管理員

刪除 S3 儲存貯體。

刪除您為儲存組態指令碼而建立的 S3 儲存貯體。如需詳細資訊,請參閱 Amazon S3 文件中的刪除儲存貯體。

一般 AWS

故障診斷

問題解決方案

無法在瀏覽器中存取頭部節點。

檢查安全群組並確認傳入連接埠 443 已開啟。

Grafana 未開啟。

在主機節點上,檢查 的容器日誌docker logs Grafana

有些指標沒有資料。

在主機節點上,檢查所有容器的容器日誌。

相關資源

AWS 文件

其他AWS資源

其他資源