本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为以下各项设置 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 和-Exporter NVIDIA DCGM
增加 Slurm 任务GPUs使用的CPU内核数量和
添加任务监控控制面板
增强了GPU具有 4 或 8 个图形处理单元的节点的节点监控仪表板 (GPUs)
此版本的增强解决方案已在AWS客户的HPC生产环境中实施和验证。
先决条件和限制
先决条件
AWS ParallelCluster CLI,已安装并配置。
支持的网络配置AWS ParallelCluster。此模式使用AWS ParallelCluster 使用两个子网配置,该配置需要公有子网、私有子网、Internet 网关和NAT网关。
所有AWS ParallelCluster 群集节点都必须能够访问互联网。这是必要条件,这样安装脚本才能下载开源软件和 Docker 映像。
亚马逊弹性计算云(亚马逊EC2)中的密钥对。拥有此 key pair 的资源可以访问头节点 Secure Shell (SSH)。
限制
此模式旨在支持 Ubuntu 20.04。LTS如果您使用的是其他版本的 Ubuntu,或者您使用的是 Amazon Linux 或 CentOS,则需要修改此解决方案提供的脚本。这些修改不包含在此模式中。
产品版本
Ubuntu 20.04 LTS
ParallelCluster 3.X
账单与成本注意事项
以这种模式部署的解决方案并不在免费套餐范围内。亚马逊EC2、亚马逊收费 Lustre、亚马逊FSxNAT网关和亚马逊 VPC Route 53 的费用。
架构
目标架构
下图显示了用户如何访问头节点AWS ParallelCluster 上的监控仪表板。头节点运行 NICEDCV,Prometheus、Grafana、Prometheus Slurm Exporter、Prometheus Node Exporter 和开源。NGINX计算节点运行 Prometheus Node Exporter,如果节点包含,NVIDIADCGM它们还会运行-Exporter。GPUs头节点从计算节点检索信息,并将此数据显示在 Grafana 控制面板中。
在大多数情况下,头节点的负载并不大,因为作业调度器不需要大量的CPU内存。用户使用端口 443 访问头节点SSL上的仪表板。
所有授权查看者都可以匿名查看监控控制面板。仅 Grafana 管理员可以修改控制面板。您可在 aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml
文件中为 Grafana 管理员配置密码。
工具
AWS服务
NICEDCV是一种高性能的远程显示协议,可帮助您在不同的网络条件下将远程桌面和应用程序从任何云或数据中心传输到任何设备。
AWS ParallelCluster帮助您部署和管理高性能计算 (HPC) 集群。它支持 AWS Batch 和 Slurm 开源作业调度器。
Amazon Simple Storage Service (Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。
Amazon Virtual Private Cloud(亚马逊VPC)可帮助您将AWS资源启动到您定义的虚拟网络中。
其他工具
Docker
是一组平台即服务(PaaS)产品,它们使用操作系统级别的虚拟化技术在容器中交付软件。 Grafana
是一款开源软件,可帮助您查询、可视化、提醒和浏览指标、日志和跟踪。 NGINX开源
是一个开源的 Web 服务器和反向代理。 NVIDIAData Center GPU Manager (DCGM)
是一套工具,用于管理和监控集群环境中的NVIDIA数据中心图形处理单元 (GPUs)。在这种模式中,你使用 DCGM- Exporter,它可以帮助你从 Prometheu GPU s 导出指标。 Prometheus
是开源系统监控工具包,可将其指标收集并存储为时间序列数据,以及相关的键值对(称为标签)。在此模式下,您还可使用 Prometheus Slurm Exporter 收集和导出指标,您可使用 Prometheus Node Exporter 导出来自结算节点的指标。 Ubuntu
是基于 Linux 的开源操作系统,专为企业服务器、桌面、云环境和物联网而设计。
代码存储库
此模式的代码可在 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 群。使用提供的集群.yaml
| AWS管理员 |
创建集群。 | 在中 AWS ParallelCluster CLI,输入以下命令。这将部署 CloudFormation 模板并创建集群。有关此命令的更多信息,请参阅文档中的 pcluster create-cluster。AWS ParallelCluster
| AWS管理员 |
监控集群创建。 | 输入以下命令,以监控集群创建。有关此命令的更多信息,请参阅文档中的 pcluster describe-cluster。AWS ParallelCluster
| AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
访问 Grafana 门户。 |
| AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
请删除集群。 | 输入以下命令以删除集群。有关此命令的更多信息,请参阅文档中的 pcluster delete-cluster。AWS ParallelCluster
| AWS管理员 |
删除IAM策略。 | 删除您为头节点与计算节点创建的策略。有关删除策略的更多信息,请参阅IAM文档中的删除IAM策略。 | AWS管理员 |
删除安全组和规则。 | AWS管理员 | |
删除 S3 存储桶。 | 删除您创建的用于存储配置脚本的 S3 存储桶。有关更多信息,请参阅 Amazon S3 文档中的删除存储桶。 | 将军 AWS |
故障排除
问题 | 解决方案 |
---|---|
头节点在浏览器中不可访问。 | 检查安全组并确认入站端口 443 已经打开。 |
无法打开 Grafana。 | 在头节点上,查看 |
部分指标没有数据。 | 在头节点,检查所有容器的容器日志。 |
相关资源
AWS文档
其他AWS资源
AWS ParallelCluster(AWS博客文章)的监控仪表板
其他资源