Skenario umum dengan CloudWatch agen - Amazon CloudWatch

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

Skenario umum dengan CloudWatch agen

Bagian ini memberi Anda skenario berbeda yang menguraikan cara menyelesaikan tugas konfigurasi dan penyesuaian umum untuk CloudWatch agen.

Menjalankan CloudWatch agen sebagai pengguna yang berbeda

Pada server Linux, CloudWatch berjalan sebagai pengguna root secara default. Untuk menjalankan agen sebagai pengguna yang berbeda, gunakan run_as_user parameter di agent bagian dalam file konfigurasi CloudWatch agen. Opsi ini hanya tersedia di server Linux.

Jika Anda sudah menjalankan agen dengan pengguna root dan ingin mengubah dengan menggunakan pengguna lain, Anda bisa menggunakan salah satu prosedur berikut.

Untuk menjalankan CloudWatch agen sebagai pengguna yang berbeda pada EC2 instance yang menjalankan Linux
  1. Unduh dan instal paket CloudWatch agen baru. Untuk informasi selengkapnya, lihat Unduh paket CloudWatch agen.

  2. Buat pengguna Linux baru atau gunakan pengguna default bernama DEB file RPM atau cwagent yang dibuat.

  3. Berikan kredensial untuk pengguna ini dengan salah satu cara berikut:

    • Jika file .aws/credentials ada di direktori home pengguna root, Anda harus membuat file kredensial untuk pengguna yang akan Anda gunakan untuk menjalankan agen. CloudWatch File kredensials ini akan /home/username/.aws/credentials. Kemudian atur nilai parameter shared_credential_file di common-config.toml ke nama jalur file kredensial. Untuk informasi selengkapnya, lihat (Opsional) Ubah Konfigurasi Umum untuk Informasi Proxy atau Wilayah.

    • Jika file .aws/credentials tidak ada di direktori home dari pengguna root, Anda dapat melakukan salah satu dari yang berikut ini:

      • Buat file kredensial untuk pengguna yang akan Anda gunakan untuk menjalankan agen. CloudWatch File kredensials ini akan /home/username/.aws/credentials. Kemudian atur nilai parameter shared_credential_file di common-config.toml ke nama jalur file kredensial. Untuk informasi selengkapnya, lihat (Opsional) Ubah Konfigurasi Umum untuk Informasi Proxy atau Wilayah.

      • Alih-alih membuat file kredensial, lampirkan IAM peran ke instance. Agen menggunakan peran ini sebagai penyedia kredensial.

  4. Dalam file konfigurasi CloudWatch agen, tambahkan baris berikut di agent bagian:

    "run_as_user": "username"

    Buat modifikasi lain ke file konfigurasi sesuai kebutuhan. Untuk informasi selengkapnya, silakan lihat Buat file konfigurasi CloudWatch agen

  5. Berikan kepada pengguna tersebut izin-izin yang diperlukan. Pengguna harus memiliki izin Read (r) untuk mengumpulkan file log, dan harus memiliki izin Execute (x) di setiap direktori di jalur file log.

  6. Mulai agen dengan file konfigurasi yang baru saja Anda modifikasi.

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path
Untuk menjalankan CloudWatch agen sebagai pengguna lain di server lokal yang menjalankan Linux
  1. Unduh dan instal paket CloudWatch agen baru. Untuk informasi selengkapnya, lihat Unduh paket CloudWatch agen.

  2. Buat pengguna Linux baru atau gunakan pengguna default bernama DEB file RPM atau cwagent yang dibuat.

  3. Menyimpan kredensial pengguna ini ke jalur yang dapat diakses pengguna, seperti /home/username/.aws/credentials.

  4. Tetapkan nilai dari shared_credential_file parameter dalam common-config.toml ke nama jalur file kredensial. Untuk informasi selengkapnya, lihat (Opsional) Ubah Konfigurasi Umum untuk Informasi Proxy atau Wilayah.

  5. Dalam file konfigurasi CloudWatch agen, tambahkan baris berikut di agent bagian:

    "run_as_user": "username"

    Buat modifikasi lain ke file konfigurasi sesuai kebutuhan. Untuk informasi selengkapnya, silakan lihat Buat file konfigurasi CloudWatch agen

  6. Berikan izin-izin yang diperlukan kepada pengguna. Pengguna harus memiliki izin Read (r) untuk mengumpulkan file log, dan harus memiliki izin Execute (x) di setiap direktori di jalur file log.

  7. Mulai agen dengan file konfigurasi yang baru saja Anda modifikasi.

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path

