Configure um painel de monitoramento da Grafana para a AWS ParallelCluster - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configure um painel de monitoramento da Grafana para a AWS ParallelCluster

Criado por Dario La Porta (AWS) e William Lu (AWS)

Repositório de códigos: parallelcluster-monitoring-dashboard

Ambiente: PoC ou piloto

Tecnologias: computação de alto desempenho; análise; gerenciamento e governança

Workload: código aberto

Serviços da AWS: AWS ParallelCluster

Resumo

ParallelCluster A AWS ajuda você a implantar e gerenciar clusters de computação de alta performance (HPC). Ele oferece suporte aos agendadores de trabalhos de código aberto AWS Batch e Slurm. Embora a AWS ParallelCluster esteja integrada à Amazon CloudWatch para registro e métricas, ela não fornece um painel de monitoramento para a carga de trabalho.

O painel Grafana para AWS ParallelCluster (GitHub) é um painel de monitoramento para a AWS. ParallelCluster Ele fornece informações sobre o agendador de tarefas e métricas detalhadas de monitoramento no nível do sistema operacional (SO). Para obter mais informações sobre os painéis incluídos nessa solução, consulte Exemplos de painéis no GitHub repositório. Essas métricas ajudam você a entender melhor a workload de HPC e seu desempenho. No entanto, o código do painel não é atualizado para as versões mais recentes da AWS ParallelCluster ou para os pacotes de código aberto usados na solução. Esse padrão aprimora a solução para fornecer os seguintes benefícios:

  • Compatível com AWS ParallelCluster v3

  • Usa a versão mais recente dos pacotes de código aberto, incluindo Prometheus, Grafana, Prometheus Slurm Exporter e NVIDIA DCGM-Exporter

  • Aumenta o número de núcleos de CPU e de GPUs que os trabalhos do Slurm usam

  • Adiciona um painel de monitoramento de trabalhos

  • Aprimora o painel de monitoramento de nós da GPU para nós com 4 ou 8 unidades de processamento gráfico (GPUs)

Essa versão da solução aprimorada foi implementada e verificada no ambiente de produção de HPC de um cliente da AWS.

Pré-requisitos e limitações

Pré-requisitos

  • AWS ParallelCluster CLI, instalada e configurada.

  • Uma configuração de rede compatível com a AWS ParallelCluster. Esse padrão usa a AWS ParallelCluster usando a configuração de duas sub-redes, o que requer uma sub-rede pública, uma sub-rede privada, um gateway de internet e um gateway NAT.

  • Todos os nós de ParallelCluster cluster da AWS devem ter acesso à Internet. Isso é necessário para que os scripts de instalação possam baixar o software de código aberto e as imagens do Docker.

  • Um par de chaves no Amazon Elastic Compute Cloud (Amazon EC2) Os recursos que têm esse par de chaves têm acesso Secure Shell (SSH) ao nó principal.

Limitações

  • Esse padrão foi projetado para suportar Ubuntu 20.04 LTS. Se você estiver usando uma versão diferente do Ubuntu ou se usar Amazon Linux ou CentOS, precisará modificar os scripts fornecidos com essa solução. Essas modificações não estão incluídas nesse padrão.

Versões do produto

  • Ubuntu 20.04 LTS

  • ParallelCluster 3.X

Considerações sobre faturamento e custos

  • A solução implantada nesse padrão não é coberta pelo nível gratuito. As cobranças se aplicam ao Amazon EC2, ao Amazon FSx para Lustre, ao gateway NAT no Amazon VPC e ao Amazon Route 53.

Arquitetura

Arquitetura de destino

O diagrama a seguir mostra como um usuário pode acessar o painel de monitoramento da AWS ParallelCluster no nó principal. O nó principal executa NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter e NGINX Open Source. Os nós de computação executam o Prometheus Node Exporter e também executam o NVIDIA DCGM-Exporter se o nó contiver GPUs. O nó principal recupera informações dos nós de computação e exibe esses dados no painel da Grafana.

Acessando o painel de monitoramento da AWS ParallelCluster no nó principal.

Na maioria dos casos, o nó principal não está muito carregado porque o agendador de tarefas não exige uma quantidade significativa de CPU ou memória. Os usuários acessam o painel no nó principal usando SSL na porta 443.

Todos os espectadores autorizados podem visualizar anonimamente os painéis de monitoramento. Somente o administrador da Grafana pode modificar os painéis. Você configura uma senha para o administrador da Grafana no aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml arquivo.

Ferramentas

