

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Amazon-ECS-Anwendungsleistung mithilfe von Anwendungsmetriken korrelieren
<a name="metrics-data"></a>

Amazon ECS on Fargate unterstützt das Sammeln von Metriken aus Ihren auf Fargate ausgeführten Anwendungen und deren Export nach Amazon CloudWatch oder Amazon Managed Service for Prometheus. 

Sie können die erfassten Metadaten verwenden, um die Leistungsdaten der Anwendung mit den zugrunde liegenden Infrastrukturdaten zu korrelieren und so die durchschnittliche Zeit bis zur Problemlösung zu reduzieren. 

Amazon ECS verwendet einen Container „ AWS Distro for OpenTelemetry Sidecar“, um Ihre Anwendungsmetriken zu sammeln und an das Ziel weiterzuleiten. Die Amazon-ECS-Konsole vereinfacht das Hinzufügen dieser Integration beim Erstellen Ihrer Aufgabendefinitionen.

**Topics**
+ [Anwendungsmetriken nach Amazon exportieren CloudWatch](application-metrics-cloudwatch.md)
+ [Exportieren von Anwendungsmetriken an Amazon Managed Service for Prometheus](application-metrics-prometheus.md)

# Anwendungsmetriken nach Amazon exportieren CloudWatch
<a name="application-metrics-cloudwatch"></a>

Amazon ECS on Fargate unterstützt den Export Ihrer benutzerdefinierten Anwendungsmetriken CloudWatch als benutzerdefinierte Metriken nach Amazon. Dazu fügen Sie Ihrer Aufgabendefinition den Container AWS Distro for OpenTelemetry Sidecar hinzu. Die Amazon-ECS-Konsole vereinfacht diesen Prozess, indem sie beim Erstellen einer neuen Aufgabendefinition die Option **Metrikerfassung verwenden** hinzufügt. Weitere Informationen finden Sie unter [Erstellen einer Amazon-ECS-Aufgabendefinition mit der Konsole](create-task-definition.md).

