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 dan metrik aplikasi khusus Anda ke Amazon Managed Service for Prometheus. Ini dilakukan dengan menambahkanAWS Distro untuk kontainer OpenTelemetry sidecar ke definisi tugas Anda. Pengalaman konsol Amazon ECS yang baru menyederhanakan proses ini dengan menambahkan opsi Gunakan koleksi metrik saat membuat definisi tugas baru. Untuk informasi selengkapnya, lihat Membuat definisi tugas menggunakan konsol.
Metrik diekspor ke Amazon Managed Service untuk Prometheus dan dapat dilihat menggunakan dasbor Amazon Managed Grafana. Aplikasi Anda harus diinstrumentasi dengan pustaka Prometheus atau dengan OpenTelemetry SDK. Untuk informasi selengkapnya tentang menginstrumentasi aplikasi Anda dengan OpenTelemetry SDK, lihat PengantarAWS Distro untuk OpenTelemetry
Saat menggunakan pustaka Prometheus, aplikasi Anda harus mengekspos/metrics
titik akhir yang digunakan untuk mengikis data metrik. Untuk informasi selengkapnya tentang menginstrumentasi aplikasi Anda dengan pustaka Prometheus, lihat pustaka klien Prometheus
Pertimbangan-pertimbangan
Berikut ini harus dipertimbangkan saat menggunakan integrasi Amazon ECS on Fargate denganAWS Distro untuk OpenTelemetry mengirim metrik aplikasi ke Amazon Managed Service untuk Prometheus.
-
AWSDistro 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 tidak didukung saat ini.
-
Secara default,AWS Distro untuk 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 dengan Prometheus Remote Write Exporter for Amazon Managed Service for Prometheus
diAWS Distro untuk OpenTelemetry dokumentasi.
Izin IAM yang diperlukan untukAWS Distro untuk OpenTelemetry integrasi dengan Amazon Managed Service untuk Prometheus
Integrasi Amazon ECS dengan Amazon Managed Service for Prometheus menggunakanAWS 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 menggunakan langkah-langkah di bawah ini sebelum mendaftarkan 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 eksekusi tugas, lihatPeran IAM eksekusi tugas ECS.
Jika Anda juga mengumpulkan data pelacakan aplikasi menggunakanAWS Distro untuk OpenTelemetry integrasi, pastikan peran IAM tugas Anda juga berisi izin yang diperlukan untuk integrasi tersebut. Untuk informasi selengkapnya, lihat Mengumpulkan data pelacakan aplikasi.
Untuk membuat peran IAM tugas untukAWS Distro untuk OpenTelemetry integrasi dengan Amazon Managed Service untuk Prometheus
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Dalam panel navigasi, pilih Roles (Peran), lalu Create role (Buat peran).
-
Di bagian Pilih tipe entitas tepercaya, pilih Layanan AWS, Elastic Container Service.
-
Untuk Pilih kasus penggunaan Anda, pilih Tugas Elastic Container Service, lalu pilih Berikutnya: Izin.
-
Di bagian Lampirkan kebijakan izin, cari AmazonPrometheusRemoteWriteAccesskebijakan, pilih kebijakan, lalu pilih Berikutnya: Tag.
-
Untuk Tambahkan tanda (opsional), tentukan setiap tanda kustom untuk mengaitkan dengan kebijakan dan kemudian pilih Selanjutnya: Tinjauan.
-
Untuk Nama peran, tentukan
AmazonECS_OpenTelemetryPrometheusRole
dan pilih Buat peran.
MenentukanAWS Distro untuk OpenTelemetry sidecar dalam definisi tugas Anda
Pengalaman konsol Amazon ECS yang baru menyederhanakan pengalaman membuat wadahAWS Distro untuk OpenTelemetry sidecar dengan menggunakan opsi Gunakan koleksi metrik. Untuk informasi selengkapnya, lihat Membuat definisi tugas menggunakan konsol.
Jika Anda tidak menggunakan konsol Amazon ECS, Anda dapat menambahkan ContainerAWS Distro for OpenTelemetry sidecar ke definisi tugas Anda secara manual. Contoh definisi tugas berikut menunjukkan definisi kontainer untuk menambahkanAWS Distro untuk OpenTelemetry sidecar untuk integrasi Amazon Managed Service untuk 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.26.1", "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" }