View a markdown version of this page

Memantau AWS Instans PCS menggunakan Amazon CloudWatch - AWS PCS

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

Memantau AWS Instans PCS menggunakan Amazon CloudWatch

AWS PCS meluncurkan instans Amazon EC2 sesuai kebutuhan untuk memenuhi persyaratan penskalaan yang ditentukan dalam grup node komputasi PCS Anda. Anda dapat memantau instans ini saat berjalan menggunakan Amazon CloudWatch. Anda dapat memeriksa log instance yang sedang berjalan dengan masuk ke dalamnya dan menggunakan alat baris perintah interaktif. Namun, secara default, data CloudWatch metrik hanya disimpan untuk jangka waktu terbatas setelah instance dihentikan, dan log instans biasanya dihapus bersama dengan volume EBS yang mendukung instans. Untuk mempertahankan metrik atau data pencatatan dari instans yang diluncurkan oleh PCS setelah dihentikan, Anda dapat mengonfigurasi CloudWatch agen pada instans Anda dengan template peluncuran EC2. Topik ini memberikan gambaran umum tentang pemantauan instans yang sedang berjalan dan memberikan contoh cara mengonfigurasi metrik dan log instans persisten.

Memantau instans yang sedang berjalan

Menemukan instans AWS PCS

Untuk memantau instans yang diluncurkan oleh PCS, cari instans yang sedang berjalan terkait dengan cluster atau grup node komputasi. Kemudian, di konsol EC2 untuk contoh tertentu, periksa bagian Status dan alarm dan Pem antauan. Jika akses login dikonfigurasi untuk instans tersebut, Anda dapat menyambungkannya dan memeriksa berbagai file log pada instans. Untuk informasi selengkapnya tentang mengidentifikasi instans mana yang dikelola oleh PCS, lihatMenemukan instance grup node komputasi di PCS AWS.

Mengaktifkan metrik terperinci

Secara default, metrik instans dikumpulkan pada interval 5 menit. Untuk mengumpulkan metrik pada interval satu menit, aktifkan CloudWatch pemantauan terperinci di template peluncuran grup simpul komputasi Anda. Untuk informasi selengkapnya, lihat Aktifkan CloudWatch pemantauan terperinci.

Mengkonfigurasi metrik dan log instans persisten

Anda dapat menyimpan metrik dan log dari instans Anda dengan menginstal dan mengonfigurasi CloudWatch agen Amazon pada instans tersebut. Ini terdiri dari tiga langkah utama:

  1. Buat konfigurasi CloudWatch agen.

  2. Simpan konfigurasi yang dapat diambil oleh instans PCS.

  3. Tulis template peluncuran EC2 yang menginstal perangkat lunak CloudWatch agen, mengambil konfigurasi Anda, dan memulai CloudWatch agen menggunakan konfigurasi.

Untuk informasi selengkapnya, lihat Mengum pulkan metrik, log, dan pel CloudWatch ac akan dengan agen di Panduan CloudWatch Pengguna Amazon, danMenggunakan template peluncuran Amazon EC2 dengan PCS AWS.

Membuat konfigurasi CloudWatch Agen

Sebelum menerapkan CloudWatch agen pada instans Anda, Anda harus membuat file konfigurasi JSON yang menentukan metrik, log, dan jejak yang akan dikumpulkan. File konfigurasi dapat dibuat menggunakan wizard atau secara manual, menggunakan editor teks. File konfigurasi akan dibuat secara manual untuk demonstrasi ini.

Di komputer tempat Anda menginstal AWS CLI, buat file CloudWatch konfigurasi bernama config.json dengan konten berikut. Anda juga dapat menggunakan URL berikut untuk mengunduh salinan file.