Die Anwendungsmetriken werden in CloudWatch Logs mit dem Namen der Protokollgruppe exportiert, `/aws/ecs/application/metrics` und die Metriken können im Namespace eingesehen werden. `ECS/AWSOTel/Application` Ihre Anwendung muss mit dem SDK instrumentiert sein. OpenTelemetry Weitere Informationen finden Sie unter [Einführung in AWS Distro OpenTelemetry in der Dokumentation zu](https://aws-otel.github.io/docs/introduction) AWS Distro. OpenTelemetry 

## Überlegungen
<a name="application-metrics-cloudwatch-considerations"></a>

Folgendes sollte beachtet werden, wenn Sie die Amazon ECS on Fargate-Integration mit AWS Distro verwenden, OpenTelemetry um Anwendungsmetriken an Amazon zu senden. CloudWatch
+ Diese Integration sendet nur Ihre benutzerdefinierten Anwendungsmetriken an. CloudWatch Wenn Sie Metriken auf Aufgabenebene wünschen, können Sie Container Insights in der Amazon-ECS-Cluster-Konfiguration aktivieren. Weitere Informationen finden Sie unter [Amazon-ECS-Container mithilfe von Container Insights mit verbesserter Beobachtbarkeit überwachen](cloudwatch-container-insights.md).
+ Die AWS Distribution for OpenTelemetry Integration wird für Amazon ECS-Workloads, die auf Fargate gehostet werden, und Amazon ECS-Workloads, die auf Amazon EC2 EC2-Instances gehostet werden, unterstützt. Externe Instances werden derzeit nicht unterstützt.
+ CloudWatch unterstützt maximal 30 Dimensionen pro Metrik. Standardmäßig enthält Amazon ECS die Dimensionen `TaskARN`, `ClusterARN`, `LaunchType`, `TaskDefinitionFamily` und `TaskDefinitionRevision` in den Metriken. Die restlichen 25 Dimensionen können durch Ihre Anwendung definiert werden. Wenn mehr als 30 Dimensionen konfiguriert sind, CloudWatch können sie nicht angezeigt werden. In diesem Fall werden die Anwendungsmetriken im `ECS/AWSOTel/Application` CloudWatch Metrik-Namespace angezeigt, jedoch ohne Dimensionen. Sie können Ihre Anwendung so einstellen, dass zusätzliche Dimensionen hinzugefügt werden. Weitere Informationen finden Sie unter [Using CloudWatch metrics with AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/getting-started/cloudwatch-metrics) in der Dokumentation zu AWS Distro. OpenTelemetry 

## Erforderliche IAM-Berechtigungen für AWS Distro für die OpenTelemetry Integration mit Amazon CloudWatch
<a name="application-metrics-cloudwatch-iam"></a>

Die Amazon ECS-Integration mit AWS Distro for OpenTelemetry erfordert, dass Sie eine Task-IAM-Rolle erstellen und die Rolle in Ihrer Aufgabendefinition angeben. Wir empfehlen, dass AWS Distro for OpenTelemetry Sidecar auch so konfiguriert wird, dass Container-Protokolle an Logs weitergeleitet werden. Dazu muss auch eine IAM-Rolle für die Aufgabenausführung erstellt und in Ihrer Aufgabendefinition angegeben werden. CloudWatch Die Amazon-ECS-Konsole kümmert sich in Ihrem Namen um die IAM-Aufgabenausführungsrolle, die Aufgaben-IAM-Rolle muss jedoch manuell erstellt und der Aufgabendefinition hinzugefügt werden. Weitere Informationen zur IAM-Aufgabenausführungsrolle finden Sie unter [IAM-Rolle für die Amazon-ECS-Aufgabenausführung](task_execution_IAM_role.md).

**Wichtig**  
Wenn Sie auch Anwendungs-Trace-Daten mithilfe von AWS Distro für die OpenTelemetry Integration sammeln, stellen Sie sicher, dass Ihre Aufgaben-IAM-Rolle auch die für diese Integration erforderlichen Berechtigungen enthält. Weitere Informationen finden Sie unter [Identifizieren Sie Optimierungsmöglichkeiten in Amazon ECS mithilfe von Ablaufverfolgungsdaten von Anwendung](trace-data.md).  
Wenn Ihre Anwendung zusätzliche Berechtigungen benötigt, sollten Sie diese dieser Richtlinie hinzufügen. Jede Aufgabendefinition darf nur eine Aufgaben-IAM-Rolle angeben. Wenn Sie beispielsweise eine in Systems Manager gespeicherte benutzerdefinierte Konfigurationsdatei verwenden, sollten Sie dieser IAM-Richtlinie die `ssm:GetParameters`-Berechtigung hinzufügen.

**So erstellen Sie eine Servicerolle für Elastic Container Service (IAM-Konsole)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Klicken Sie im Navigationsbereich der IAM-Konsole auf **Rollen**, und wählen Sie dann **Rolle erstellen**.

1. Wählen Sie für **Vertrauenswürdige Entität** die Option **AWS-Service** aus.

1. Wählen Sie für **Service oder Anwendungsfall** die Option **Elastic Container Service** und dann den Anwendungsfall **Elastic Container Service Task** aus.

1. Wählen Sie **Weiter** aus.

1. Suchen **Sie im Bereich Berechtigungen hinzufügen** nach der Richtlinie **AWSDistroOpenTelemetryPolicyForXray**und wählen Sie sie aus.

1. (Optional) Legen Sie eine [Berechtigungsgrenze](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) fest. Dies ist ein erweitertes Feature, das für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen.

   1. Öffnen Sie den Abschnitt **Berechtigungsgrenze festlegen** und wählen Sie dann **Eine Berechtigungsgrenze verwenden, um die maximalen Rollenberechtigungen zu steuern** aus.

      IAM enthält eine Liste der AWS verwalteten und kundenverwalteten Richtlinien in Ihrem Konto.

   1. Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

1. Wählen Sie **Weiter** aus.

1. Geben Sie einen Rollennamen oder ein Rollennamen-Suffix ein, mit dem der Zweck dieser Rolle einfach zu erkennen ist.
**Wichtig**  
Beachten Sie beim Benennen einer Rolle Folgendes:  
Rollennamen müssen innerhalb Ihres AWS-Konto Unternehmens eindeutig sein und können nicht von Fall zu Fall eindeutig sein.  
Erstellen Sie beispielsweise keine Rollen mit dem Namen **PRODROLE** und **prodrole**. Wenn ein Rollenname in einer Richtlinie oder als Teil einer ARN verwendet wird, muss die Groß-/Kleinschreibung des Rollennamens beachtet werden. Wenn ein Rollenname den Kunden jedoch in der Konsole angezeigt wird, z. B. während des Anmeldevorgangs, wird die Groß-/Kleinschreibung des Rollennamens nicht beachtet.
Sie können den Namen der Rolle nach ihrer Erstellung nicht mehr bearbeiten, da andere Entitäten möglicherweise auf die Rolle verweisen.

1. (Optional) Geben Sie unter **Beschreibung** eine Beschreibung für die neue Rolle ein.

1. (Optional) Um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten, wählen Sie in den Abschnitten **Schritt 1: Vertrauenswürdige Entitäten auswählen** oder **Schritt 2: Berechtigungen hinzufügen** die Option **Bearbeiten**.

1. (Optional) Fügen Sie Tags als Schlüssel-Wert-Paare hinzu, um die Identifizierung, Organisation oder Suche nach der Rolle zu vereinfachen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter [Tags für AWS Identity and Access Management Ressourcen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) im *IAM-Benutzerhandbuch*.

1. Prüfen Sie die Rolle und klicken Sie dann auf **Create Role (Rolle erstellen)**.

## Geben Sie die AWS Distribution für OpenTelemetry Sidecar in Ihrer Aufgabendefinition an
<a name="application-metrics-cloudwatch-containerdefinitions"></a>

Die Amazon ECS-Konsole vereinfacht die Erstellung des Containers AWS Distro for OpenTelemetry Sidecar mithilfe der Option **Metrikerfassung verwenden**. Weitere Informationen finden Sie unter [Erstellen einer Amazon-ECS-Aufgabendefinition mit der Konsole](create-task-definition.md).

Wenn Sie die Amazon ECS-Konsole nicht verwenden, können Sie den Container AWS Distro for OpenTelemetry Sidecar manuell zu Ihrer Aufgabendefinition hinzufügen. Das folgende Beispiel für eine Aufgabendefinition zeigt die Container-Definition für das Hinzufügen der AWS Integration Distro for OpenTelemetry Sidecar for 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"
}
```

# Exportieren von Anwendungsmetriken an Amazon Managed Service for Prometheus
<a name="application-metrics-prometheus"></a>

Amazon ECS unterstützt den Export Ihrer CPU-, Speicher-, Netzwerk- und Speichermetriken auf Aufgabenebene sowie Ihrer benutzerdefinierten Anwendungsmetriken an Amazon Managed Service for Prometheus. Dazu fügen Sie Ihrer Aufgabendefinition den Container AWS Distro for OpenTelemetry Sidecar hinzu. Die Amazon-ECS-Konsole vereinfacht diesen Prozess, indem sie beim Erstellen einer neuen Aufgabendefinition die Option **Metrikerfassung verwenden** hinzufügt. Weitere Informationen finden Sie unter [Erstellen einer Amazon-ECS-Aufgabendefinition mit der Konsole](create-task-definition.md).

Die Metriken werden an Amazon Managed Service for Prometheus exportiert und können über das Dashboard von Amazon Managed Grafana eingesehen werden. Ihre Anwendung muss entweder mit Prometheus-Bibliotheken oder mit dem SDK instrumentiert sein. OpenTelemetry Weitere Informationen zur Instrumentierung Ihrer Anwendung mit dem OpenTelemetry SDK finden Sie unter [Introduction to AWS Distro for OpenTelemetry in der Dokumentation von Distro](https://aws-otel.github.io/docs/introduction). AWS OpenTelemetry 

Bei Verwendung der Prometheus-Bibliotheken muss Ihre Anwendung einen `/metrics`-Endpunkt bereitstellen, der zum Scraping der Metrikdaten verwendet wird. Weitere Informationen zum Instrumentieren Ihrer Anwendung mit Prometheus-Bibliotheken finden Sie unter [Prometheus-Clientbibliotheken](https://prometheus.io/docs/instrumenting/clientlibs/) in der Prometheus-Dokumentation.

## Überlegungen
<a name="application-metrics-prometheus-considerations"></a>

Folgendes sollte beachtet werden, wenn Sie die Amazon ECS on Fargate-Integration mit AWS Distro verwenden, OpenTelemetry um Anwendungsmetriken an Amazon Managed Service for Prometheus zu senden.
+ Die AWS Distribution for OpenTelemetry Integration wird für Amazon ECS-Workloads, die auf Fargate gehostet werden, und Amazon ECS-Workloads, die auf Amazon EC2 EC2-Instances gehostet werden, unterstützt. Externe Instances werden derzeit nicht unterstützt.
+ Standardmäßig OpenTelemetry beinhaltet AWS Distro for alle verfügbaren Dimensionen auf Aufgabenebene für Ihre Anwendungsmetriken beim Export nach Amazon Managed Service for Prometheus. Sie können Ihre Anwendung auch so instrumentieren, dass zusätzliche Dimensionen hinzugefügt werden. Weitere Informationen finden Sie in der Dokumentation unter [Erste Schritte mit Prometheus Remote Write Exporter for Amazon Managed Service for Prometheus in der Distribution](https://aws-otel.github.io/docs/getting-started/prometheus-remote-write-exporter). AWS OpenTelemetry 

## Erforderliche IAM-Berechtigungen für AWS Distro für die OpenTelemetry Integration mit Amazon Managed Service for Prometheus
<a name="application-metrics-prometheus-iam"></a>

Die Amazon ECS-Integration mit Amazon Managed Service for Prometheus unter Verwendung von AWS Distro for OpenTelemetry Sidecar erfordert, dass Sie eine Task-IAM-Rolle erstellen und die Rolle in Ihrer Aufgabendefinition angeben. Diese Aufgaben-IAM-Rolle muss manuell erstellt werden, bevor Sie die Aufgabendefinition anmelden. Weitere Informationen zum Erstellen einer Aufgabenrolle finden Sie unter [Aufgaben-IAM-Rolle für Amazon ECS](task-iam-roles.md).

Wir empfehlen, dass AWS Distro for OpenTelemetry Sidecar auch so konfiguriert wird, dass Container-Protokolle an Logs weitergeleitet werden. Dazu muss auch eine IAM-Rolle für die Aufgabenausführung erstellt und in Ihrer Aufgabendefinition angegeben werden. CloudWatch Die Amazon-ECS-Konsole kümmert sich in Ihrem Namen um die IAM-Aufgabenausführungsrolle, die Aufgaben-IAM-Rolle muss jedoch manuell erstellt werden. Weitere Informationen zum Erstellen der IAM-Aufgabenausführungsrolle finden Sie unter [IAM-Rolle für die Amazon-ECS-Aufgabenausführung](task_execution_IAM_role.md).

**Wichtig**  
Wenn Sie auch Anwendungs-Trace-Daten mithilfe von AWS Distro für die OpenTelemetry Integration sammeln, stellen Sie sicher, dass Ihre Aufgaben-IAM-Rolle auch die für diese Integration erforderlichen Berechtigungen enthält. Weitere Informationen finden Sie unter [Identifizieren Sie Optimierungsmöglichkeiten in Amazon ECS mithilfe von Ablaufverfolgungsdaten von Anwendung](trace-data.md).

Die folgenden Berechtigungen sind für AWS Distro für die OpenTelemetry Integration mit Amazon Managed Service for Prometheus erforderlich:
+ Protokolle: PutLogEvents
+ Protokolle: CreateLogGroup
+ Protokolle: CreateLogStream
+ Protokolle: DescribeLogStreams
+ Protokolle: DescribeLogGroups
+ Cloudwatch: PutMetricData

## Geben Sie die AWS Distribution für OpenTelemetry Sidecar in Ihrer Aufgabendefinition an
<a name="application-metrics-prometheus-containerdefinitions"></a>

Die Amazon ECS-Konsole vereinfacht die Erstellung des Containers AWS Distro for OpenTelemetry Sidecar mithilfe der Option **Metrikerfassung verwenden**. Weitere Informationen finden Sie unter [Erstellen einer Amazon-ECS-Aufgabendefinition mit der Konsole](create-task-definition.md).

Wenn Sie die Amazon ECS-Konsole nicht verwenden, können Sie den Container AWS Distro for OpenTelemetry Sidecar manuell zu Ihrer Aufgabendefinition hinzufügen. Das folgende Beispiel für eine Aufgabendefinition zeigt die Container-Definition für das Hinzufügen der Integration AWS Distro for OpenTelemetry Sidecar für 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"
}
```