Configurez un tableau de bord de surveillance Grafana pour AWS ParallelCluster - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurez un tableau de bord de surveillance Grafana pour AWS ParallelCluster

Créé par Dario La Porta (AWS) et William Lu () AWS

Référentiel de code : parallelcluster-monitoring-dashboard

Environnement : PoC ou pilote

Technologies : calcul haute performance ; analyse ; gestion et gouvernance

Charge de travail : Open source

AWSservices : AWS ParallelCluster

Récapitulatif

AWS ParallelCluster vous aide à déployer et à gérer des clusters de calcul haute performance (HPC). Il prend en charge les AWS planificateurs de tâches open source Batch et Slurm. Bien qu'AWS ParallelCluster il soit intégré à Amazon CloudWatch pour la journalisation et les métriques, il ne fournit pas de tableau de bord de surveillance pour la charge de travail.

Le tableau de bord Grafana pour AWS ParallelCluster (GitHub) est un tableau de bord de surveillance pour. AWS ParallelCluster Il fournit des informations sur le planificateur de tâches et des mesures de surveillance détaillées au niveau du système d'exploitation (OS). Pour plus d'informations sur les tableaux de bord inclus dans cette solution, consultez la section Exemples de tableaux de bord dans le GitHub référentiel. Ces indicateurs vous aident à mieux comprendre la HPC charge de travail et ses performances. Cependant, le code du tableau de bord n'est pas mis à jour pour les dernières versions AWS ParallelCluster ou les packages open source utilisés dans la solution. Ce modèle améliore la solution pour offrir les avantages suivants :

  • Supporte la AWS ParallelCluster version 3

  • Utilise la dernière version des packages open source, notamment Prometheus, Grafana, Prometheus Slurm Exporter et -Exporter NVIDIA DCGM

  • Augmente le nombre de CPU cœurs utilisés par GPUs les tâches Slurm

  • Ajoute un tableau de bord de suivi des tâches

  • Améliore le GPU tableau de bord de surveillance des nœuds pour les nœuds dotés de 4 ou 8 unités de traitement graphique (GPUs)

Cette version de la solution améliorée a été mise en œuvre et vérifiée dans l'environnement de HPC production du AWS client.

Conditions préalables et limitations

Prérequis

  • AWS ParallelCluster CLI, installé et configuré.

  • Configuration réseau prise en charge pour AWS ParallelCluster. Ce modèle utilise la configuration AWS ParallelCluster utilisant deux sous-réseaux, qui nécessite un sous-réseau public, un sous-réseau privé, une passerelle Internet et une passerelle. NAT

  • Tous les nœuds AWS ParallelCluster du cluster doivent avoir accès à Internet. Cela est nécessaire pour que les scripts d'installation puissent télécharger le logiciel open source et les images Docker.

  • Une paire de clés dans Amazon Elastic Compute Cloud (AmazonEC2). Les ressources dotées de cette paire de clés ont un accès Secure Shell (SSH) au nœud principal.

Limites

  • Ce modèle est conçu pour prendre en charge Ubuntu 20.04LTS. Si vous utilisez une autre version d'Ubuntu ou si vous utilisez Amazon Linux ou CentOS, vous devez modifier les scripts fournis avec cette solution. Ces modifications ne sont pas incluses dans ce modèle.

Versions du produit

  • Ubuntu 20.04 LTS

  • ParallelCluster 3. X

Considérations relatives à la facturation et aux coûts

  • La solution déployée selon ce modèle n'est pas couverte par le niveau gratuit. Des frais s'appliquent pour AmazonEC2, Amazon FSx for Lustre, la NAT passerelle d'Amazon VPC et Amazon Route 53.

Architecture

Architecture cible

Le schéma suivant montre comment un utilisateur peut accéder au tableau de bord de surveillance AWS ParallelCluster sur le nœud principal. Le nœud principal exécute Prometheus NICEDCV, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter et Open Source. NGINX Les nœuds de calcul exécutent Prometheus Node Exporter, et ils exécutent NVIDIA DCGM également -Exporter si le nœud contient. GPUs Le nœud principal récupère les informations des nœuds de calcul et affiche ces données dans le tableau de bord Grafana.

Accès au tableau de AWS ParallelCluster bord de surveillance pour le nœud principal.

Dans la plupart des cas, le nœud principal n'est pas très chargé car le planificateur de tâches ne nécessite pas une quantité importante de mémoireCPU. Les utilisateurs accèdent au tableau de bord sur le nœud principal en utilisant SSL le port 443.

Tous les spectateurs autorisés peuvent consulter les tableaux de bord de surveillance de manière anonyme. Seul l'administrateur de Grafana peut modifier les tableaux de bord. Vous configurez un mot de passe pour l'administrateur Grafana dans le aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml fichier.

Outils

