View a markdown version of this page

Mengekspor metrik aplikasi ke Amazon Managed Service untuk Prometheus - 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 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 di Distro untuk dokument AWS asi. 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" }