Mengekspor metrik aplikasi ke Amazon CloudWatch - Amazon Elastic Container Service

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

Mengekspor metrik aplikasi ke Amazon CloudWatch

Amazon ECS di Fargate mendukung ekspor metrik aplikasi kustom Anda ke CloudWatch Amazon sebagai metrik khusus. Ini dilakukan dengan menambahkan AWS Distro untuk wadah OpenTelemetry sespan ke definisi tugas Anda. ECSKonsol Amazon menyederhanakan proses ini dengan menambahkan opsi Gunakan koleksi metrik saat membuat definisi tugas baru. Untuk informasi selengkapnya, lihat Membuat definisi ECS tugas Amazon menggunakan konsol.

Metrik aplikasi diekspor ke CloudWatch Log dengan nama grup log /aws/ecs/application/metrics dan metrik dapat dilihat di namespace. ECS/AWSOTel/Application Aplikasi Anda harus diinstrumentasi dengan. OpenTelemetry SDK Untuk informasi selengkapnya, lihat Pengantar AWS Distro untuk OpenTelemetry di AWS Distro untuk OpenTelemetry dokumentasi.

Pertimbangan

Berikut ini harus dipertimbangkan saat menggunakan integrasi Amazon ECS di Fargate dengan AWS Distro untuk mengirim metrik aplikasi OpenTelemetry ke Amazon. CloudWatch

  • Integrasi ini hanya mengirimkan metrik aplikasi kustom Anda ke CloudWatch. Jika menginginkan metrik tingkat tugas, Anda dapat mengaktifkan Wawasan Kontainer di konfigurasi klaster Amazon. ECS Untuk informasi selengkapnya, lihat Pantau ECS wadah Amazon menggunakan Wawasan Kontainer.

  • AWS Distro untuk OpenTelemetry integrasi didukung untuk ECS beban kerja Amazon yang dihosting di beban kerja Fargate dan Amazon yang dihosting di ECS instans Amazon. EC2 Instance eksternal saat ini tidak didukung.

  • CloudWatch mendukung maksimum 30 dimensi per metrik. Secara default, Amazon secara ECS default menyertakanTaskARN,,,, ClusterARN LaunchTypeTaskDefinitionFamily, dan TaskDefinitionRevision dimensi ke metrik. 25 dimensi yang tersisa dapat ditentukan oleh aplikasi Anda. Jika lebih dari 30 dimensi dikonfigurasi, tidak CloudWatch dapat menampilkannya. Ketika ini terjadi, metrik aplikasi akan muncul di namespace ECS/AWSOTel/Application CloudWatch metrik tetapi tanpa dimensi apa pun. Anda dapat menginstruksikan aplikasi Anda untuk menambahkan dimensi tambahan. Untuk informasi selengkapnya, lihat Menggunakan CloudWatch metrik dengan AWS Distro untuk OpenTelemetry dokumentasi di AWS Distro. OpenTelemetry

IAMIzin yang diperlukan untuk AWS Distro untuk OpenTelemetry integrasi dengan Amazon CloudWatch

ECSIntegrasi Amazon dengan AWS Distro for OpenTelemetry mengharuskan Anda membuat IAM peran tugas dan menentukan peran dalam definisi tugas Anda. Kami merekomendasikan bahwa AWS Distro untuk OpenTelemetry sespan juga dikonfigurasi untuk merutekan log kontainer ke CloudWatch Log yang memerlukan IAM peran eksekusi tugas dibuat dan ditentukan dalam definisi tugas Anda juga. ECSKonsol Amazon menangani IAM peran eksekusi tugas atas nama Anda, tetapi IAM peran tugas harus dibuat secara manual dan ditambahkan ke definisi tugas Anda. Untuk informasi selengkapnya tentang IAM peran eksekusi tugas, lihatIAMPeran eksekusi ECS tugas Amazon.

penting

Jika Anda juga mengumpulkan data jejak aplikasi menggunakan AWS Distro untuk OpenTelemetry integrasi, pastikan IAM peran tugas Anda juga berisi izin yang diperlukan untuk integrasi tersebut. Untuk informasi selengkapnya, lihat Identifikasi peluang ECS pengoptimalan Amazon menggunakan data pelacakan aplikasi.

