Configura una dashboard di monitoraggio Grafana per AWS ParallelCluster - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura una dashboard di monitoraggio Grafana per AWS ParallelCluster

Creato da Dario La Porta () e William Lu () AWS AWS

Archivio di codice: parallelcluster-monitoring-dashboard

Ambiente: PoC o pilota

Tecnologie: elaborazione ad alte prestazioni; analisi; gestione e governance

Carico di lavoro: open source

AWSservizi: AWS ParallelCluster

Riepilogo

AWS ParallelCluster consente di distribuire e gestire cluster di elaborazione ad alte prestazioni (HPC). Supporta gli scheduler di lavoro open source AWS Batch e Slurm. Sebbene AWS ParallelCluster sia integrato con Amazon CloudWatch per la registrazione e le metriche, non fornisce una dashboard di monitoraggio per il carico di lavoro.

La dashboard Grafana per AWS ParallelCluster (GitHub) è una dashboard di monitoraggio per. AWS ParallelCluster Fornisce informazioni dettagliate sulla pianificazione dei lavori e metriche di monitoraggio dettagliate a livello di sistema operativo (OS). Per ulteriori informazioni sui dashboard inclusi in questa soluzione, consulta Dashboard di esempio nel repository. GitHub Queste metriche ti aiutano a comprendere meglio il carico di HPC lavoro e le sue prestazioni. Tuttavia, il codice del dashboard non viene aggiornato per le versioni più recenti AWS ParallelCluster o per i pacchetti open source utilizzati nella soluzione. Questo modello migliora la soluzione per offrire i seguenti vantaggi:

  • Supporta v3 AWS ParallelCluster

  • Utilizza l'ultima versione dei pacchetti open source, tra cui Prometheus, Grafana, Prometheus Slurm Exporter e -Exporter NVIDIA DCGM

  • Aumenta GPUs il numero di core utilizzati dai job Slurm CPU

  • Aggiunge una dashboard di monitoraggio dei lavori

  • Migliora la dashboard di monitoraggio dei GPU nodi per i nodi con 4 o 8 unità di elaborazione grafica () GPUs

Questa versione della soluzione avanzata è stata implementata e verificata nell'ambiente di HPC produzione di un AWS cliente.

Prerequisiti e limitazioni

Prerequisiti

  • AWS ParallelCluster CLI, installato e configurato.

  • Una configurazione di rete supportata per AWS ParallelCluster. Questo modello AWS ParallelCluster utilizza la configurazione con due sottoreti, che richiede una sottorete pubblica, una sottorete privata, un gateway Internet e un gateway. NAT

  • Tutti i nodi AWS ParallelCluster del cluster devono avere accesso a Internet. Ciò è necessario affinché gli script di installazione possano scaricare il software open source e le immagini Docker.

  • Una coppia di chiavi in Amazon Elastic Compute Cloud (AmazonEC2). Le risorse che hanno questa coppia di key pair hanno accesso Secure Shell (SSH) al nodo principale.

Limitazioni

  • Questo pattern è progettato per supportare Ubuntu 20.04LTS. Se utilizzi una versione diversa di Ubuntu o se usi Amazon Linux o CentOS, devi modificare gli script forniti con questa soluzione. Queste modifiche non sono incluse in questo schema.

Versioni del prodotto

  • Ubuntu 20.04 LTS

  • ParallelCluster 3.X

Considerazioni sulla fatturazione e sui costi

  • La soluzione implementata secondo questo schema non è coperta dal livello gratuito. Si applicano costi per AmazonEC2, Amazon FSx for Lustre, il NAT gateway di Amazon VPC e Amazon Route 53.

Architettura

Architettura Target

Il diagramma seguente mostra come un utente può accedere alla dashboard di monitoraggio per AWS ParallelCluster il nodo principale. Il nodo principale utilizza Prometheus NICEDCV, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter e Open Source. NGINX I nodi di calcolo eseguono Prometheus Node Exporter ed eseguono anche -Exporter se il nodo contiene. NVIDIA DCGM GPUs Il nodo principale recupera le informazioni dai nodi di calcolo e visualizza tali dati nella dashboard di Grafana.

Accesso alla dashboard di monitoraggio per il AWS ParallelCluster nodo principale.

Nella maggior parte dei casi, il nodo principale non è sovraccaricato perché il job scheduler non richiede una quantità significativa CPU di memoria. Gli utenti accedono alla dashboard sul nodo principale utilizzando SSL la porta 443.

