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.
Exportieren von Anwendungsmetriken nach Amazon CloudWatch
Amazon ECS auf Fargate unterstützt den Export Ihrer benutzerdefinierten Anwendungsmetriken nach Amazon CloudWatch als benutzerdefinierte Metriken. Dazu wird Ihrer Aufgabendefinition der Container für AWS Distro for OpenTelemetry Sidecar hinzugefügt. Die ECS Amazon-Konsole vereinfacht diesen Prozess, indem sie beim Erstellen einer neuen Aufgabendefinition die Option Use metric collection (Metrikerfassung verwenden) hinzufügt. Weitere Informationen finden Sie unter Erstellen einer ECS Amazon-Aufgabendefinition mit der Konsole.
Die Anwendungsmetriken werden mit dem Protokollgruppennamen nach CloudWatch Protokolle exportiert /aws/ecs/application/metrics
und die Metriken können im ECS/AWSOTel/Application
Namespace angezeigt werden. Ihre Bewerbung muss mit instrumentiert sein. OpenTelemetry SDK Weitere Informationen finden Sie unter Einführung in AWS Distro OpenTelemetry in der Dokumentation zu
Überlegungen
Folgendes sollte beachtet werden, wenn die Amazon ECS on Fargate-Integration mit AWS Distro verwendet wird, um Anwendungsmetriken an Amazon OpenTelemetry 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 ECS Amazon-Cluster-Konfiguration aktivieren. Weitere Informationen finden Sie unter Überwachen Sie ECS Amazon-Container mit Container Insights.
-
Die OpenTelemetry Integration wird für AWS Amazon-Workloads unterstützt, die auf Fargate gehostet werden, und ECS Amazon-Workloads, die auf ECS Amazon-Instances gehostet werden. EC2 Externe Instances werden derzeit nicht unterstützt.
-
CloudWatch unterstützt maximal 30 Dimensionen pro Metrik. Standardmäßig bezieht Amazon ECS standardmäßig die
TaskDefinitionRevision
DimensionenTaskARN
,,ClusterARN
LaunchType
TaskDefinitionFamily
, und in die Metriken ein. 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 imECS/AWSOTel/Application
CloudWatch Metrik-Namespace aufscheinen, 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 OpenTelemetryin der Dokumentation zu AWS Distro. OpenTelemetry
Erforderliche IAM Berechtigungen für AWS Distro für die OpenTelemetry Integration mit Amazon CloudWatch
Die ECS Amazon-Integration mit AWS Distro for OpenTelemetry erfordert, dass Sie eine IAM Aufgabenrolle erstellen und die Rolle in Ihrer Aufgabendefinition angeben. Wir empfehlen, dass das AWS Distro for OpenTelemetry Sidecar auch so konfiguriert wird, dass Containerprotokolle an CloudWatch Protokolle weitergeleitet werden, was die Erstellung und Angabe einer IAM Aufgabenausführungsrolle in Ihrer Aufgabendefinition erfordert. Die ECS Amazon-Konsole kümmert sich in Ihrem Namen um die IAM Aufgabenausführungsrolle, die IAM Aufgabenrolle muss jedoch manuell erstellt und Ihrer Aufgabendefinition hinzugefügt werden. Weitere Informationen zur IAM Aufgabenausführungsrolle finden Sie unterRolle bei der Ausführung von ECS IAM Amazon-Aufgaben.
Wichtig
Wenn Sie auch Anwendungs-Nachverfolgungsdaten mithilfe der AWS OpenTelemetry Integration erfassen, stellen Sie sicher, dass Ihre IAM Aufgabenrolle auch die für diese Integration erforderlichen Berechtigungen enthält. Weitere Informationen finden Sie unter Identifizieren Sie mithilfe von Anwendungs-Trace-Daten ECS Optimierungsmöglichkeiten bei Amazon.
Wenn Ihre Anwendung zusätzliche Berechtigungen benötigt, sollten Sie diese dieser Richtlinie hinzufügen. Jede Aufgabendefinition darf nur eine IAM Aufgabenrolle 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 (IAMKonsole)
Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/
. -
Klicken Sie im Navigationsbereich der IAM -Konsole auf Roles (Rollen) und wählen Sie dann Create role (Rolle erstellen) aus.
-
Wählen Sie für Vertrauenswürdige Entität die Option AWS-Service aus.
-
Wählen Sie für Service oder Anwendungsfall die Option Elastic Container Service und dann den Anwendungsfall Elastic Container Service Task aus.
-
Wählen Sie Weiter.
-
Suchen Sie im Bereich Berechtigungen hinzufügen nach der Richtlinie AWSDistroOpenTelemetryPolicyForXrayund wählen Sie sie dann aus.
-
(Optional) Legen Sie eine Berechtigungsgrenze fest. Dies ist ein erweitertes Feature, das für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen.
-
Öffnen Sie den Abschnitt Set (Berechtigungsgrenze festlegen) und wählen Sie dann Use a permissions boundary to control the maximum role (Eine Berechtigungsgrenze verwenden, um die maximalen Rollenberechtigungen zu steuern).
IAMenthält eine Liste der von AWS verwalteten und vom Kunden verwaltete Richtlinien in Ihrem Konto.
Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.
-
-
Wählen Sie Weiter.
-
Geben Sie unter Rollenname oder ein Rollennamen-Suffix ein, mit dem der der Zweck der Rolle einfach zu erkennen ist.
Wichtig
Beachten Sie beim Benennen einer Rolle Folgendes:
-
Rollennamen müssen innerhalb Ihres AWS-Konto-Kontos eindeutig sein und können nicht von Fall zu Fall eindeutig sein.
Erstellen Sie beispielsweise keine Rollen, die
PRODROLE
sowohl als auch benannt sindprodrole
. Wenn ein Rollenname verwendet wird, oder als Teil einerARN, wird die Groß-/Kleinschreibung des Rollennamens beachtet. Wenn Kunden in der Konsole ein Rollenname angezeigt wird, beispielsweise während des Anmeldevorgangs, wird die Groß-/Kleinschreibung des Rollennamens nicht beachtet. -
Sie können den Namen der Rolle nach der Erstellung nicht mehr bearbeiten, da möglicherweise andere Entitäten auf die Rolle verweisen.
-
-
(Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung für die Rolle ein.
-
(Optional) Um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten, wählen Sie in den Abschnitten Step 1: Select trusted entities (Schritt 1: Vertrauenswürdige Entitäten auswählen) oder Step 2: Add permissions (Schritt 2: Berechtigungen hinzufügen) die Option Edit (Bearbeiten) aus.
-
(Optional) Fügen Sie Tags als Schlüssel-Wert-Paare hinzu, um die Rolle zu identifizieren, zu organisieren oder nach ihr zu suchen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter Tags für AWS Identity and Access Management Ressourcen im IAMBenutzerhandbuch.
-
Prüfen Sie die Rolle und klicken Sie dann auf Create Role (Rolle erstellen).
Angeben des Sidecar für AWS Distro for OpenTelemetry Sidecar in Ihrer Aufgabendefinition
Die ECS Amazon-Konsole vereinfacht das Erlebnis beim Erstellen des Containers für AWS Distro for OpenTelemetry sidecar durch die Verwendung der Option Use metric collection (Metrik-Erfassung verwenden). Weitere Informationen finden Sie unter Erstellen einer ECS Amazon-Aufgabendefinition mit der Konsole.
Wenn Sie die ECS Amazon-Konsole nicht verwenden, können Sie den Container für AWS Distro for OpenTelemetry Sidecar manuell zu Ihrer Aufgabendefinition hinzufügen. Das folgende Beispiel einer Aufgabendefinition zeigt die Containerdefinition zum Hinzufügen der AWS Distro for OpenTelemetry Sidecar for Amazon-Integration. 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" }