AWSservices

  • NICEDCVest un protocole d'affichage à distance hautes performances qui vous permet de diffuser des postes de travail distants et des applications en streaming depuis n'importe quel cloud ou centre de données vers n'importe quel appareil, dans des conditions de réseau variables.

  • AWS ParallelClustervous aide à déployer et à gérer des clusters de calcul haute performance (HPC). Il prend en charge les AWS planificateurs de tâches open source Batch et Slurm.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

  • Amazon Virtual Private Cloud (AmazonVPC) vous aide à lancer AWS des ressources dans un réseau virtuel que vous avez défini.

Autres outils

  • Docker est un ensemble de produits de plateforme en tant que service (PaaS) qui utilisent la virtualisation au niveau du système d'exploitation pour fournir des logiciels dans des conteneurs.

  • Grafana est un logiciel open source qui vous permet d'interroger, de visualiser, d'alerter et d'explorer les métriques, les journaux et les traces.

  • NGINXOpen Source est un serveur Web open source et un proxy inverse.

  • NVIDIAData Center GPU Manager (DCGM) est une suite d'outils permettant de gérer et de surveiller les unités de traitement graphique NVIDIA des centres de données (GPUs) dans des environnements de clusters. Dans ce modèle, vous utilisez DCGM-Exporter, qui vous permet d'exporter GPU les métriques de Prometheus.

  • Prometheus est une boîte à outils open source de surveillance des systèmes qui collecte et stocke ses métriques sous forme de séries chronologiques associées à des paires clé-valeur, appelées étiquettes. Dans ce modèle, vous utilisez également Prometheus Slurm Exporter pour collecter et exporter des métriques, et vous utilisez Prometheus Node Exporter pour exporter des métriques depuis les nœuds de calcul.

  • Ubuntu est un système d'exploitation open source basé sur Linux conçu pour les serveurs d'entreprise, les ordinateurs de bureau, les environnements cloud et l'IoT.

Référentiel de code

Le code de ce modèle est disponible dans le GitHub pcluster-monitoring-dashboardréférentiel.

Épopées

TâcheDescriptionCompétences requises

Créez un compartiment S3.

Créez un compartiment Amazon S3. Vous utilisez ce compartiment pour stocker les scripts de configuration. Pour obtenir des instructions, consultez la section Création d'un compartiment dans la documentation Amazon S3.

Général AWS

Pour cloner le référentiel.

Clonez le GitHub pcluster-monitoring-dashboarddépôt en exécutant la commande suivante.

git clone https://github.com/aws-samples/parallelcluster-monitoring-dashboard.git
DevOps ingénieur

Créez un mot de passe administrateur.

  1. Choisissez le aws-parallelcluster-monitoring dossier, puis ouvrez le docker-compose fichier docker-compose.head.yml.

  2. Dans la GF_SECURITY_ADMIN_PASSWORD variable, remplacez-le Grafana4PC! par le mot de passe de votre choix. Il s'agit du mot de passe administratif que vous utilisez pour gérer le compte Grafana.

  3. Enregistrez et fermez le fichier docker-compose.head.yml.

Scriptage de scripts Linux Shell

Copiez les fichiers requis dans le compartiment S3.

Copiez le script post_install.sh et le aws-parallelcluster-monitoringdossier dans le compartiment S3 que vous avez créé. Pour obtenir des instructions, consultez la section Chargement d'objets dans la documentation Amazon S3.

Général AWS

Configurez un groupe de sécurité supplémentaire pour le nœud principal.

  1. Créez un groupe de sécurité pour le nœud principal. Ce groupe de sécurité autorisera le trafic entrant vers les tableaux de bord de surveillance du nœud principal. Pour obtenir des instructions, consultez la section Créer un groupe de sécurité dans la VPC documentation Amazon.

  2. Ajoutez une règle entrante au groupe de sécurité. Pour obtenir des instructions, consultez la section Ajouter des règles à un groupe de sécurité dans la VPC documentation Amazon. Utilisez les paramètres suivants pour la règle :

    • Tapez — HTTPS

    • Protocole — TCP

    • Portée de ports : 443

    • Source — Entrez votre adresse IP

    • Description — Autoriser les utilisateurs à accéder au tableau de bord de surveillance

AWSadministrateur

Configurez une IAM politique pour le nœud principal.

Créez une politique basée sur l'identité pour le nœud principal. Cette politique permet au nœud de récupérer des données métriques auprès d'Amazon CloudWatch. Le GitHub dépôt contient un exemple de politique. Pour obtenir des instructions, consultez la section Création de IAM politiques dans la documentation AWS Identity and Access Management (IAM).

AWSadministrateur

Configurez une IAM politique pour les nœuds de calcul.

Créez une politique basée sur l'identité pour les nœuds de calcul. Cette politique permet au nœud de créer les balises contenant l'ID de la tâche et le propriétaire de la tâche. Le GitHub dépôt contient un exemple de politique. Pour obtenir des instructions, consultez la section Création de IAM politiques dans la IAM documentation.

Si vous utilisez le fichier d'exemple fourni, remplacez les valeurs suivantes :

  • < REGION > — La AWS région où le cluster est hébergé

  • < ACCOUNT _ID> — L'identifiant du compte AWS

AWSadministrateur
TâcheDescriptionCompétences requises

Modifiez le fichier de modèle de cluster fourni.