Serviços da AWS

  • O NICE DCV é um protocolo de exibição remota de alto desempenho que ajuda você a fornecer desktops remotos e streaming de aplicativos de qualquer nuvem ou datacenter para qualquer dispositivo, em diferentes condições de rede.

  • ParallelClusterA AWS ajuda você a implantar e gerenciar clusters de computação de alta performance (HPC). Ele oferece suporte aos agendadores de trabalhos de código aberto AWS Batch e Slurm.

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

  • A Amazon Virtual Private Cloud (Amazon VPC) ajuda a iniciar recursos da AWS em uma rede virtual definida por você.

Outras ferramentas

  • O Docker é um conjunto de produtos de plataforma como serviço (PaaS) que usam a virtualização no nível do sistema operacional para fornecer software em contêineres.

  • O Grafana é um software de código aberto que ajuda você a consultar, visualizar, alertar e explorar métricas, registros e rastreamentos.

  • O NGINX Open Source é um servidor web de código aberto e proxy reverso.

  • O NVIDIA Data Center GPU Manager (DCGM) é um conjunto de ferramentas para gerenciar e monitorar unidades de processamento gráfico (GPUs) de datacenter NVIDIA em ambientes de cluster. Nesse padrão, você usa o DCGM-Exporter, que ajuda a exportar métricas de GPU do Prometheus.

  • O Prometheus é um kit de ferramentas de monitoramento de sistema de código aberto que coleta e armazena suas métricas como dados de séries temporais com pares de valores-chave associados, chamados de rótulos. Nesse padrão, você também usa o Prometheus Slurm Exporter para coletar e exportar métricas e usa o Prometheus Node Exporter para exportar métricas dos nós de computação.

  • O Ubuntu é um sistema operacional de código aberto baseado em Linux, projetado para servidores corporativos, desktops, ambientes de nuvem e IoT.

Repositório de código

O código desse padrão está disponível no GitHub pcluster-monitoring-dashboardrepositório.

Épicos

TarefaDescriçãoHabilidades necessárias

Criar um bucket do S3.

Crie um bucket do Amazon S3. Você usa esse bucket para armazenar os scripts de configuração. Para obter instruções, consulte Criação de um bucket na documentação do Amazon S3.

AWS geral

Clonar o repositório.

Clone o GitHub pcluster-monitoring-dashboardrepositório executando o comando a seguir.

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

Crie uma senha de administrador.

  1. Escolha a aws-parallelcluster-monitoring pasta, escolha a docker-compose pasta e abra o arquivo docker-compose.head.yml.

  2. Na GF_SECURITY_ADMIN_PASSWORDvariável, substitua Grafana4PC! por uma senha da sua escolha. Essa é a senha administrativa que você usa para gerenciar a conta Grafana.

  3. Salve e feche o arquivo docker-compose.head.yml.

Fazer scripts de shell Linux

Copie os arquivos necessários para o bucket do S3.

Copie o script post_install.sh e a aws-parallelcluster-monitoringpasta no bucket do S3 que você criou. Para obter instruções, consulte Fazer uploads de objetos na documentação do Amazon S3.

AWS geral

Configure um grupo de segurança adicional para o nó principal.

  1. Crie um grupo de segurança para o nó principal. Esse grupo de segurança permitirá tráfego de entrada para os painéis de monitoramento no nó principal. Para obter instruções, consulte Criar um grupo de segurança na documentação da Amazon VPC.

  2. Adicione regras de entrada ao grupo de segurança. Para obter instruções, consulte Adicionar regras a um grupo de segurança na documentação do Amazon VPC. Use os parâmetros a seguir para a regra:

    • Tipo: HTTPS

    • Protocol (Protocolo): TCP

    • Intervalo de portas: 443

    • Fonte: insira seu endereço IP

    • Descrição: permitir que os usuários acessem o painel de monitoramento

Administrador da AWS

Configure uma política do IAM para o nó principal.

Crie uma política do baseada em identidade para o nó principal. Essa política permite que o nó recupere dados métricos da Amazon CloudWatch. O GitHub repositório contém um exemplo de política. Para obter instruções, consulte Criar políticas do IAM na documentação do AWS Identity and Access Management (IAM).

Administrador da AWS

Configure uma política do IAM para os nós de computação.

Crie uma política do baseada em identidade para os nós de computação. Essa política permite que o nó crie as tags que contêm o ID do trabalho e o proprietário do trabalho. O GitHub repositório contém um exemplo de política. Para obter instruções, consulte Criação de políticas do IAM na documentação do IAM.

Se usar o arquivo de exemplo fornecido, substitua os seguintes valores:

  • <REGION>: a região da AWS em que o cluster está hospedado.

  • <ACCOUNT_ID>: o ID de conta da AWS.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias

Modifique o arquivo de modelo de cluster fornecido.