https://aws-hpc-recipes.s3.amazonaws.com/main/recipes/pcs/cloudwatch/assets/config.json
Catatan
  • Jalur log dalam file sampel adalah untuk Amazon Linux 2023. Jika instans Anda akan menggunakan sistem operasi dasar yang berbeda, ubah jalur yang sesuai.

  • Untuk menangkap log lain, tambahkan entri tambahan di bawahcollect_list.

  • Nilai di dalam {brackets} adalah variabel templat. Untuk daftar lengkap variabel yang didukung, lihat Membuat atau mengedit file konfigurasi CloudWatch agen secara manual di Panduan CloudWatch Pengguna Amazon.

  • Anda dapat memilih untuk menghilangkan logs atau metrics jika Anda tidak ingin mengumpulkan jenis informasi ini.

{ "agent": { "metrics_collection_interval": 60 }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/var/log/cloud-init.log", "log_group_class": "STANDARD", "log_group_name": "/PCSLogs/instances", "log_stream_name": "{instance_id}.cloud-init.log", "retention_in_days": 30 }, { "file_path": "/var/log/cloud-init-output.log", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.cloud-init-output.log", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/amazon/pcs/bootstrap.log", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.bootstrap.log", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/slurmd.log", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.slurmd.log", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/messages", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.messages", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 }, { "file_path": "/var/log/secure", "log_group_class": "STANDARD", "log_stream_name": "{instance_id}.secure", "log_group_name": "/PCSLogs/instances", "retention_in_days": 30 } ] } } }, "metrics": { "aggregation_dimensions": [ [ "InstanceId" ] ], "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}", "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}" }, "metrics_collected": { "cpu": { "measurement": [ "cpu_usage_idle", "cpu_usage_iowait", "cpu_usage_user", "cpu_usage_system" ], "metrics_collection_interval": 60, "resources": [ "*" ], "totalcpu": false }, "disk": { "measurement": [ "used_percent", "inodes_free" ], "metrics_collection_interval": 60, "resources": [ "*" ] }, "diskio": { "measurement": [ "io_time" ], "metrics_collection_interval": 60, "resources": [ "*" ] }, "mem": { "measurement": [ "mem_used_percent" ], "metrics_collection_interval": 60 }, "swap": { "measurement": [ "swap_used_percent" ], "metrics_collection_interval": 60 } } } }

File ini menginstruksikan CloudWatch agen untuk memantau beberapa file yang dapat membantu dalam mendiagnosis kesalahan dalam contoh bootstrap, otentikasi dan login, dan domain pemecahan masalah lainnya. Ini termasuk:

  • /var/log/cloud-init.log- Output dari tahap awal konfigurasi instance

  • /var/log/cloud-init-output.log- Output dari perintah yang berjalan selama konfigurasi instance

  • /var/log/amazon/pcs/bootstrap.log- Output dari PCS-specific operasi yang berjalan selama konfigurasi instance

  • /var/log/slurmd.log— Output dari daemon slurmd manajer beban kerja Slurm

  • /var/log/messages— Pesan sistem dari kernel, layanan sistem, dan aplikasi

  • /var/log/secure— Log yang terkait dengan upaya otentikasi, seperti SSH, sudo, dan peristiwa keamanan lainnya

File log dikirim ke grup CloudWatch log bernama/PCSLogs/instances. Aliran log adalah kombinasi dari ID instance dan nama dasar file log. Grup log memiliki waktu retensi 30 hari.

Selain itu, file menginstruksikan CloudWatch agen untuk mengumpulkan beberapa metrik umum, menggabungkannya berdasarkan ID instance.

Simpan konfigurasi

File konfigurasi CloudWatch agen harus disimpan di tempat yang dapat diakses oleh instans node komputasi PCS. Ada dua cara umum untuk melakukan ini. Anda dapat mengunggahnya ke bucket Amazon S3 yang dapat diakses oleh instans grup node komputasi Anda melalui profil instansnya. Atau, Anda dapat menyimpannya sebagai parameter SSM di Amazon Systems Manager Parameter Store.

Unggah ke bucket S3

Untuk menyimpan file Anda di S3, gunakan perintah AWS CLI berikut. Sebelum menjalankan perintah, buat penggantian ini:

  • Ganti amzn-s3-demo-bucket dengan nama bucket S3 Anda sendiri

