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 an Amazon Managed Service for Prometheus
Amazon ECS unterstützt den Export Ihrer CPU-, Speicher-, Netzwerk- und Speichermetriken auf Aufgabenebene sowie Ihrer benutzerdefinierten Anwendungsmetriken an Amazon Managed Service for Prometheus. Dies erfolgt durch Hinzufügen von AWS Distro für OpenTelemetry Sidecar-Container zu Ihrer Aufgabendefinition. 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.
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 den Prometheus-Bibliotheken oder mit den OpenTelemetry SDK. Weitere Informationen zur Instrumentierung Ihrer Anwendung mit dem OpenTelemetry SDK finden Sie unter Einführung in AWS Distro für 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
Überlegungen
Folgendes sollte bei der Verwendung der Amazon ECS auf Fargate-Integration mit berücksichtigt werden AWS Distribution für OpenTelemetry um Anwendungsmetriken an Amazon Managed Service für Prometheus zu senden.
-
Das AWS Distro für OpenTelemetry Die Integration wird für Amazon ECS-Workloads unterstützt, die auf Fargate gehostet werden, und Amazon ECS-Workloads, die auf Amazon EC2-Instances gehostet werden. Externe Instances werden derzeit nicht unterstützt.
-
In der Standardeinstellung AWS Distro für OpenTelemetry beinhaltet 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 unter Erste Schritte mit Prometheus Remote Write Exporter für Amazon Managed Service für Prometheus
in der AWS Distro für OpenTelemetry Dokumentation.
Erforderliche IAM-Berechtigungen für AWS Distribution für OpenTelemetry Integration mit Amazon Managed Service für Prometheus
Die Amazon ECS-Integration mit Amazon Managed Service für Prometheus unter Verwendung der AWS Distro für 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.
Wir empfehlen, dass AWS Distro für OpenTelemetry Sidecar kann auch so konfiguriert werden, dass Container-Logs weitergeleitet werden CloudWatch Protokolle, für die eine IAM-Rolle zur Aufgabenausführung erforderlich ist, müssen ebenfalls erstellt und in Ihrer Aufgabendefinition angegeben werden. 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.
Wichtig
Wenn Sie auch Anwendungsablaufverfolgungsdaten mithilfe von sammeln AWS Distro für OpenTelemetry Integration, stellen Sie sicher, dass Ihre Task-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.
Die folgenden Berechtigungen sind erforderlich für AWS Distribution für OpenTelemetry Integration mit Amazon Managed Service für Prometheus:
Protokolle:PutLogEvents
Protokolle:CreateLogGroup
Protokolle:CreateLogStream
Protokolle:DescribeLogStreams
Protokolle:DescribeLogGroups
Cloudwatch:PutMetricData
Angabe der AWS Distribution für OpenTelemetry Beiwagen in Ihrer Aufgabendefinition
Die Amazon ECS-Konsole vereinfacht die Erstellung der AWS Distro für OpenTelemetry Beiwagen-Container mit dem Verwenden Sie die Metriksammlung Option. Weitere Informationen finden Sie unter Erstellen einer Amazon-ECS-Aufgabendefinition mit der Konsole.
Wenn Sie die Amazon ECS-Konsole nicht verwenden, können Sie die hinzufügen AWS Distro für OpenTelemetry Sidecar-Container manuell zu Ihrer Aufgabendefinition hinzufügen. Das folgende Beispiel für eine Aufgabendefinition zeigt die Container-Definition zum Hinzufügen von AWS Distribution für OpenTelemetry Beiwagen für Amazon Managed Service für die Prometheus-Integration.
{ "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" }