

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
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster"></a>

*Dario La Porta y William Lu, Amazon Web Services*

## Resumen
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-summary"></a>

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](https://github.com/aws-samples/aws-parallelcluster-monitoring) (GitHub) es un panel de supervisión para AWS. ParallelCluster Proporciona información sobre el programador de tareas y métricas de supervisión detalladas a nivel del sistema operativo (SO). Para obtener más información sobre los paneles incluidos en esta solución, consulte [Ejemplos de paneles](https://github.com/aws-samples/aws-parallelcluster-monitoring#example-dashboards) en el repositorio. GitHub Estas métricas le ayudan a comprender mejor la carga de trabajo de HPC y su rendimiento. Sin embargo, el código del panel de control no se actualiza para las versiones más recientes de AWS ParallelCluster ni para los paquetes de código abierto que se utilizan en la solución. Este patrón mejora la solución para proporcionar los siguientes beneficios:
+ 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 la cantidad de núcleos de CPU GPUs que utilizan los trabajos de Slurm
+ Añade un panel de supervisión de trabajos
+ Mejora el panel de monitoreo de nodos de la GPU para nodos con 4 u 8 unidades de procesamiento gráfico () GPUs

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
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-prereqs"></a>

**Requisitos previos **
+ [AWS ParallelCluster CLI](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster-v3.html), instalada y configurada.
+ Una [configuración de red](https://docs.aws.amazon.com/parallelcluster/latest/ug/iam-roles-in-parallelcluster-v3.html) compatible con AWS ParallelCluster. Este patrón usa la configuración de [AWS ParallelCluster con dos subredes](https://docs.aws.amazon.com/parallelcluster/latest/ug/network-configuration-v3.html#network-configuration-v3-two-subnets), 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 [key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) 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 for Lustre, la puerta de enlace NAT en Amazon VPC y Amazon Route 53.

## Arquitectura
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-architecture"></a>

**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 también ejecutan NVIDIA DCGM-Exporter si el nodo lo contiene. GPUs El nodo principal recupera información de los nodos de cómputo y muestra esos datos en el panel de control de Grafana.

![\[Acceso al panel de supervisión de AWS ParallelCluster en el nodo principal.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/a2132c94-98e0-4b90-8be0-99ebfa546442/images/d2255792-f66a-4ef2-8f04-cc3d5482db5f.png)


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`.

## Tools (Herramientas)
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-tools"></a>

**Servicios de AWS**
+ [NICE DCV](https://docs.aws.amazon.com/dcv/#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](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html) 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)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le permite lanzar recursos de AWS en una red virtual que haya definido.

**Otras herramientas**
+ [Docker](https://www.docker.com/) 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](https://grafana.com/docs/grafana/latest/introduction/) es un software de código abierto que le permite consultar, visualizar, alertar y explorar métricas, registros y trazas.
+ [NGINX Open Source](https://nginx.org/en/docs/?_ga=2.187509224.1322712425.1699399865-405102969.1699399865) es un servidor web de código abierto y proxy inverso.
+ [NVIDIA Data Center GPU Manager (DCGM)](https://docs.nvidia.com/data-center-gpu-manager-dcgm/index.html) es un conjunto de herramientas para administrar y monitorear las unidades de procesamiento gráfico (GPUs) de los centros de datos de NVIDIA en entornos de clústeres. Este patrón usa [DCGM-Exporter](https://github.com/NVIDIA/dcgm-exporter), que le ayuda a exportar las métricas de GPU de Prometheus.
+ [Prometheus](https://prometheus.io/docs/introduction/overview/) 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](https://github.com/vpenso/prometheus-slurm-exporter) para recopilar y exportar métricas, y [Prometheus Node Exporter](https://github.com/prometheus/node_exporter) para exportar métricas de los nodos de cómputo.
+ [Ubuntu](https://help.ubuntu.com/) 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](https://github.com/aws-samples/parallelcluster-monitoring-dashboard)repositorio.

## Epics
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-epics"></a>

### Cree los recursos necesarios
<a name="create-the-required-resources"></a>


| 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) en la documentación de Amazon S3. | AWS general | 
| Clonar el repositorio. | Clona el GitHub [pcluster-monitoring-dashboard](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring)repositorio ejecutando el siguiente comando.<pre>git clone https://github.com/aws-samples/parallelcluster-monitoring-dashboard.git</pre> | DevOps ingeniero | 
| Cree una contraseña de administrador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Scripts Linux Shell | 
| Copie los archivos necesarios en el bucket de S3. | Copie el script [post\$1install.sh](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/post_install.sh) y la [aws-parallelcluster-monitoring](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring)carpeta en el depósito de S3 que creó. Para más instrucciones, consulte [Cargar objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) en la documentación de Amazon S3. | AWS general | 
| Configure un grupo de seguridad adicional para el nodo principal. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | 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](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/head_node.json). Para obtener más instrucciones, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la documentación de AWS Identity and Access Management (IAM). | 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.](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/compute_node.json) Para obtener más información, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la documentación de IAM.Si usa el archivo de ejemplo proporcionado, sustituya los siguientes valores:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador de AWS | 

### Cree el clúster
<a name="create-the-cluster"></a>


| 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](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/cluster.yaml) proporcionado como punto de partida para crear el clúster. Sustituya los siguientes valores en la plantilla proporcionada:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | 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](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.create-cluster-v3.html) de AWS. ParallelCluster <pre>pcluster create-cluster -n <cluster_name> -c cluster.yaml</pre> | 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](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.describe-cluster-v3.html) la documentación de AWS. ParallelCluster <pre>pcluster describe-cluster -n <cluster_name></pre> | Administrador de AWS | 

### Use los paneles de Grafana
<a name="using-the-grafana-dashboards"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Acceda al portal de Grafana. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador de AWS | 

### Limpie la solución para dejar de incurrir en costos asociados
<a name="clean-up-the-solution-to-stop-incurring-associated-costs"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine 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](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.delete-cluster-v3.html) de AWS. ParallelCluster <pre>pcluster delete-cluster -n <cluster_name></pre> | 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) 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](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-group-rules) y [Eliminar un grupo de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-groups) 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) en la documentación de Amazon S3. | AWS general | 

## Resolución de problemas
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-troubleshooting"></a>


| 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 `docker logs Grafana` en el registro del contenedor. | 
| Algunas métricas no tienen datos. | En el nodo principal, compruebe los registros de todos los contenedores. | 

## Recursos relacionados
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-resources"></a>

**Documentación de AWS**
+ [Políticas de IAM para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html)

**Otros recursos de AWS**
+ [AWS ParallelCluster](https://aws.amazon.com/hpc/parallelcluster/)
+ [Panel de monitoreo para AWS ParallelCluster](https://aws.amazon.com/blogs/compute/monitoring-dashboard-for-aws-parallelcluster/) (entrada del blog de AWS)

**Otros recursos**
+ [Sistema de monitorización Prometheus](https://prometheus.io/)
+ [Grafana](https://grafana.com/)