Crie o ParallelCluster cluster da AWS. Use o arquivo de modelo cluster.yaml CloudFormation AWS fornecido como ponto de partida para criar o cluster. Substitua os seguintes valores no modelo fornecido:

  • <REGION>: a região da AWS em que o cluster está hospedado.

  • <HEADNODE_SUBNET>: a sub-rede pública da VPC.

  • <ADDITIONAL_HEAD_NODE_SG>: o nome do grupo de segurança que você criou para o nó principal.

  • <KEY_NAME>: insira o nome de um par de chaves do Amazon EC2 existente. Os recursos que têm esse par de chaves têm acesso Secure Shell (SSH) ao nó principal.

  • <ALLOWED_IPS>: insira o intervalo de endereços IP formatado em CIDR que tem permissão para fazer conexões SSH com o nó principal.

  • <ADDITIONAL_HEAD_NODE_POLICY>: insira o nome da política do IAM que você criou para o nó principal.

  • <BUCKET_NAME>: insira o nome do bucket do S3 que você criou.

  • <COMPUTE_SUBNET>: insira o nome da sub-rede privada na VPC.

  • <ADDITIONAL_COMPUTE_NODE_POLICY>: insira o nome da política do IAM que você criou para o nó de computação.

Administrador da AWS

Crie o cluster.

Na AWS ParallelCluster CLI, insira o seguinte comando. Isso implanta o CloudFormation modelo e cria o cluster. Para obter mais informações sobre esse comando, consulte pcluster create-cluster na documentação da AWS. ParallelCluster

pcluster create-cluster -n <cluster_name> -c cluster.yaml
Administrador da AWS

Monitore a criação do cluster.

Insira o comando a seguir para monitorar a criação do cluster. Para obter mais informações sobre esse comando, consulte pcluster describe-cluster na documentação da AWS. ParallelCluster

pcluster describe-cluster -n <cluster_name>
Administrador da AWS
TarefaDescriçãoHabilidades necessárias

Acesso ao portal Grafana.

  1. Insira o comando a seguir para recuperar o endereço IP público do nó principal.

    pcluster describe-cluster -n <cluster_name> --query headNode.publicIpAddress
  2. Em um navegador da web, navegue até o seguinte URL para acessar o painel da Grafana.

    https://<head_node_public_ip_address>

  3. Na página inicial da Grafana, escolha o ícone do Painel de 4 quadrados no menu à esquerda e escolha Geral. Isso mostra uma lista de painéis de configuração. Os seguintes painéis estão disponíveis no Grafana:

    • Custo do cluster: contém informações sobre o custo do cluster

    • Logs do cluster: contém informações sobre os registros do cluster

    • Detalhes do nó de computação: contém informações sobre estatísticas de uso dos nós de computação

    • Lista de nós de computação: contém a lista dos nós de computação do cluster

    • Nós da GPU: contém informações sobre as estatísticas de uso dos nós da GPU

    • Detalhes do trabalho: contém informações sobre a utilização dos recursos do trabalho

    • Detalhes do nó principal: contém informações sobre as estatísticas de uso do nó principal

    • ParallelCluster Resumo — Contém informações sobre o uso do cluster

Administrador da AWS
TarefaDescriçãoHabilidades necessárias

Excluir o cluster.

Insira o comando a seguir para excluir o cluster. Para obter mais informações sobre esse comando, consulte pcluster delete-cluster na documentação da AWS. ParallelCluster

pcluster delete-cluster -n <cluster_name>
Administrador da AWS

Exclua as políticas do IAM.

Exclua as políticas que você criou para o nó principal e o nó de computação. Para obter mais informações sobre como excluir políticas, consulte Criação de políticas do IAM na documentação do IAM.

Administrador da AWS

Para excluir a regra e o grupo de segurança

Exclua o grupo de segurança que você criou para o nó principal. Para obter mais informações, consulte Excluir regras de grupos de segurança e Excluir um grupo de segurança na documentação do Amazon VPC.

Administrador da AWS

Exclua o bucket do S3.

Exclua o bucket do S3 que você criou para armazenar os scripts de configuração. Para obter mais informações, consulte Excluir um bucket na documentação do Amazon S3

AWS geral

Solução de problemas

ProblemaSolução

O nó principal não está acessível no navegador.

Verifique o grupo de segurança e confirme se a porta de entrada 443 está aberta.

Grafana não abre.

No nó principal, verifique o log do contêinerdocker logs Grafana.

Algumas métricas não têm dados.

No nó principal, verifique os logs de todos os contêineres.

Recursos relacionados

Documentação da AWS

Outros recursos da AWS

Outros recursos