Bagaimana CloudWatch agen menangani file log yang jarang

File Sparse adalah file dengan blok kosong dan konten asli. File yang lebih tipis menggunakan ruang disk secara lebih efisien dengan menulis informasi singkat yang mewakili blok kosong ke disk alih-alih byte nol aktual yang membentuk blok. Ini membuat ukuran aktual file yang jarang biasanya jauh lebih kecil dari ukurannya.

Namun, CloudWatch agen tidak memperlakukan file sparse secara berbeda dari memperlakukan file normal. Ketika agen membaca file yang lebih tipis, blok kosong diperlakukan sebagai blok "nyata" yang diisi dengan byte nol. Karena itu, CloudWatch agen menerbitkan byte sebanyak ukuran file yang jarang. CloudWatch

Mengkonfigurasi CloudWatch agen untuk mempublikasikan file yang jarang dapat menyebabkan CloudWatch biaya yang lebih tinggi dari yang diharapkan, jadi kami sarankan untuk tidak melakukannya. Misalnya, /var/logs/lastlog di Linux biasanya file yang sangat jarang, dan kami menyarankan Anda untuk tidak mempublikasikannya CloudWatch.

Menambahkan dimensi kustom ke metrik yang dikumpulkan oleh agen CloudWatch

Untuk menambahkan dimensi khusus seperti tanda ke metrik yang dikumpulkan oleh agen, tambahkan append_dimensions bidang ke bagian file konfigurasi agen yang mencantumkan metrik tersebut.

Misalnya, bagian contoh berikut dari file konfigurasi menambahkan dimensi kustom yang diberi nama stackName dengan nilai Prod ke cpu dan disk metrik yang dikumpulkan oleh agen.

"cpu":{ "resources":[ "*" ], "measurement":[ "cpu_usage_guest", "cpu_usage_nice", "cpu_usage_idle" ], "totalcpu":false, "append_dimensions":{ "stackName":"Prod" } }, "disk":{ "resources":[ "/", "/tmp" ], "measurement":[ "total", "used" ], "append_dimensions":{ "stackName":"Prod" } }

Ingat bahwa setiap kali Anda mengubah file konfigurasi agen, Anda harus memulai ulang agen agar perubahan berlaku.

Beberapa file konfigurasi CloudWatch agen

Di server Linux dan server Windows, Anda dapat mengatur CloudWatch agen untuk menggunakan beberapa file konfigurasi. Sebagai contoh, Anda dapat menggunakan file konfigurasi umum yang mengumpulkan serangkaian metrik, log, dan jejak yang selalu ingin Anda kumpulkan dari semua server di infrastruktur Anda. Kemudian Anda dapat menggunakan file konfigurasi tambahan yang mengumpulkan metrik dari aplikasi tertentu atau dalam situasi tertentu.

Untuk mengatur ini, pertama-tama buat file konfigurasi yang ingin Anda gunakan. Setiap file konfigurasi yang akan digunakan bersama di server yang sama harus memiliki nama file yang berbeda. Anda dapat menyimpan file konfigurasi di server atau di Parameter Store.

Mulai CloudWatch agen menggunakan fetch-config opsi dan tentukan file konfigurasi pertama. Untuk menambahkan file konfigurasi kedua ke agen yang berjalan, gunakan perintah yang sama tetapi dengan append-config pilihan yang tepat. Semua metrik, log, dan jejak yang tercantum di salah satu file konfigurasi dikumpulkan. Contoh perintah berikut menggambarkan skenario ini menggunakan konfigurasi disimpan sebagai file. Baris pertama memulai agen dengan menggunakan file konfigurasi infrastructure.json, dan baris kedua menambahkan file konfigurasi app.json.

