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 CPU tingkat tugas, memori, jaringan, dan metrik penyimpanan serta metrik aplikasi kustom Anda ke Amazon Managed Service for Prometheus. Ini dilakukan dengan menambahkan AWS Distro untuk wadah OpenTelemetry sespan ke definisi tugas Anda. Konsol Amazon ECS menyederhanakan proses ini dengan menambahkan opsi Gunakan koleksi metrik saat membuat definisi tugas baru. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.
Metrik diekspor ke Amazon Managed Service untuk Prometheus dan dapat dilihat menggunakan dasbor Grafana Terkelola Amazon. Aplikasi Anda harus diinstrumentasi dengan pustaka Prometheus atau dengan SDK. OpenTelemetry Untuk informasi selengkapnya tentang menginstrumentasi aplikasi Anda dengan OpenTelemetry SDK, lihat Pengantar AWS Distro untuk OpenTelemetry di Distro untuk
Saat menggunakan pustaka Prometheus, aplikasi Anda harus mengekspos titik akhir yang digunakan untuk mengikis /metrics data metrik. Untuk informasi selengkapnya tentang menginstrumentasi aplikasi Anda dengan pustaka Prometheus, lihat pustaka klien Prometheus dalam dokumentasi Prometheus
Pertimbangan-pertimbangan
Berikut ini harus dipertimbangkan saat menggunakan Amazon ECS pada integrasi Fargate AWS dengan Distro OpenTelemetry untuk mengirim metrik aplikasi ke Amazon Managed Service untuk Prometheus.
-
AWS Distro untuk OpenTelemetry integrasi didukung untuk beban kerja Amazon ECS yang dihosting di beban kerja Fargate dan Amazon ECS yang dihosting di instans Amazon. EC2 Instance eksternal saat ini tidak didukung.
-
Secara default, AWS Distro for OpenTelemetry menyertakan semua dimensi tingkat tugas yang tersedia untuk metrik aplikasi Anda saat mengekspor ke Amazon Managed Service untuk Prometheus. Anda juga dapat instrumen aplikasi Anda untuk menambahkan dimensi tambahan. Untuk informasi selengkapnya, lihat Memulai Prometheus Remote Write Exporter for Amazon Managed Service for Prometheus di Distro untuk dokumentasi
. AWS OpenTelemetry
Izin IAM yang diperlukan untuk AWS Distro untuk integrasi OpenTelemetry dengan Amazon Managed Service untuk Prometheus
Integrasi Amazon ECS dengan Amazon Managed Service untuk Prometheus menggunakan AWS Distro OpenTelemetry untuk sespan 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 merekomendasikan bahwa AWS Distro untuk OpenTelemetry sespan 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 tugas IAM 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 jejak 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 untuk Prometheus:
log: PutLogEvents
log: CreateLogGroup
log: CreateLogStream
log: DescribeLogStreams
log: DescribeLogGroups
jam tangan awan: PutMetricData
Menentukan AWS Distro untuk OpenTelemetry sespan dalam definisi tugas Anda
Konsol Amazon ECS menyederhanakan pengalaman membuat AWS Distro untuk wadah OpenTelemetry sespan dengan menggunakan opsi Gunakan koleksi metrik. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.
Jika Anda tidak menggunakan konsol Amazon ECS, 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 Amazon Managed Service untuk integrasi 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" }