Siapkan dasbor pemantauan Grafana untuk AWS ParallelCluster - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Siapkan dasbor pemantauan Grafana untuk AWS ParallelCluster

Dario La Porta dan William Lu, Amazon Web Services

Ringkasan

AWS ParallelCluster membantu Anda menerapkan dan mengelola klaster komputasi kinerja tinggi (HPC). Ini mendukung penjadwal pekerjaan sumber terbuka AWS Batch dan Slurm. Meskipun AWS ParallelCluster terintegrasi dengan Amazon CloudWatch untuk pencatatan dan metrik, AWS tidak menyediakan dasbor pemantauan untuk beban kerja.

Dasbor Grafana untuk AWS ParallelCluster (GitHub) adalah dasbor pemantauan untuk AWS. ParallelCluster Ini memberikan wawasan penjadwal pekerjaan dan metrik pemantauan terperinci di tingkat sistem operasi (OS). Untuk informasi selengkapnya tentang dasbor yang disertakan dalam solusi ini, lihat Contoh Dasbor di repositori. GitHub Metrik ini membantu Anda lebih memahami beban kerja HPC dan kinerjanya. Namun, kode dasbor tidak diperbarui untuk AWS versi terbaru ParallelCluster atau paket open source yang digunakan dalam solusi. Pola ini meningkatkan solusi untuk memberikan manfaat berikut:

  • Mendukung AWS ParallelCluster v3

  • Menggunakan versi terbaru dari paket open source, termasuk Prometheus, Grafana, Prometheus Slurm Exporter, dan NVIDIA DCGM-Exporter

  • Meningkatkan jumlah inti CPU dan GPUs yang digunakan pekerjaan Slurm

  • Menambahkan dasbor pemantauan pekerjaan

  • Meningkatkan dasbor pemantauan node GPU untuk node dengan 4 atau 8 unit pemrosesan grafis () GPUs

Versi solusi yang disempurnakan ini telah diimplementasikan dan diverifikasi di lingkungan produksi HPC pelanggan AWS.

Prasyarat dan batasan

Prasyarat

  • AWS ParallelCluster CLI, diinstal dan dikonfigurasi.

  • Konfigurasi jaringan yang didukung untuk AWS ParallelCluster. Pola ini menggunakan AWS ParallelCluster menggunakan dua konfigurasi subnet, yang memerlukan subnet publik, subnet pribadi, gateway internet, dan gateway NAT.

  • Semua node ParallelCluster kluster AWS harus memiliki akses internet. Ini diperlukan agar skrip instalasi dapat mengunduh perangkat lunak open source dan gambar Docker.

  • Sebuah key pair di Amazon Elastic Compute Cloud (Amazon EC2). Sumber daya yang memiliki key pair ini memiliki akses Secure Shell (SSH) ke head node.

Batasan

  • Pola ini dirancang untuk mendukung Ubuntu 20.04 LTS. Jika Anda menggunakan versi Ubuntu yang berbeda atau jika Anda menggunakan Amazon Linux atau CentOS, maka Anda perlu memodifikasi skrip yang disediakan dengan solusi ini. Modifikasi ini tidak termasuk dalam pola ini.

Versi produk

  • Ubuntu 20.04 LTS

  • ParallelCluster 3.X

Pertimbangan penagihan dan biaya

  • Solusi yang diterapkan dalam pola ini tidak tercakup oleh tingkat gratis. Biaya berlaku untuk Amazon EC2, Amazon FSx untuk Lustre, gateway NAT di Amazon VPC, dan Amazon Route 53.

Arsitektur

Arsitektur target

Diagram berikut menunjukkan bagaimana pengguna dapat mengakses dasbor pemantauan untuk AWS ParallelCluster di node kepala. Node kepala menjalankan NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter, dan NGINX Open Source. Node komputasi menjalankan Prometheus Node Exporter, dan mereka juga menjalankan NVIDIA DCGM-Exporter jika node berisi. GPUs Node kepala mengambil informasi dari node komputasi dan menampilkan data tersebut di dasbor Grafana.

Mengakses dasbor pemantauan untuk AWS ParallelCluster di node kepala.

Dalam kebanyakan kasus, node kepala tidak banyak dimuat karena penjadwal pekerjaan tidak memerlukan sejumlah besar CPU atau memori. Pengguna mengakses dasbor pada node kepala dengan menggunakan SSL pada port 443.