Contoh perintah berikut adalah untuk Linux.

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/tmp/infrastructure.json
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/tmp/app.json

Contoh perintah berikut adalah untuk Windows Server.

& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\infrastructure.json"
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a append-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\app.json"

Contoh file konfigurasi berikut menggambarkan penggunaan untuk fitur ini. File konfigurasi pertama digunakan untuk semua server dalam infrastruktur, dan yang kedua hanya mengumpulkan log dari aplikasi tertentu dan ditambahkan untuk server yang menjalankan aplikasi tersebut.

infrastructure.json

{ "metrics": { "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ "usage_active" ], "totalcpu": true }, "mem": { "measurement": [ "used_percent" ] } } }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log" }, { "file_path": "/var/log/messages", "log_group_name": "/var/log/messages" } ] } } } }

app.json

{ "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/app/app.log*", "log_group_name": "/app/app.log" } ] } } } }

Setiap file konfigurasi yang ditambahkan ke konfigurasi harus memiliki nama file yang berbeda satu sama lain dan dari file konfigurasi awal. Jika Anda menggunakan append-config dengan file konfigurasi dengan nama file yang sama sebagai file konfigurasi yang sudah digunakan agen, perintah penambahan menimpa informasi dari file konfigurasi pertama, bukan menambahkannya. Hal ini berlaku bahkan jika dua file konfigurasi dengan nama file yang sama berada di jalur file yang berbeda.

Contoh sebelumnya menunjukkan penggunaan dua file konfigurasi, tetapi tidak ada batas jumlah file konfigurasi yang dapat Anda tambahkan ke konfigurasi agen. Anda juga dapat menggabungkan penggunaan file konfigurasi yang terletak di server dan konfigurasi yang berada di Parameter Store.

Menggabungkan atau menggulung metrik yang dikumpulkan oleh agen CloudWatch

Untuk menggabungkan atau menggulir metrik yang dikumpulkan oleh agen, tambahkan aggregation_dimensions bidang ke bagian untuk metrik tersebut dalam file konfigurasi agen.

Misalnya, cuplikan file konfigurasi berikut menggulung metrik di dimensi AutoScalingGroupName. Metrik dari semua contoh dalam setiap grup Auto Scaling dikumpulkan dan dapat dilihat secara keseluruhan.

"metrics": { "cpu":{...} "disk":{...} "aggregation_dimensions" : [["AutoScalingGroupName"]] }

Untuk menggulung kombinasi dari setiap InstanceId dan InstanceType selain bergulir pada nama grup Auto Scaling, tambahkan hal berikut.

"metrics": { "cpu":{...} "disk":{...} "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"]] }

Untuk menggabungkan metrik menjadi satu koleksi, gunakan [].

"metrics": { "cpu":{...} "disk":{...} "aggregation_dimensions" : [[]] }

Ingat bahwa setiap kali mengubah file konfigurasi agen, Anda harus memulai ulang agen agar perubahan berlaku.

Mengumpulkan metrik resolusi tinggi dengan agen CloudWatch

metrics_collection_interval menentukan interval waktu untuk metrik yang dikumpulkan, dalam detik. Dengan menentukan nilai kurang dari 60 untuk bidang ini, metrik dikumpulkan sebagai metrik resolusi tinggi.

Sebagai contoh, jika metrik Anda semua harus resolusi tinggi dan dikumpulkan setiap 10 detik, tentukan 10 sebagai nilai untuk metrics_collection_interval di bawah bagian agent sebagai interval pengumpulan metrik global.

"agent": { "metrics_collection_interval": 10 }

Sebagai alternatif, contoh berikut menetapkan cpu metrik yang dikumpulkan setiap detik, dan semua metrik lainnya dikumpulkan setiap menit.

"agent":{ "metrics_collection_interval": 60 }, "metrics":{ "metrics_collected":{ "cpu":{ "resources":[ "*" ], "measurement":[ "cpu_usage_guest" ], "totalcpu":false, "metrics_collection_interval": 1 }, "disk":{ "resources":[ "/", "/tmp" ], "measurement":[ "total", "used" ] } } }