Tutti gli spettatori autorizzati possono visualizzare in modo anonimo i dashboard di monitoraggio. Solo l'amministratore Grafana può modificare i dashboard. Si configura una password per l'amministratore Grafana nel aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml file.

Strumenti

AWSservizi

  • NICEDCVè un protocollo di visualizzazione remota ad alte prestazioni che consente di fornire desktop remoti e lo streaming di applicazioni da qualsiasi cloud o data center a qualsiasi dispositivo, in condizioni di rete diverse.

  • AWS ParallelClusterconsente di distribuire e gestire cluster di elaborazione ad alte prestazioni (). HPC Supporta gli scheduler di lavoro open source AWS Batch e Slurm.

  • Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

  • Amazon Virtual Private Cloud (AmazonVPC) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito.

Altri strumenti

Archivio di codici

Il codice per questo pattern è disponibile nel GitHub pcluster-monitoring-dashboardrepository.

Epiche

AttivitàDescrizioneCompetenze richieste

Crea un bucket S3.

Creare un bucket Amazon S3. Questo bucket viene utilizzato per archiviare gli script di configurazione. Per istruzioni, consulta Creazione di un bucket nella documentazione di Amazon S3.

Informazioni generali AWS

Clonare il repository.

Clona il GitHub pcluster-monitoring-dashboardrepository eseguendo il seguente comando.

git clone https://github.com/aws-samples/parallelcluster-monitoring-dashboard.git
DevOps ingegnere

Crea una password di amministratore.

  1. Scegli la aws-parallelcluster-monitoring cartella, scegli la docker-compose cartella e quindi apri il file docker-compose.head.yml.

  2. Nella GF_SECURITY_ADMIN_PASSWORD variabile, sostituiscila con una password a tua scelta. Grafana4PC! Questa è la password amministrativa che usi per gestire l'account Grafana.

  3. Salva e chiudi il file docker-compose.head.yml.

Scripting con Linux Shell

Copia i file richiesti nel bucket S3.

Copia lo script post_install.sh e la aws-parallelcluster-monitoringcartella nel bucket S3 che hai creato. Per istruzioni, consulta Caricamento di oggetti nella documentazione di Amazon S3.

Informazioni generali AWS

Configura un gruppo di sicurezza aggiuntivo per il nodo principale.

  1. Crea un gruppo di sicurezza per il nodo principale. Questo gruppo di sicurezza consentirà il traffico in entrata verso i dashboard di monitoraggio sul nodo principale. Per istruzioni, consulta Creare un gruppo di sicurezza nella VPC documentazione di Amazon.

  2. Aggiungi una regola in entrata al gruppo di sicurezza. Per istruzioni, consulta Aggiungere regole a un gruppo di sicurezza nella VPC documentazione di Amazon. Utilizza i seguenti parametri per la regola:

    • Tipo — HTTPS

    • Protocollo — TCP

    • Intervallo di porte: 443

    • Fonte: inserisci il tuo indirizzo IP

    • Descrizione: consente agli utenti di accedere alla dashboard di monitoraggio

AWSamministratore

Configura una IAM politica per il nodo principale.

Crea una policy basata sull'identità per il nodo principale. Questa policy consente al nodo di recuperare i dati metrici da Amazon. CloudWatch Il GitHub repository contiene una policy di esempio. Per istruzioni, vedete Creazione IAM di policy nella documentazione di AWS Identity and Access Management (IAM).

AWSamministratore

Configura una IAM policy per i nodi di calcolo.

Crea una policy basata sull'identità per i nodi di calcolo. Questa politica consente al nodo di creare i tag che contengono l'ID del lavoro e il proprietario del lavoro. Il GitHub repository contiene un esempio di policy. Per istruzioni, consulta Creazione IAM di politiche nella IAM documentazione.

Se utilizzi il file di esempio fornito, sostituisci i seguenti valori:

  • < REGION > — La AWS regione in cui è ospitato il cluster

  • < ACCOUNT _ID> — L'ID dell'account AWS

AWSamministratore
AttivitàDescrizioneCompetenze richieste

Modifica il file modello di cluster fornito.

