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 Managed Service untuk Prometheus
Amazon ECS mendukung ekspor metrik CPU, memori, jaringan, dan penyimpanan tingkat tugas serta metrik aplikasi kustom Anda ke Amazon Managed Service for Prometheus. Ini dilakukan dengan menambahkan AWS Distro untuk wadah OpenTelemetry sidecar ke definisi tugas Anda. Konsol Amazon ECS menyederhanakan proses ini dengan menambahkan opsi Gunakan pengumpulan metrik saat membuat definisi tugas baru. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.
Metrik diekspor ke Amazon Managed Service for Prometheus dan dapat dilihat menggunakan dasbor Amazon Managed Grafana. Aplikasi Anda harus diinstrumentasi dengan pustaka Prometheus atau dengan SDK. OpenTelemetry Untuk informasi selengkapnya tentang instrumentasi aplikasi Anda dengan OpenTelemetry SDK, lihat Peng antar AWS Distro untuk OpenTelemetry
Saat menggunakan pustaka Prometheus, aplikasi Anda harus mengekspos /metrics titik akhir yang digunakan untuk mengikis data metrik. Untuk informasi selengkapnya tentang instrumentasi aplikasi Anda dengan pustaka Prometheus, lihat pustaka klien Prometheus di dokumentasi Prometheus.
Pertimbangan-pertimbangan
Berikut ini harus dipertimbangkan saat menggunakan integrasi Amazon ECS on Fargate dengan AWS Distro untuk mengirim metrik aplikasi OpenTelemetry ke Amazon Managed Service for Prometheus.
-
AWS Distro untuk OpenTelemetry integrasi didukung untuk beban kerja Amazon ECS yang dihosting di Fargate dan beban kerja Amazon ECS yang dihosting di instans Amazon EC2. Instans eksternal saat ini tidak didukung.
-
Secara default, AWS Distro for menyer OpenTelemetry takan semua dimensi tingkat tugas yang tersedia untuk metrik aplikasi Anda saat mengekspor ke Amazon Managed Service for Prometheus. Anda juga dapat instrumen aplikasi Anda untuk menambahkan dimensi tambahan. Untuk informasi selengkapnya, lihat Mem ulai dengan Prometheus Remote Write Exporter untuk Amazon Managed Service for Prometheus di Distro
untuk dokumentasi. AWS OpenTelemetry
Diperlukan izin IAM untuk AWS Distro untuk OpenTelemetry integrasi dengan Amazon Managed Service untuk Prometheus
Integrasi Amazon ECS dengan Amazon Managed Service for Prometheus menggunakan AWS Distro for OpenTelemetry sidecar mengharuskan Anda membuat peran IAM tugas dan menentukan peran dalam definisi tugas Anda. Peran IAM tugas ini harus dibuat secara manual sebelum mendaftarkan definisi tugas Anda. Untuk informasi selengkapnya tentang membuat peran tugas, lihatPeran IAM tugas Amazon ECS.
Kami menyarankan agar AWS Distro untuk OpenTelemetry sidecar juga dikonfigurasi untuk merutekan log kontainer ke CloudWatch Log yang memerlukan peran IAM eksekusi tugas dibuat dan ditentukan dalam definisi tugas Anda juga. Konsol Amazon ECS menangani peran IAM eksekusi tugas atas nama Anda, tetapi peran IAM tugas harus dibuat secara manual. Untuk informasi selengkapnya tentang membuat peran IAM eksekusi tugas, lihatPeran IAM pelaksanaan tugas Amazon ECS.
penting
Jika Anda juga mengumpulkan data pelacakan aplikasi menggunakan AWS Distro untuk OpenTelemetry integrasi, pastikan peran IAM tugas Anda juga berisi izin yang diperlukan untuk integrasi tersebut. Untuk informasi selengkapnya, lihat Identifikasi peluang pengoptimalan Amazon ECS menggunakan data pelacakan aplikasi.
Izin berikut diperlukan untuk AWS Distro untuk OpenTelemetry integrasi dengan Amazon Managed Service for Prometheus:
log: PutLogEvents
log: CreateLogGroup
log: CreateLogStream
log: DescribeLogStreams
log: DescribeLogGroups
awanwatch: PutMetricData
Menentukan AWS Distro untuk OpenTelemetry sidecar dalam definisi tugas Anda
Konsol Amazon ECS menyederhanakan pengalaman membuat AWS Distro untuk wadah OpenTelemetry sidecar dengan menggunakan opsi Gunakan pengumpulan metrik. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.
Jika Anda tidak menggunakan konsol Amazon ECS, Anda dapat menambahkan AWS Distro for OpenTelemetry sidecar container ke definisi tugas secara manual. Contoh definisi tugas berikut menunjukkan definisi wadah untuk menambahkan AWS Distro untuk OpenTelemetry sidecar untuk integrasi Amazon Managed Service for Prometheus.
{ "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": "aws-region", "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-amp.yaml" ], "environment": [{ "name": "AWS_PROMETHEUS_ENDPOINT", "value": "https://aps-workspaces.aws-region.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" }], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-create-group": "True", "awslogs-group": "/ecs/ecs-aws-otel-sidecar-collector", "awslogs-region": "aws-region", "awslogs-stream-prefix": "ecs" } } } ], "networkMode": "awsvpc", "requiresCompatibilities": [ "FARGATE" ], "cpu": "1024", "memory": "3072" }