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.
Topik
- Menjalankan CloudWatch agen sebagai pengguna yang berbeda
- Bagaimana CloudWatch agen menangani file log yang jarang
- Menambahkan dimensi kustom ke metrik yang dikumpulkan oleh agen CloudWatch
- Beberapa file konfigurasi CloudWatch agen
- Menggabungkan atau menggulung metrik yang dikumpulkan oleh agen CloudWatch
- Mengumpulkan metrik resolusi tinggi dengan agen CloudWatch
- Mengirim metrik, log, dan jejak ke akun lain
- Perbedaan stempel waktu antara CloudWatch agen terpadu dan agen Log sebelumnya CloudWatch
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
Unduh dan instal paket CloudWatch agen baru. Untuk informasi selengkapnya, lihat Unduh paket CloudWatch agen.
Buat pengguna Linux baru atau gunakan pengguna default bernama DEB file RPM atau
cwagent
yang dibuat.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/
. Kemudian atur nilai parameterusername
/.aws/credentialsshared_credential_file
dicommon-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/
. Kemudian atur nilai parameterusername
/.aws/credentialsshared_credential_file
dicommon-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.
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
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.
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
Unduh dan instal paket CloudWatch agen baru. Untuk informasi selengkapnya, lihat Unduh paket CloudWatch agen.
Buat pengguna Linux baru atau gunakan pengguna default bernama DEB file RPM atau
cwagent
yang dibuat.Menyimpan kredensial pengguna ini ke jalur yang dapat diakses pengguna, seperti
/home/
.username
/.aws/credentialsTetapkan nilai dari
shared_credential_file
parameter dalamcommon-config.toml
ke nama jalur file kredensial. Untuk informasi selengkapnya, lihat (Opsional) Ubah Konfigurasi Umum untuk Informasi Proxy atau Wilayah.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
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.
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_arn
Nilai 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
dalam kebijakan yang digunakan oleh akun pengiriman.agent-role-in-target-account
{ "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.