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.

  2. Buat pengguna Linux baru atau gunakan pengguna default yang disebut cwagent bahwa file RPM atau DEB 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 kredensional 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 Instal CloudWatch agen menggunakan AWS Systems Manager.

    • 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 CloudWatch agen. 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 Instal CloudWatch agen menggunakan AWS Systems Manager.

      • Alih-alih membuat file kredensial, lampirkan peran IAM ke instans. 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.

  2. Buat pengguna Linux baru atau gunakan pengguna default yang disebut cwagent bahwa file RPM atau DEB 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 Instal CloudWatch agen menggunakan AWS Systems Manager.

  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.

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. Nilai role_arn menentukan peran IAM 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 menentukan role_arn di file konfigurasi agen, Anda juga harus memastikan bahwa peran IAM dari akun pengiriman dan target memiliki kebijakan tertentu. Peran dalam kedua akun pengiriman dan target harus memiliki CloudWatchAgentServerPolicy. Untuk informasi selengkapnya tentang menetapkan kebijakan ini ke peran, silakan lihat Prasyarat.

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

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

Peran dalam akun target harus mencakup kebijakan berikut sehingga kebijakan tersebut mengenali peran IAM yang digunakan oleh akun pengiriman. Anda menambahkan kebijakan ini di Hubungan kepercayaan di konsol IAM saat Anda mengedit peran. Peran ini adalah peran yang ditentukan dalam agent-role-in-target-account dalam kebijakan yang digunakan oleh akun pengiriman.

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

Perbedaan stempel waktu antara CloudWatch agen 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 CloudWatch agen 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.

Menambahkan file konfigurasi OpenTelemetry kolektor

CloudWatch Agen mendukung file konfigurasi OpenTelemetry kolektor tambahan di samping file konfigurasinya sendiri. Fitur ini memungkinkan Anda untuk menggunakan fitur CloudWatch agen seperti Sinyal CloudWatch Aplikasi atau Wawasan Kontainer melalui konfigurasi CloudWatch agen dan membawa konfigurasi OpenTelemetry kolektor yang ada dengan satu agen.

Untuk mencegah konflik gabungan dengan saluran pipa yang dibuat secara otomatis oleh CloudWatch agen, kami sarankan Anda menambahkan akhiran khusus ke setiap komponen dan saluran pipa dalam konfigurasi kolektor Anda. OpenTelemetry

receivers: otlp/custom-suffix: protocols: http: exporters: awscloudwatchlogs/custom-suffix: log_group_name: "test-group" log_stream_name: "test-stream" service: pipelines: logs/custom-suffix: receivers: [otlp/custom-suffix] exporters: [awscloudwatchlogs/custom-suffix]

Untuk mengkonfigurasi CloudWatch agen, mulai CloudWatch agen menggunakan fetch-config opsi dan tentukan file konfigurasi CloudWatch agen. CloudWatch agen membutuhkan setidaknya satu file konfigurasi CloudWatch agen.

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -c file:/tmp/agent.json -s

Selanjutnya, gunakan append-config opsi sambil menentukan file konfigurasi OpenTelemetry kolektor.

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -c file:/tmp/otel.yaml -s

Agen menggabungkan dua file konfigurasi saat memulai dan mencatat konfigurasi yang diselesaikan.