

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

# Korelasikan kinerja aplikasi Amazon ECS menggunakan metrik aplikasi
<a name="metrics-data"></a>

Amazon ECS di Fargate mendukung pengumpulan metrik dari aplikasi Anda yang berjalan di Fargate dan mengekspornya ke Amazon atau CloudWatch Amazon Managed Service untuk Prometheus. 

Anda dapat menggunakan metadata yang dikumpulkan untuk menghubungkan data kinerja aplikasi dengan data infrastruktur yang mendasarinya, sehingga mengurangi waktu rata-rata untuk menyelesaikan masalah. 

Amazon ECS menggunakan AWS Distro untuk wadah OpenTelemetry sespan untuk mengumpulkan dan merutekan metrik aplikasi Anda ke tujuan. Pengalaman konsol Amazon ECS menyederhanakan proses menambahkan integrasi ini saat membuat definisi tugas Anda.

**Topics**
+ [Mengekspor metrik aplikasi ke Amazon CloudWatch](application-metrics-cloudwatch.md)
+ [Mengekspor metrik aplikasi ke Amazon Managed Service untuk Prometheus](application-metrics-prometheus.md)

# Mengekspor metrik aplikasi ke Amazon CloudWatch
<a name="application-metrics-cloudwatch"></a>

Amazon ECS di Fargate mendukung ekspor metrik aplikasi kustom Anda ke Amazon CloudWatch sebagai metrik khusus. 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](create-task-definition.md).