Créez le AWS ParallelCluster cluster. Utilisez le fichier AWS CloudFormation modèle cluster.yaml fourni comme point de départ pour créer le cluster. Remplacez les valeurs suivantes dans le modèle fourni :

  • < REGION > — AWS Région dans laquelle le cluster est hébergé.

  • < HEADNODE _ SUBNET > — Le sous-réseau public duVPC.

  • < ADDITIONAL _ HEAD _ NODE _SG> — Nom du groupe de sécurité que vous avez créé pour le nœud principal.

  • < KEY _ NAME > — Entrez le nom d'une paire de EC2 clés Amazon existante. Les ressources dotées de cette paire de clés ont un accès Secure Shell (SSH) au nœud principal.

  • < ALLOWED _ IPS > -—Entrez la plage d'adresses IP CIDR formatée autorisée à établir des SSH connexions avec le nœud principal.

  • < ADDITIONAL _ HEAD _ NODE _ POLICY > — Entrez le nom de la IAM politique que vous avez créée pour le nœud principal.

  • < BUCKET _ NAME > — Entrez le nom du compartiment S3 que vous avez créé.

  • < COMPUTE _ SUBNET > — Entrez le nom du sous-réseau privé dans leVPC.

  • < ADDITIONAL _ COMPUTE _ NODE _ POLICY > — Entrez le nom de la IAM politique que vous avez créée pour le nœud de calcul.

AWSadministrateur

Créez le cluster .

Dans le AWS ParallelCluster CLI, entrez la commande suivante. Cela déploie le CloudFormation modèle et crée le cluster. Pour plus d'informations sur cette commande, consultez pcluster create-cluster dans la documentation. AWS ParallelCluster

pcluster create-cluster -n <cluster_name> -c cluster.yaml
AWSadministrateur

Surveillez la création du cluster.

Entrez la commande suivante pour surveiller la création du cluster. Pour plus d'informations sur cette commande, consultez pcluster describe-cluster dans la documentation. AWS ParallelCluster

pcluster describe-cluster -n <cluster_name>
AWSadministrateur
TâcheDescriptionCompétences requises

Accès au portail Grafana.

  1. Entrez la commande suivante pour récupérer l'adresse IP publique du nœud principal.

    pcluster describe-cluster -n <cluster_name> --query headNode.publicIpAddress
  2. Dans un navigateur Web, accédez à ce qui suit URL pour accéder au tableau de bord Grafana.

    https ://<head_node_public_ip_address>

  3. Sur la page d'accueil de Grafana, choisissez l'icône du tableau de bord à 4 carrés dans le menu de gauche, puis choisissez Général. Cela affiche une liste des tableaux de bord configurés. Les tableaux de bord suivants sont disponibles dans Grafana :

    • Coût du cluster : contient des informations sur le coût du cluster

    • Journaux du cluster : contient des informations sur les journaux du cluster

    • Détails des nœuds de calcul : contient des informations sur les statistiques d'utilisation des nœuds de calcul

    • Liste des nœuds de calcul : contient la liste des nœuds de calcul du cluster

    • GPUNœuds : contient des informations sur les statistiques d'utilisation des GPU nœuds

    • Détails des tâches : contient des informations sur l'utilisation des ressources des tâches

    • Détails du nœud principal : contient des informations sur les statistiques d'utilisation du nœud principal

    • ParallelCluster Résumé : contient des informations sur l'utilisation du cluster

AWSadministrateur
TâcheDescriptionCompétences requises

Supprimez le cluster.

Entrez la commande suivante pour supprimer le cluster. Pour plus d'informations sur cette commande, consultez pcluster delete-cluster dans la documentation. AWS ParallelCluster

pcluster delete-cluster -n <cluster_name>
AWSadministrateur

Supprimez les IAM politiques.

Supprimez les politiques que vous avez créées pour le nœud principal et le nœud de calcul. Pour plus d'informations sur la suppression de politiques, consultez la section Suppression de IAM politiques dans la IAM documentation.

AWSadministrateur

Supprimez le groupe de sécurité et la règle.

Supprimez le groupe de sécurité que vous avez créé pour le nœud principal. Pour plus d'informations, consultez Supprimer les règles du groupe de sécurité et Supprimer un groupe de sécurité dans la VPC documentation Amazon.

AWSadministrateur

Supprimez le compartiment S3.

Supprimez le compartiment S3 que vous avez créé pour stocker les scripts de configuration. Pour plus d'informations, consultez Supprimer un compartiment dans la documentation Amazon S3.

Général AWS

Résolution des problèmes

ProblèmeSolution

Le nœud principal n'est pas accessible dans le navigateur.

Vérifiez le groupe de sécurité et confirmez que le port entrant 443 est ouvert.

Grafana ne s'ouvre pas.

Sur le nœud principal, vérifiez le journal du conteneur pourdocker logs Grafana.

Certaines mesures ne contiennent aucune donnée.

Sur le nœud principal, vérifiez les journaux de tous les conteneurs.

Ressources connexes

AWSdocumentation

Autres AWS ressources

Autres ressources