Pertama, (ini opsional jika Anda memiliki bucket yang ada), buat bucket untuk menyimpan file konfigurasi Anda.

aws s3 mb s3://amzn-s3-demo-bucket

Selanjutnya, unggah file ke bucket.

aws s3 cp ./config.json s3://amzn-s3-demo-bucket/

Simpan sebagai parameter SSM

Untuk menyimpan file Anda sebagai parameter SSM, gunakan perintah berikut. Sebelum menjalankan perintah, buat penggantian ini:

  • Ganti region-code dengan Wilayah AWS tempat Anda bekerja dengan AWS PCS.

  • (Opsional) AmazonCloudWatch-PCS Ganti dengan nama Anda sendiri untuk parameter. Perhatikan bahwa jika Anda mengubah awalan nama dari AmazonCloudWatch- Anda perlu menambahkan akses baca secara khusus ke parameter SSM di profil instance grup simpul Anda.

aws ssm put-parameter \ --region region-code \ --name "AmazonCloudWatch-PCS" \ --type String \ --value file://config.json

Tulis template peluncuran EC2

Detail spesifik untuk template peluncuran tergantung pada apakah file konfigurasi Anda disimpan di S3 atau SSM.

Gunakan konfigurasi yang disimpan di S3

Skrip ini menginstal CloudWatch agen, mengimpor file konfigurasi dari bucket S3, dan meluncurkan CloudWatch agen dengannya. Ganti nilai-nilai berikut dalam skrip ini dengan detail Anda sendiri:

  • amzn-s3-demo-bucket— Nama bucket S3 yang dapat dibaca akun Anda

  • /config.json— Jalur relatif ke root bucket S3 tempat konfigurasi disimpan

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" packages: - amazon-cloudwatch-agent runcmd: - aws s3 cp s3://amzn-s3-demo-bucket/config.json /etc/s3-cw-config.json - /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file://etc/s3-cw-config.json --==MYBOUNDARY==--

Profil instance IAM untuk grup node harus memiliki akses ke bucket. Berikut adalah contoh kebijakan IAM untuk bucket dalam skrip data pengguna di atas.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }

Perhatikan juga bahwa instance harus mengizinkan lalu lintas keluar ke S3 dan titik akhir CloudWatch. Hal ini dapat dilakukan dengan menggunakan grup keamanan atau titik akhir VPC, tergantung pada arsitektur cluster Anda.

Gunakan konfigurasi yang disimpan di SSM

Skrip ini menginstal CloudWatch agen, mengimpor file konfigurasi dari parameter SSM, dan meluncurkan CloudWatch agen dengannya. Ganti nilai-nilai berikut dalam skrip ini dengan detail Anda sendiri:

  • (Opsional) AmazonCloudWatch-PCS Ganti dengan nama Anda sendiri untuk parameter.

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" packages: - amazon-cloudwatch-agent runcmd: - /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:AmazonCloudWatch-PCS --==MYBOUNDARY==--

Kebijakan instance IAM untuk grup node harus dilamp CloudWatchAgentServerPolicy irkan padanya.

Jika nama parameter Anda tidak dimulai dengan, AmazonCloudWatch- Anda perlu menambahkan akses baca secara khusus ke parameter SSM di profil instance grup simpul Anda. Berikut adalah contoh kebijakan IAM yang menggambarkan ini untuk awalan. DOC-EXAMPLE-PREFIX

JSON
{ "Version":"2012-10-17", "Statement" : [ { "Sid" : "CustomCwSsmMParamReadOnly", "Effect" : "Allow", "Action" : [ "ssm:GetParameter" ], "Resource" : "arn:aws:ssm:*:*:parameter/DOC-EXAMPLE-PREFIX*" } ] }

Perhatikan juga bahwa instance harus mengizinkan lalu lintas keluar ke SSM dan CloudWatch titik akhir. Hal ini dapat dilakukan dengan menggunakan grup keamanan atau titik akhir VPC, tergantung pada arsitektur cluster Anda.