Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configurar un panel de monitoreo de Grafana para AWS ParallelCluster
Creado por Dario La Porta (AWS) y William Lu (AWS)
Repositorio de código: parallelcluster-monitoring-dashboard | Entorno: PoC o piloto | Tecnologías: computación de alto rendimiento; análisis; gestión y gobierno |
Carga de trabajo: código abierto | Servicios de AWS: AWS ParallelCluster |
Resumen
AWS le ParallelCluster ayuda a implementar y administrar clústeres de computación de alto rendimiento (HPC). Es compatible con los programadores de trabajos de código abierto AWS Batch y Slurm. Aunque AWS ParallelCluster está integrado con Amazon CloudWatch para el registro y las métricas, no proporciona un panel de supervisión de la carga de trabajo.
El panel de control de Grafana para AWS ParallelCluster
Compatible con AWS ParallelCluster v3
Usa la última versión de los paquetes de código abierto, incluidos Prometheus, Grafana, Prometheus Slurm Exporter y NVIDIA DCGM-Exporter
Aumenta el número de núcleos de CPU y GPU que usan los trabajos de Slurm
Añade un panel de supervisión de trabajos
Mejora el panel de supervisión de nodos de GPU para nodos con 4 u 8 unidades de procesamiento gráfico (GPU)
Esta versión de la solución mejorada se ha implementado y verificado en el entorno de producción de HPC de un cliente de AWS.
Requisitos previos y limitaciones
Requisitos previos
AWS ParallelCluster CLI, instalada y configurada.
Una configuración de red compatible con AWS ParallelCluster. Este patrón usa la configuración de AWS ParallelCluster con dos subredes, que requiere una subred pública, una subred privada, una puerta de enlace a Internet y una puerta de enlace NAT.
Todos los nodos ParallelCluster del clúster de AWS deben tener acceso a Internet. Esto es necesario para que los scripts de instalación puedan descargar el software de código abierto y las imágenes de Docker.
Un par de claves en Amazon Elastic Compute Cloud (Amazon EC2). Los recursos con este par de claves tienen acceso Secure Shell (SSH) al nodo principal.
Limitaciones
Este patrón está diseñado para Ubuntu 20.04 LTS. Si usa una versión diferente de Ubuntu, o si usa Amazon Linux o CentOS, tendrá que modificar los scripts que se proporcionan con esta solución. Dichas modificaciones no se incluyen en este patrón.
Versiones de producto
Ubuntu 20.04 LTS
ParallelCluster 3.X
Consideraciones de costos y facturación
La solución implementada en este patrón no está cubierta por el nivel gratuito. Se aplican cargos a Amazon EC2, Amazon FSx para Lustre, la puerta de enlace NAT de Amazon VPC y Amazon Route 53.
Arquitectura
Arquitectura de destino
En el siguiente diagrama, se muestra cómo un usuario puede acceder al panel de supervisión de AWS ParallelCluster en el nodo principal. El nodo principal ejecuta NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter y NGINX Open Source. Los nodos de cómputo ejecutan Prometheus Node Exporter y, si el nodo contiene GPU, también ejecutan NVIDIA DCGM-Exporter. El nodo principal recupera información de los nodos de cómputo y muestra esos datos en el panel de control de Grafana.
En la mayoría de los casos, el nodo principal no está muy cargado, ya que el programador de tareas no requiere una cantidad significativa de CPU o memoria. Los usuarios acceden al panel de control del nodo principal mediante SSL en el puerto 443.
Todos los usuarios con acceso de lectura autorizado pueden ver los paneles de supervisión de forma anónima. Solo el administrador de Grafana puede modificar los paneles. Debe configurar una contraseña para el administrador de Grafana en el archivo aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml
.
Herramientas
Servicios de AWS
NICE DCV es un protocolo de visualización remota de alto rendimiento que le permite ofrecer escritorios remotos y streaming de aplicaciones desde cualquier nube o centro de datos a cualquier dispositivo, en condiciones de red variables.
AWS le ParallelCluster ayuda a implementar y administrar clústeres de computación de alto rendimiento (HPC). Es compatible con los programadores de trabajos de código abierto AWS Batch y Slurm.
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
Amazon Virtual Private Cloud (Amazon VPC) le permite lanzar recursos de AWS en una red virtual que haya definido.
Otras herramientas
Docker
es un conjunto de productos de plataforma como servicio (PaaS) que utiliza la virtualización a nivel del sistema operativo para entregar software en contenedores. Grafana
es un software de código abierto que le permite consultar, visualizar, alertar y explorar métricas, registros y trazas. NGINX Open Source
es un servidor web de código abierto y proxy inverso. NVIDIA Data Center GPU Manager (DCGM)
es un conjunto de herramientas para administrar y supervisar las unidades de procesamiento gráfico (GPU) de los centros de datos de NVIDIA en entornos de clúster. Este patrón usa DCGM-Exporter , que le ayuda a exportar las métricas de GPU de Prometheus. Prometheus
es un conjunto de herramientas de supervisión de sistemas de código abierto que recopila y almacena sus métricas como datos de serie temporal con pares clave-valor asociados, denominados etiquetas. Este patrón también usa Prometheus Slurm Exporter para recopilar y exportar métricas, y Prometheus Node Exporter para exportar métricas de los nodos de cómputo. Ubuntu
es un sistema operativo de código abierto basado en Linux y diseñado para servidores empresariales, escritorios, entornos de nube e IoT.
Repositorio de código
El código de este patrón está disponible en el GitHub pcluster-monitoring-dashboard
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un bucket de S3. | Crear un bucket de Amazon S3. Este bucket se usa para almacenar los scripts de configuración. Para obtener instrucciones, consulte Crear un bucket en la documentación de Amazon S3. | AWS general |
Clonar el repositorio. | Clona el GitHub pcluster-monitoring-dashboard
| DevOps ingeniero |
Cree una contraseña de administrador. |
| Scripts Linux Shell |
Copie los archivos necesarios en el bucket de S3. | Copie el script post_install.sh | AWS general |
Configure un grupo de seguridad adicional para el nodo principal. |
| Administrador de AWS |
Configure una política de IAM para el nodo principal. | Cree una política basada en identidades para el nodo principal. Esta política permite al nodo recuperar datos métricos de Amazon CloudWatch. El GitHub repositorio contiene un ejemplo de política | Administrador de AWS |
Configure una política de IAM para los nodos de cómputo. | Cree una política basada en identidades para los nodos de computación. Esta política permite al nodo crear las etiquetas que contienen la ID y el propietario del trabajo. El GitHub repositorio contiene un ejemplo de política. Si usa el archivo de ejemplo proporcionado, sustituya los siguientes valores:
| Administrador de AWS |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Modifique el archivo de plantilla de clúster proporcionado. | Cree el ParallelCluster clúster de AWS. Utilice el archivo de plantilla de CloudFormation AWS cluster.yaml
| Administrador de AWS |
Cree el clúster. | En la AWS ParallelCluster CLI, introduzca el siguiente comando. Esto despliega la CloudFormation plantilla y crea el clúster. Para obtener más información sobre este comando, consulte pcluster create-cluster en la documentación de AWS. ParallelCluster
| Administrador de AWS |
Supervise la creación del clúster. | Introduzca el siguiente comando para supervisar la creación del cluster. Para obtener más información sobre este comando, consulte pcluster describe-cluster en la documentación de AWS. ParallelCluster
| Administrador de AWS |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Acceda al portal de Grafana. |
| Administrador de AWS |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Eliminar el clúster. | Para eliminar el clúster, escriba siguiente comando. Para obtener más información sobre este comando, consulte pcluster delete-cluster en la documentación de AWS. ParallelCluster
| Administrador de AWS |
Elimine las políticas de IAM. | Elimine las políticas que creó para el nodo principal y el nodo de cómputo. Para más información acerca de la eliminación de políticas, consulte Eliminación de políticas de IAM en la documentación de IAM. | Administrador de AWS |
Eliminar la regla y el grupo de seguridad. | Elimine el grupo de seguridad que creó para el nodo principal. Para obtener más información, consulte Eliminar reglas de grupo de seguridad y Eliminar un grupo de seguridad en la documentación de Amazon VPC. | Administrador de AWS |
Elimine el bucket de S3. | Elimine el bucket de S3 que creó para almacenar los scripts de configuración. Para obtener más información, consulte Eliminación de un bucket en la documentación de Amazon S3. | AWS general |
Resolución de problemas
Problema | Solución |
---|---|
No se puede acceder al nodo principal en el navegador. | Compruebe el grupo de seguridad y confirme que el puerto de entrada 443 esté abierto. |
Grafana no se abre. | En el nodo principal, busque |
Algunas métricas no tienen datos. | En el nodo principal, compruebe los registros de todos los contenedores. |
Recursos relacionados
Documentación de AWS
Otros recursos de AWS
Panel de monitoreo para AWS ParallelCluster
(entrada del blog de AWS)
Otros recursos