Metrik aplikasi diekspor ke CloudWatch Log dengan nama grup log `/aws/ecs/application/metrics` dan metrik dapat dilihat di namespace. `ECS/AWSOTel/Application` Aplikasi Anda harus diinstrumentasi dengan OpenTelemetry SDK. Untuk informasi selengkapnya, lihat [Pengantar AWS Distro untuk OpenTelemetry](https://aws-otel.github.io/docs/introduction) di AWS Distro untuk OpenTelemetry dokumentasi.

## Pertimbangan-pertimbangan
<a name="application-metrics-cloudwatch-considerations"></a>

Berikut ini harus dipertimbangkan saat menggunakan Amazon ECS pada integrasi Fargate AWS dengan Distro OpenTelemetry untuk mengirim metrik aplikasi ke Amazon. CloudWatch
+ Integrasi ini hanya mengirimkan metrik aplikasi kustom Anda ke CloudWatch. Jika menginginkan metrik tingkat tugas, Anda dapat mengaktifkan Wawasan Kontainer di konfigurasi cluster Amazon ECS. Untuk informasi selengkapnya, lihat [Pantau kontainer Amazon ECS menggunakan Container Insights dengan kemampuan observasi yang ditingkatkan](cloudwatch-container-insights.md).
+  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.
+ CloudWatch mendukung maksimum 30 dimensi per metrik. Secara default, Amazon ECS secara default menyertakan`TaskARN`,,,, `ClusterARN` `LaunchType``TaskDefinitionFamily`, dan `TaskDefinitionRevision` dimensi ke metrik. 25 dimensi yang tersisa dapat ditentukan oleh aplikasi Anda. Jika lebih dari 30 dimensi dikonfigurasi, tidak CloudWatch dapat menampilkannya. Ketika ini terjadi, metrik aplikasi akan muncul di namespace `ECS/AWSOTel/Application` CloudWatch metrik tetapi tanpa dimensi apa pun. Anda dapat menginstruksikan aplikasi Anda untuk menambahkan dimensi tambahan. Untuk informasi selengkapnya, lihat [Menggunakan CloudWatch metrik dengan AWS Distro untuk OpenTelemetry](https://aws-otel.github.io/docs/getting-started/cloudwatch-metrics) dokumentasi di AWS Distro. OpenTelemetry 

## Izin IAM yang diperlukan untuk AWS Distro untuk OpenTelemetry integrasi dengan Amazon CloudWatch
<a name="application-metrics-cloudwatch-iam"></a>

Integrasi Amazon ECS dengan AWS Distro untuk OpenTelemetry mengharuskan Anda membuat peran IAM tugas dan menentukan peran dalam definisi tugas Anda. 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 IAM tugas harus dibuat secara manual dan ditambahkan ke definisi tugas Anda. Untuk informasi selengkapnya tentang peran IAM eksekusi tugas, lihat[Peran IAM pelaksanaan tugas Amazon ECS](task_execution_IAM_role.md).

**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](trace-data.md).  
Jika aplikasi Anda memerlukan izin tambahan, Anda harus menambahkannya ke kebijakan ini. Setiap definisi tugas hanya dapat menentukan satu peran IAM tugas. Misalnya, jika Anda menggunakan file konfigurasi kustom yang disimpan di Systems Manager, Anda harus menambahkan `ssm:GetParameters` izin ke kebijakan IAM ini.

**Untuk membuat peran layanan untuk Elastic Container Service (konsol IAM)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Peran**, dan lalu pilih **Buat peran**.

1. Untuk **jenis entitas Tepercaya**, pilih **Layanan AWS**.

1. Untuk **Service atau use case**, pilih **Elastic Container Service**, lalu pilih kasus penggunaan **Elastic Container Service Task**.

1. Pilih **Berikutnya**.

1. Di bagian **Tambahkan izin**, cari **AWSDistroOpenTelemetryPolicyForXray**, lalu pilih kebijakan.

1. (Opsional) Tetapkan [batas izin](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan.

   1. Buka bagian **Setel batas izin**, lalu pilih **Gunakan batas izin untuk mengontrol izin peran maksimum**.

      IAM menyertakan daftar kebijakan yang AWS dikelola dan dikelola pelanggan di akun Anda.

   1. Pilih kebijakan yang akan digunakan untuk batas izin.

1. Pilih **Berikutnya**.

1. Masukkan nama peran atau akhiran nama peran untuk membantu Anda mengidentifikasi tujuan peran.
**penting**  
Saat Anda memberi nama peran, perhatikan hal berikut:  
Nama peran harus unik di dalam diri Anda Akun AWS, dan tidak dapat dibuat unik berdasarkan kasus.  
Misalnya, jangan membuat peran bernama keduanya **PRODROLE** dan**prodrole**. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dari ARN, nama peran tersebut peka huruf besar/kecil, namun ketika nama peran muncul kepada pelanggan di konsol, seperti selama proses masuk, nama peran tersebut tidak peka huruf besar/kecil.
Anda tidak dapat mengedit nama peran setelah dibuat karena entitas lain mungkin mereferensikan peran tersebut.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran tersebut.

1. **(Opsional) Untuk mengedit kasus penggunaan dan izin untuk peran, di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan izin**, pilih Edit.**

1. (Opsional) Untuk membantu mengidentifikasi, mengatur, atau mencari peran, tambahkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag di IAM, lihat [Tag untuk AWS Identity and Access Management sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di *Panduan Pengguna IAM*.

1. Tinjau peran lalu pilih **Buat peran**.

## Menentukan AWS Distro untuk OpenTelemetry sespan dalam definisi tugas Anda
<a name="application-metrics-cloudwatch-containerdefinitions"></a>

**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](create-task-definition.md).

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 integrasi Amazon. CloudWatch 

```
{
	"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": "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.30.0",
			"essential": true,
			"command": [
				"--config=/etc/ecs/ecs-cloudwatch.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"
}
```

# Mengekspor metrik aplikasi ke Amazon Managed Service untuk Prometheus
<a name="application-metrics-prometheus"></a>

Amazon ECS mendukung ekspor CPU tingkat tugas, memori, jaringan, dan metrik penyimpanan serta metrik aplikasi khusus 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](create-task-definition.md).

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](https://aws-otel.github.io/docs/introduction) dokumentasi AWS . OpenTelemetry 

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](https://prometheus.io/docs/instrumenting/clientlibs/).

## Pertimbangan-pertimbangan
<a name="application-metrics-prometheus-considerations"></a>

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](https://aws-otel.github.io/docs/getting-started/prometheus-remote-write-exporter). AWS OpenTelemetry 

## Izin IAM yang diperlukan untuk AWS Distro untuk integrasi OpenTelemetry dengan Amazon Managed Service untuk Prometheus
<a name="application-metrics-prometheus-iam"></a>

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, lihat[Peran IAM tugas Amazon ECS](task-iam-roles.md).

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, lihat[Peran IAM pelaksanaan tugas Amazon ECS](task_execution_IAM_role.md).

**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](trace-data.md).

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
<a name="application-metrics-prometheus-containerdefinitions"></a>

**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](create-task-definition.md).

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"
}
```