Ingat bahwa setiap kali mengubah file konfigurasi agen, Anda harus memulai ulang agen agar perubahan berlaku.

Mengirim metrik, log, dan jejak ke akun lain

Agar CloudWatch agen mengirim metrik, log, atau jejak ke akun lain, tentukan role_arn parameter dalam file konfigurasi agen di server pengirim. role_arnNilai menentukan IAM peran dalam akun target yang digunakan agen saat mengirim data ke akun target. Peran ini memungkinkan akun pengiriman untuk mengambil peran yang sesuai dalam akun target saat mengirimkan metrik atau log ke akun target.

Anda juga dapat menentukan string role_arn terpisah dalam file konfigurasi agen: satu untuk digunakan saat mengirim metrik, satu lagi untuk mengirim log, dan satu lagi untuk mengirim jejak.

Contoh bagian dari bagian agent file konfigurasi mengatur agen yang akan digunakan CrossAccountAgentRole saat mengirim data ke akun yang berbeda.

{ "agent": { "credentials": { "role_arn": "arn:aws:iam::123456789012:role/CrossAccountAgentRole" } }, ..... }

Sebagai alternatif, contoh berikut menetapkan peran yang berbeda untuk akun pengiriman yang akan digunakan untuk mengirim metrik, log, dan jejak:

"metrics": { "credentials": { "role_arn": "RoleToSendMetrics" }, "metrics_collected": {....
"logs": { "credentials": { "role_arn": "RoleToSendLogs" }, ....

Kebijakan diperlukan

Saat Anda menentukan file konfigurasi agen, Anda juga harus memastikan IAM peran akun pengirim dan target memiliki kebijakan tertentu. role_arn Peran dalam kedua akun pengiriman dan target harus memiliki CloudWatchAgentServerPolicy. Untuk informasi selengkapnya tentang menetapkan kebijakan ini ke peran, silakan lihat Buat IAM peran untuk digunakan dengan CloudWatch agen di EC2 instans Amazon.

Peran dalam akun pengiriman juga harus mencakup kebijakan berikut. Anda menambahkan kebijakan ini di tab Izin di IAM konsol saat Anda mengedit peran.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::target-account-ID:role/agent-role-in-target-account" ] } ] }

Peran dalam akun target harus menyertakan kebijakan berikut sehingga mengenali IAM peran yang digunakan oleh akun pengirim. Anda menambahkan kebijakan ini di tab Trust relationship di IAM konsol saat mengedit peran. Peran dalam akun target tempat Anda menambahkan kebijakan ini adalah peran yang Anda buat di Buat IAM peran dan pengguna untuk digunakan dengan CloudWatch agen. Peran ini adalah peran yang ditentukan dalam agent-role-in-target-account dalam kebijakan yang digunakan oleh akun pengiriman.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::sending-account-ID:role/role-in-sender-account" ] }, "Action": "sts:AssumeRole" } ] }

Perbedaan stempel waktu antara CloudWatch agen terpadu dan agen Log sebelumnya CloudWatch

CloudWatch Agen mendukung serangkaian simbol yang berbeda untuk format stempel waktu, dibandingkan dengan agen CloudWatch Log sebelumnya. Perbedaan ini ditunjukkan pada tabel berikut.

Simbol yang didukung oleh kedua agen Simbol hanya didukung oleh agen terpadu CloudWatch Simbol hanya didukung oleh agen CloudWatch Log sebelumnya

%A, %a, %b, %B, %d, %f, %H, %l, %m, %M, %p, %S, %y, %Y, %Z, %z

%-d, %-l, %-m, %-M, %-S

%c,%j, %U, %W, %w

Untuk informasi selengkapnya tentang arti simbol yang didukung oleh CloudWatch agen baru, lihat File Konfigurasi CloudWatch Agen: Bagian Log di Panduan CloudWatch Pengguna Amazon. Untuk informasi tentang simbol yang didukung oleh agen CloudWatch Log, lihat File Konfigurasi Agen di Panduan Pengguna CloudWatch Log Amazon.