Mengumpulkan data pelacakan aplikasi - Amazon ECS

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

Mengumpulkan data pelacakan aplikasi

Amazon ECS terintegrasi denganAWS Distro OpenTelemetry untuk mengumpulkan data pelacakan dari aplikasi Anda. Amazon ECS menggunakanAWS Distro untuk kontainer OpenTelemetry sidecar untuk mengumpulkan dan merutekan data pelacakan keAWS X-Ray. Untuk informasi selengkapnya, lihat MenyiapkanAWS Distro untuk OpenTelemetry Kolektor di Amazon ECS.

AgarAWS Distro untuk OpenTelemetry Kolektor dapat mengirim data pelacakanAWS X-Ray, aplikasi Anda harus dikonfigurasi untuk membuat data pelacakan. Untuk informasi selengkapnya, lihat Menginstrumentasi aplikasi AndaAWS X-Ray dalam PanduanAWS X-Ray Developer.

Izin IAM yang diperlukan untukAWS Distro untuk OpenTelemetry integrasi denganAWS X-Ray

Integrasi Amazon ECS denganAWS Distro untuk OpenTelemetry mengharuskan Anda membuat peran IAM tugas dan menentukan peran dalam definisi tugas Anda. SebaiknyaAWS Distro untuk OpenTelemetry sidecar juga dikonfigurasi untuk merutekan log kontainer ke CloudWatch Log yang memerlukan eksekusi tugas peran IAM dibuat dan ditentukan dalam definisi tugas Anda juga. Pengalaman konsol Amazon ECS yang baru menangani peran IAM eksekusi tugas atas nama Anda, tetapi peran IAM tugas harus dibuat secara manual. Untuk informasi selengkapnya tentang cara membuat sebuah IAM role, lihatPeran IAM eksekusi tugas ECS.

penting

Jika Anda juga mengumpulkan metrik aplikasi menggunakanAWS Distro untuk OpenTelemetry integrasi, pastikan peran IAM tugas Anda juga berisi izin yang diperlukan untuk integrasi tersebut. Untuk informasi selengkapnya, lihat Mengumpulkan metrik aplikasi.

Untuk membuat peran IAM tugas untukAWS Distro untuk OpenTelemetry integrasi
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan, Buat kebijakan.

  3. Pada halaman Buat kebijakan, beralih ke tab JSON, salin dan tempel JSON kebijakan IAM berikut ke bidang, lalu pilih Berikutnya: Tag.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries" ], "Resource": "*" } ] }
  4. (Opsional) Tambahkan satu tag atau lebih ke kebijakan, lalu pilih Berikutnya: Tinjau.

  5. Untuk Nama, tentukanAWSDistroOpenTelemetryPolicyForXray.

  6. Untuk Deskripsi, tentukan deskripsi opsional, lalu pilih Buat kebijakan.

  7. Dalam panel navigasi, pilih Roles (Peran), lalu Create role (Buat peran).

  8. Di bagian Pilih tipe entitas tepercaya, pilih Layanan AWS, Elastic Container Service.

  9. Untuk Pilih kasus penggunaan Anda, pilih Tugas Elastic Container Service, lalu pilih Berikutnya: Izin.

  10. Di bagian Lampirkan kebijakan izin, cari AWSDistroOpenTelemetryPolicyForXray, pilih kebijakan, lalu pilih Berikutnya: Tag.

  11. Untuk Tambahkan tanda (opsional), tentukan setiap tanda kustom untuk mengaitkan dengan kebijakan dan kemudian pilih Selanjutnya: Tinjauan.

  12. Untuk Nama peran, tentukanAmazonECS_OpenTelemetryXrayRole dan pilih Buat peran.

MenentukanAWS Distro untuk OpenTelemetry sidecar untukAWS X-Ray integrasi dalam definisi tugas Anda

Pengalaman konsol Amazon ECS yang baru menyederhanakan pengalaman membuat wadahAWS Distro untuk OpenTelemetry sidecar dengan menggunakan opsi Use trace collection. Untuk informasi selengkapnya, lihat Membuat definisi tugas menggunakan konsol.

Jika Anda tidak menggunakan konsol Amazon ECS, Anda dapat menambahkan wadahAWS Distro untuk OpenTelemetry sidecar ke definisi tugas Anda. Cuplikan definisi tugas berikut menunjukkan definisi kontainer untuk menambahkanAWS Distro untuk OpenTelemetry sidecar untukAWS X-Ray integrasi.

{ "family": "otel-using-xray", "taskRoleArn": "arn:aws:iam::111122223333:role/AmazonECS_OpenTelemetryXrayRole", "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.26.1", "essential": true, "command": [ "--config=/etc/ecs/otel-instance-metrics-config.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" }