Mengkonfigurasi CloudWatch Log Amazon untuk Run Command - AWS Systems Manager

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

Mengkonfigurasi CloudWatch Log Amazon untuk Run Command

Ketika Anda mengirim perintah dengan menggunakan Run Command, kemampuan AWS Systems Manager, Anda dapat menentukan di mana Anda ingin mengirim output perintah. Secara default, Systems Manager hanya mengembalikan 24.000 karakter pertama dari output perintah. Jika Anda ingin melihat detail lengkap dari output perintah, Anda dapat menentukan bucket Amazon Simple Storage Service (Amazon S3). Atau Anda dapat menentukan CloudWatch Log Amazon. Jika Anda menentukan CloudWatch Log, Run Command secara berkala mengirimkan semua output perintah dan log kesalahan ke CloudWatch Log. Anda dapat memantau log output mendekati waktu nyata, mencari frasa, nilai, atau pola tertentu, dan membuat alarm berdasarkan pencarian.

Jika Anda mengonfigurasi node terkelola untuk menggunakan kebijakan terkelola AWS Identity and Access Management (IAM) AmazonSSMManagedInstanceCore danCloudWatchAgentServerPolicy, node Anda tidak memerlukan konfigurasi tambahan untuk mengirim output ke CloudWatch Log. Pilih opsi ini jika mengirim perintah dari konsol, atau tambahkan cloud-watch-output-config bagian dan CloudWatchOutputEnabled parameter jika menggunakan AWS Command Line Interface (AWS CLI), AWS Tools for Windows PowerShell, atau API operasi. Bagian cloud-watch-output-config dan parameter CloudWatchOutputEnabled dijelaskan secara lebih detail nanti di topik ini.

Untuk informasi tentang menambahkan kebijakan ke profil instans untuk EC2 instance, lihat Mengonfigurasi izin instans yang diperlukan untuk Systems Manager. Untuk informasi tentang menambahkan kebijakan ke peran layanan untuk server lokal dan mesin virtual yang Anda rencanakan untuk digunakan sebagai node terkelola, lihat Membuat peran IAM layanan yang diperlukan untuk Systems Manager di lingkungan hybrid dan multicloud.

Jika Anda menggunakan kebijakan kustom pada node Anda, perbarui kebijakan pada setiap node untuk memungkinkan Systems Manager mengirim output dan CloudWatch log ke Log. Tambahkan objek kebijakan berikut ke kebijakan kustom Anda. Untuk informasi selengkapnya tentang memperbarui IAM kebijakan, lihat Mengedit IAM kebijakan di Panduan IAM Pengguna.

{ "Effect": "Allow", "Action": "logs:DescribeLogGroups", "Resource": "*" }, { "Effect":"Allow", "Action":[ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource":"arn:aws:logs:*:*:log-group:/aws/ssm/*" },

Menentukan CloudWatch Log saat Anda mengirim perintah

Untuk menentukan CloudWatch Log sebagai output saat Anda mengirim perintah dari AWS Management Console, pilih CloudWatch Keluaran di bagian Opsi keluaran. Secara opsional, Anda dapat menentukan nama grup CloudWatch Log tempat Anda ingin mengirim output perintah. Jika Anda tidak menentukan nama grup, Systems Manager secara otomatis membuat grup log untuk Anda. Grup log menggunakan format penamaan berikut: /aws/ssm/SystemsManagerDocumentName

Jika Anda menjalankan perintah dengan menggunakan AWS CLI, tentukan cloud-watch-output-config bagian dalam perintah Anda. Bagian ini memungkinkan Anda untuk menentukan parameter CloudWatchOutputEnabled, dan secara opsional, parameter CloudWatchLogGroupName. Inilah contohnya.

Linux & macOS
aws ssm send-command \ --instance-ids "instance ID" \ --document-name "AWS-RunShellScript" \ --parameters "commands=echo helloWorld" \ --cloud-watch-output-config "CloudWatchOutputEnabled=true,CloudWatchLogGroupName=log group name"
Windows
aws ssm send-command ^ --document-name "AWS-RunPowerShellScript" ^ --parameters commands=["echo helloWorld"] ^ --targets "Key=instanceids,Values=an instance ID” ^ --cloud-watch-output-config '{"CloudWatchLogGroupName":"log group name","CloudWatchOutputEnabled":true}'

Melihat output perintah di CloudWatch Log

Segera setelah perintah mulai berjalan, Systems Manager mengirimkan output ke CloudWatch Log dalam waktu nyaris real time. Output di CloudWatch Log menggunakan format berikut:

CommandID/InstanceID/PluginID/stdout

CommandID/InstanceID/PluginID/stderr

Output dari eksekusi diunggah setiap 30 detik atau saat buffer melebihi 200 KB, yang mana yang terjadi terlebih dahulu.

catatan

Aliran log hanya dibuat saat data output tersedia. Misalnya, jika tidak ada data kesalahan untuk eksekusi, aliran stderr tidak dibuat.

Berikut adalah contoh output perintah seperti yang ditampilkan di CloudWatch Log.

Group - /aws/ssm/AWS-RunShellScript
Streams – 
1234-567-8910/i-abcd-efg-hijk/AWS-RunPowerShellScript/stdout
24/1234-567-8910/i-abcd-efg-hijk/AWS-RunPowerShellScript/stderr