Semua pemirsa resmi dapat melihat dasbor pemantauan secara anonim. Hanya administrator Grafana yang dapat memodifikasi dasbor. Anda mengonfigurasi kata sandi untuk administrator Grafana dalam file. aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml

Alat

Layanan AWS

  • NICE DCV adalah protokol tampilan jarak jauh berkinerja tinggi yang membantu Anda mengirimkan desktop jarak jauh dan streaming aplikasi dari cloud atau pusat data apa pun ke perangkat apa pun, dalam berbagai kondisi jaringan.

  • AWS ParallelCluster membantu Anda menerapkan dan mengelola klaster komputasi kinerja tinggi (HPC). Ini mendukung penjadwal pekerjaan sumber terbuka AWS Batch dan Slurm.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

  • Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan sumber daya AWS ke jaringan virtual yang telah Anda tentukan.

Alat-alat lainnya

Repositori kode

Kode untuk pola ini tersedia di GitHub pcluster-monitoring-dashboardrepositori.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat ember S3.

Buat bucket Amazon S3. Anda menggunakan bucket ini untuk menyimpan skrip konfigurasi. Untuk petunjuknya, lihat Membuat bucket di dokumentasi Amazon S3.

AWS Umum

Kloning repositori.

Kloning GitHub pcluster-monitoring-dashboardrepo dengan menjalankan perintah berikut.

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

Buat kata sandi admin.

  1. Pilih folder, pilih aws-parallelcluster-monitoring folder, lalu buka docker-compose file docker-compose.head.yml.

  2. Dalam GF_SECURITY_ADMIN_PASSWORD variabel, ganti Grafana4PC! dengan kata sandi pilihan Anda. Ini adalah kata sandi administratif yang Anda gunakan untuk mengelola akun Grafana.

  3. Simpan dan tutup file docker-compose.head.yml.

Skrip Shell Linux

Salin file yang diperlukan ke dalam ember S3.

Salin skrip post_install.sh dan aws-parallelcluster-monitoringfolder ke bucket S3 yang Anda buat. Untuk petunjuk, lihat Mengunggah objek dalam dokumentasi Amazon S3.

AWS Umum

Konfigurasikan grup keamanan tambahan untuk node kepala.

  1. Buat grup keamanan untuk node kepala. Grup keamanan ini akan memungkinkan lalu lintas masuk ke dasbor pemantauan di node kepala. Untuk petunjuknya, lihat Membuat grup keamanan di dokumentasi Amazon VPC.

  2. Tambahkan aturan masuk ke grup keamanan. Untuk petunjuknya, lihat Menambahkan aturan ke grup keamanan di dokumentasi Amazon VPC. Gunakan parameter berikut untuk aturan:

    • Jenis - HTTPS

    • Protokol — TCP

    • Rentang pelabuhan - 443

    • Sumber - Masukkan alamat IP Anda

    • Deskripsi - Memungkinkan pengguna mengakses dasbor pemantauan

Administrator AWS

Konfigurasikan kebijakan IAM untuk node kepala.

Buat kebijakan berbasis identitas untuk node kepala. Kebijakan ini memungkinkan node untuk mengambil data metrik dari Amazon CloudWatch. GitHub Repo berisi contoh kebijakan. Untuk petunjuk, lihat Membuat kebijakan IAM dalam dokumentasi AWS Identity and Access Management (IAM).

Administrator AWS

Konfigurasikan kebijakan IAM untuk node komputasi.

Buat kebijakan berbasis identitas untuk node komputasi. Kebijakan ini memungkinkan node untuk membuat tag yang berisi ID pekerjaan dan pemilik pekerjaan. GitHub Repo berisi contoh kebijakan. Untuk petunjuk, lihat Membuat kebijakan IAM dalam dokumentasi IAM.

Jika Anda menggunakan file contoh yang disediakan, ganti nilai berikut:

  • <REGION>— Wilayah AWS tempat cluster di-host

  • <ACCOUNT_ID>— ID akun AWS

Administrator AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Ubah file template cluster yang disediakan.

