Memantau AWS PCS instans 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 PCS instans menggunakan Amazon CloudWatch

AWSPCSmeluncurkan EC2 instans Amazon sesuai kebutuhan untuk memenuhi persyaratan penskalaan yang ditentukan dalam grup node PCS komputasi Anda. Anda dapat memantau instance ini saat dijalankan 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 instance biasanya dihapus bersama dengan EBS volume yang mendukung instance. Untuk menyimpan metrik atau data pencatatan dari instans yang diluncurkan PCS setelah dihentikan, Anda dapat mengonfigurasi CloudWatch agen pada instans Anda dengan templat peluncuran. EC2 Topik ini memberikan ikhtisar pemantauan instance yang sedang berjalan dan memberikan contoh cara mengonfigurasi metrik dan log instance persisten.

Memantau instance yang sedang berjalan

Menemukan AWS PCS contoh

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

Mengaktifkan metrik terperinci

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

Mengonfigurasi metrik dan log instance persisten

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

  1. Buat konfigurasi CloudWatch agen.

  2. Simpan konfigurasi di mana ia dapat diambil oleh PCS instance.

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

Untuk informasi selengkapnya, lihat Mengumpulkan metrik, log, dan jejak dengan CloudWatch agen di Panduan CloudWatch Pengguna Amazon, danMenggunakan template EC2 peluncuran Amazon dengan AWS PCS.

Buat konfigurasi CloudWatch Agen

Sebelum menerapkan CloudWatch agen pada instance Anda, Anda harus membuat file JSON konfigurasi 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 AWS CLI menginstal, buat file CloudWatch konfigurasi bernama config.json dengan konten yang mengikuti. Anda juga dapat menggunakan yang berikut ini URL 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 2. 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 dalam {brackets} adalah variabel template. 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 bootstrap misalnya, 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 operasi PCS -spesifik yang berjalan selama konfigurasi instance

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

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

  • /var/log/secure— Log yang terkait dengan upaya otentikasi, sepertiSSH, 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 dengan ID instance.

Simpan konfigurasi

File konfigurasi CloudWatch agen harus disimpan di tempat yang dapat diakses oleh instance node PCS komputasi. 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 AWS CLI perintah yang mengikuti. Sebelum menjalankan perintah, buat penggantian ini:

  • Ganti DOC-EXAMPLE-BUCKET dengan nama bucket S3 Anda sendiri

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

aws s3 mb s3://DOC-EXAMPLE-BUCKET

Selanjutnya, unggah file ke ember.

aws s3 cp ./config.json s3://DOC-EXAMPLE-BUCKET/

Simpan sebagai SSM parameter

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

  • Ganti region-code dengan AWS wilayah tempat Anda bekerja dengan AWSPCS.

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

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

Tulis template EC2 peluncuran

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

Gunakan konfigurasi yang disimpan di S3

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

  • DOC-EXAMPLE-BUCKET — Nama bucket S3 yang dapat dibaca akun Anda

  • /config.json — Jalur relatif terhadap 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://DOC-EXAMPLE-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 IAM instance untuk grup node harus memiliki akses ke bucket. Berikut adalah contoh IAM kebijakan untuk bucket dalam skrip data pengguna di atas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

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

Gunakan konfigurasi yang disimpan di SSM

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

  • (Opsional) Ganti AmazonCloudWatch-PCS 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 IAM instance untuk grup node harus memiliki CloudWatchAgentServerPolicylampiran padanya.

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

{ "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 memungkinkan lalu lintas keluar ke SSM dan CloudWatch titik akhir. Ini dapat dilakukan dengan menggunakan grup keamanan atau VPC titik akhir, tergantung pada arsitektur cluster Anda.