Crea il AWS ParallelCluster cluster. Utilizza il file AWS CloudFormation modello cluster.yaml fornito come punto di partenza per creare il cluster. Sostituisci i seguenti valori nel modello fornito:

  • < REGION > — La AWS regione in cui è ospitato il cluster.

  • < HEADNODE _ SUBNET > — La sottorete pubblica diVPC.

  • < ADDITIONAL _ HEAD _ NODE _SG> — Il nome del gruppo di sicurezza creato per il nodo principale.

  • < KEY _ NAME > — Inserisci il nome di una coppia di EC2 chiavi Amazon esistente. Le risorse che hanno questa coppia di key pair hanno accesso Secure Shell (SSH) al nodo principale.

  • < ALLOWED _ IPS > -—Immettete l'intervallo di indirizzi IP CIDR in formato -a cui è consentito effettuare SSH connessioni al nodo principale.

  • < ADDITIONAL _ _ HEAD NODE _ POLICY > — Immettete il nome della IAM policy creata per il nodo principale.

  • < BUCKET _ NAME > — Inserisci il nome del bucket S3 che hai creato.

  • < COMPUTE _ SUBNET > — Inserisci il nome della sottorete privata in. VPC

  • < ADDITIONAL _ COMPUTE _ NODE _ POLICY > — Inserisci il nome della IAM policy che hai creato per il nodo di calcolo.

AWSamministratore

Crea il cluster .

Nel AWS ParallelCluster CLI, immettere il seguente comando. Questo distribuisce il CloudFormation modello e crea il cluster. Per ulteriori informazioni su questo comando, consulta pcluster create-cluster nella documentazione. AWS ParallelCluster

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

Monitora la creazione del cluster.

Immettere il seguente comando per monitorare la creazione del cluster. Per ulteriori informazioni su questo comando, consulta pcluster describe-cluster nella documentazione. AWS ParallelCluster

pcluster describe-cluster -n <cluster_name>
AWSamministratore
AttivitàDescrizioneCompetenze richieste

Accesso al portale Grafana.

  1. Immettere il seguente comando per recuperare l'indirizzo IP pubblico del nodo principale.

    pcluster describe-cluster -n <cluster_name> --query headNode.publicIpAddress
  2. In un browser Web, vai URL a quanto segue per accedere alla dashboard Grafana.

    https://<head_node_public_ip_address>

  3. Nella prima pagina di Grafana, scegli l'icona quadrata della Dashboard nel menu a sinistra, quindi scegli Generale. Questo mostra un elenco di dashboard configurati. Le seguenti dashboard sono disponibili in Grafana:

    • Costo del cluster: contiene informazioni sul costo del cluster

    • Registri del cluster: contiene informazioni sui log del cluster

    • Dettagli sui nodi di calcolo: contiene informazioni sulle statistiche di utilizzo dei nodi di calcolo

    • Elenco dei nodi di calcolo: contiene l'elenco dei nodi di calcolo del cluster

    • GPUNodi: contiene informazioni sulle statistiche di utilizzo dei nodi GPU

    • Dettagli sui lavori: contiene informazioni sull'utilizzo delle risorse relative ai lavori

    • Dettagli del nodo principale: contiene informazioni sulle statistiche di utilizzo del nodo principale

    • ParallelCluster Riepilogo: contiene informazioni sull'utilizzo del cluster

AWSamministratore
AttivitàDescrizioneCompetenze richieste

Elimina il cluster.

Immettere il seguente comando per eliminare il cluster. Per ulteriori informazioni su questo comando, consulta pcluster delete-cluster nella documentazione. AWS ParallelCluster

pcluster delete-cluster -n <cluster_name>
AWSamministratore

Eliminare le IAM politiche.

Elimina le politiche che hai creato per il nodo principale e il nodo di calcolo. Per ulteriori informazioni sull'eliminazione delle politiche, consulta Eliminazione delle IAM politiche nella documentazione. IAM

AWSamministratore

Eliminare il gruppo e la regola di sicurezza.

Eliminare il gruppo di sicurezza creato per il nodo principale. Per ulteriori informazioni, consulta Eliminare le regole del gruppo di sicurezza ed Eliminare un gruppo di sicurezza nella VPC documentazione di Amazon.

AWSamministratore

Eliminare il bucket S3.

Elimina il bucket S3 che hai creato per archiviare gli script di configurazione. Per ulteriori informazioni, consulta Eliminazione di un bucket nella documentazione di Amazon S3.

Generale AWS

Risoluzione dei problemi

ProblemaSoluzione

Il nodo principale non è accessibile nel browser.

Controlla il gruppo di sicurezza e conferma che la porta in ingresso 443 sia aperta.

Grafana non si apre.

Sul nodo principale, controlla il registro del contenitore perdocker logs Grafana.

Alcune metriche non contengono dati.

Sul nodo principale, controlla i log dei contenitori di tutti i contenitori.

Risorse correlate

AWSdocumentazione

Altre AWS risorse

Altre risorse