Buat ParallelCluster klaster AWS. Gunakan file template CloudFormation AWS cluster.yaml yang disediakan sebagai titik awal untuk membuat cluster. Ganti nilai-nilai berikut dalam template yang disediakan:

  • <REGION>— Wilayah AWS tempat cluster di-host.

  • <HEADNODE_SUBNET>— Subnet publik dari VPC.

  • <ADDITIONAL_HEAD_NODE_SG>— Nama grup keamanan yang Anda buat untuk node kepala.

  • <KEY_NAME>— Masukkan nama EC2 key pair Amazon yang ada. Sumber daya yang memiliki key pair ini memiliki akses Secure Shell (SSH) ke head node.

  • <ALLOWED_IPS>-—Masukkan rentang alamat IP berformat CIDR yang diizinkan untuk membuat koneksi SSH ke node kepala.

  • <ADDITIONAL_HEAD_NODE_POLICY>— Masukkan nama kebijakan IAM yang Anda buat untuk node kepala.

  • <BUCKET_NAME>— Masukkan nama bucket S3 yang Anda buat.

  • <COMPUTE_SUBNET>— Masukkan nama subnet pribadi di VPC.

  • <ADDITIONAL_COMPUTE_NODE_POLICY>— Masukkan nama kebijakan IAM yang Anda buat untuk node komputasi.

Administrator AWS

Buat cluster.

Di AWS ParallelCluster CLI, masukkan perintah berikut. Ini menyebarkan CloudFormation template dan membuat cluster. Untuk informasi selengkapnya tentang perintah ini, lihat pcluster create-cluster di dokumentasi AWS. ParallelCluster

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

Pantau pembuatan cluster.

Masukkan perintah berikut untuk memantau pembuatan cluster. Untuk informasi selengkapnya tentang perintah ini, lihat pcluster describe-cluster dalam dokumentasi AWS. ParallelCluster

pcluster describe-cluster -n <cluster_name>
Administrator AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Akses ke portal Grafana.

  1. Masukkan perintah berikut untuk mengambil alamat IP publik dari node kepala.

    pcluster describe-cluster -n <cluster_name> --query headNode.publicIpAddress
  2. Di browser web, arahkan ke URL berikut untuk mengakses dasbor Grafana.

    https://<head_node_public_ip_address>

  3. Di halaman depan Grafana, pilih ikon Dasbor 4-persegi di menu sebelah kiri, lalu pilih Umum. Ini menunjukkan daftar dasbor yang dikonfigurasi. Dasbor berikut tersedia di Grafana:

    • Biaya Cluster - Berisi informasi tentang biaya cluster

    • Cluster Logs - Berisi informasi tentang log cluster

    • Detail Node Komputasi - Berisi informasi tentang statistik penggunaan node komputasi

    • Compute Node List - Berisi daftar node komputasi cluster

    • Node GPU - Berisi informasi tentang statistik penggunaan node GPU

    • Rincian Pekerjaan - Berisi informasi tentang pemanfaatan sumber daya pekerjaan

    • Detail Node Kepala - Berisi informasi tentang statistik penggunaan node kepala

    • ParallelCluster Ringkasan - Berisi informasi tentang penggunaan cluster

Administrator AWS
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus klaster .

Masukkan perintah berikut untuk menghapus cluster. Untuk informasi selengkapnya tentang perintah ini, lihat pcluster delete-cluster di dokumentasi AWS. ParallelCluster

pcluster delete-cluster -n <cluster_name>
Administrator AWS

Hapus kebijakan IAM.

Hapus kebijakan yang Anda buat untuk node kepala dan node komputasi. Untuk informasi selengkapnya tentang menghapus kebijakan, lihat Menghapus kebijakan IAM di dokumentasi IAM.

Administrator AWS

Hapus grup dan aturan keamanan.

Hapus grup keamanan yang Anda buat untuk node kepala. Untuk informasi selengkapnya, lihat Menghapus aturan grup keamanan dan Menghapus grup keamanan di dokumentasi Amazon VPC.

Administrator AWS

Hapus bucket S3.

Hapus bucket S3 yang Anda buat untuk menyimpan skrip konfigurasi. Untuk informasi selengkapnya, lihat Menghapus bucket di dokumentasi Amazon S3.

AWS Umum

Pemecahan Masalah

IsuSolusi

Node kepala tidak dapat diakses di browser.

Periksa grup keamanan dan konfirmasikan bahwa port masuk 443 terbuka.

Grafana tidak terbuka.

Pada node kepala, periksa log kontainer untukdocker logs Grafana.

Beberapa metrik tidak memiliki data.

Pada node kepala, periksa log kontainer dari semua kontainer.

Sumber daya terkait

Dokumentasi AWS

Sumber daya AWS lainnya

Sumber daya lainnya