Jika aplikasi Anda memerlukan izin tambahan, Anda harus menambahkannya ke kebijakan ini. Setiap definisi tugas hanya dapat menentukan satu IAM peran tugas. Misalnya, jika Anda menggunakan file konfigurasi kustom yang disimpan di Systems Manager, Anda harus menambahkan ssm:GetParameters izin ke IAM kebijakan ini.

Untuk membuat peran layanan untuk Elastic Container Service (IAMkonsol)
  1. Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi IAM konsol, pilih Peran, lalu pilih Buat peran.

  3. Untuk jenis entitas Tepercaya, pilih Layanan AWS.

  4. Untuk Service atau use case, pilih Elastic Container Service, lalu pilih kasus penggunaan Elastic Container Service Task.

  5. Pilih Berikutnya.

  6. Di bagian Tambahkan izin, cari AWSDistroOpenTelemetryPolicyForXray, lalu pilih kebijakan.

  7. (Opsional) Tetapkan batas izin. Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan.

    1. Buka bagian Setel batas izin, lalu pilih Gunakan batas izin untuk mengontrol izin peran maksimum.

      IAMmenyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda.

    2. Pilih kebijakan yang akan digunakan untuk batas izin.

  8. Pilih Berikutnya.

  9. Masukkan nama peran atau akhiran nama peran untuk membantu Anda mengidentifikasi tujuan peran.

    penting

    Saat Anda memberi nama peran, perhatikan hal berikut:

    • Nama peran harus unik di dalam diri Anda Akun AWS, dan tidak dapat dibuat unik berdasarkan kasus.

      Misalnya, jangan membuat peran bernama keduanya PRODROLE danprodrole. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dariARN, nama peran akan peka huruf besar/kecil, namun ketika nama peran muncul kepada pelanggan di konsol, seperti selama proses login, nama peran tersebut tidak peka huruf besar/kecil.

    • Anda tidak dapat mengedit nama peran setelah dibuat karena entitas lain mungkin mereferensikan peran tersebut.

  10. (Opsional) Untuk Deskripsi, masukkan deskripsi untuk peran tersebut.

  11. (Opsional) Untuk mengedit kasus penggunaan dan izin untuk peran, di Langkah 1: Pilih entitas tepercaya atau Langkah 2: Tambahkan izin, pilih Edit.

  12. (Opsional) Untuk membantu mengidentifikasi, mengatur, atau mencari peran, tambahkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag diIAM, lihat Menandai IAM sumber daya di Panduan IAM Pengguna.

  13. Tinjau peran lalu pilih Buat peran.

Menentukan AWS Distro untuk OpenTelemetry sespan dalam definisi tugas Anda

ECSKonsol Amazon menyederhanakan pengalaman membuat AWS Distro untuk wadah OpenTelemetry sespan dengan menggunakan opsi Use metric collection. Untuk informasi selengkapnya, lihat Membuat definisi ECS tugas Amazon menggunakan konsol.

Jika Anda tidak menggunakan ECS konsol Amazon, Anda dapat menambahkan AWS Distro untuk wadah OpenTelemetry sespan ke definisi tugas Anda secara manual. Contoh definisi tugas berikut menunjukkan definisi container untuk menambahkan AWS Distro untuk OpenTelemetry sespan untuk integrasi Amazon. CloudWatch

{ "family": "otel-using-cloudwatch", "taskRoleArn": "arn:aws:iam::111122223333:role/AmazonECS_OpenTelemetryCloudWatchRole", "executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole", "containerDefinitions": [ { "name": "aws-otel-emitter", "image": "application-image", "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "true", "awslogs-group": "/ecs/aws-otel-emitter", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } }, "dependsOn": [{ "containerName": "aws-otel-collector", "condition": "START" }] }, { "name": "aws-otel-collector", "image": "public.ecr.aws/aws-observability/aws-otel-collector:v0.30.0", "essential": true, "command": [ "--config=/etc/ecs/ecs-cloudwatch.yaml" ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "True", "awslogs-group": "/ecs/ecs-aws-otel-sidecar-collector", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } } } ], "networkMode": "awsvpc", "requiresCompatibilities": [ "FARGATE" ], "cpu": "1024", "memory": "3072" }