Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Exportación de métricas de aplicaciones a Amazon Managed Service for Prometheus
Amazon ECS admite la exportación de las métricas de CPU, memoria, red y almacenamiento de nivel de tarea y las métricas de aplicaciones personalizadas a Amazon Managed Service for Prometheus. Esto se hace agregando el contenedor deAWS Distro forOpenTelemetry sidecar según su definición de tarea. La nueva experiencia de consola de Amazon ECS simplifica este proceso agregando la opción Use metric collection (Utilizar colección de métricas) al crear una nueva definición de tarea. Para obtener más información, consulte Creación de una definición de tareas con la consola.
Las métricas se exportan a Amazon Managed Service for Prometheus y se pueden ver mediante el panel de control de Amazon Managed Grafana. La aplicación debe estar instrumentada con bibliotecas Prometheus o con elOpenTelemetry SDK. Para obtener más información acerca de cómo instrumentar la aplicación con elOpenTelemetry SDK, consulte Introducción aAWS Distro paraOpenTelemetry
Al utilizar las bibliotecas de Prometheus, la aplicación debe exponer un punto de conexión /metrics
que se utiliza para extraer los datos de métricas. Para obtener más información sobre cómo instrumentar la aplicación con las bibliotecas Prometheus, consulte Bibliotecas cliente de Prometheus
Consideraciones
Debe tenerse en cuenta lo siguiente cuando utiliza Amazon ECS en la integración de Fargate conAWS DistroOpenTelemetry para enviar métricas de aplicaciones a Amazon Managed Service para Prometheus.
-
LaAWS Distro para laOpenTelemetry integración de se admite para cargas de trabajo de Amazon ECS alojadas en Fargate y cargas de trabajo de Amazon ECS alojadas en instancias de Amazon EC2. No se admiten instancias externas en este momento.
-
Por defecto,AWS Distro forOpenTelemetry incluye todas las dimensiones de nivel de tareas disponibles para las métricas de la aplicación al exportar a Amazon Managed Service para Prometheus. También puede instrumentar su aplicación para agregar dimensiones adicionales. Para obtener más información, consulte Introducción a Prometheus Remote Write Exporter para Amazon Managed Service paraAWS Prometheus
para obtenerOpenTelemetry documentación.
Permisos de IAM necesarios paraOpenTelemetry la integraciónAWS Distro for Amazon Managed Service for Prometheus
La integración de Amazon ECS con Amazon Managed Service para Prometheus mediante laAWS Distro paraOpenTelemetry sidecar requiere crear un rol de IAM para tareas y especificar el rol en la definición de tareas. Este rol de IAM de tarea debe crearse manualmente siguiendo los pasos que se indican a continuación antes de registrar la definición de tarea.
Le recomendamos que configure también laAWS DistroOpenTelemetry para enrutar los registros de contenedores a Logs, lo que requiere crear y especificar un rol de IAM de ejecución de tareas también en su definición de tarea.CloudWatch La nueva experiencia de consola de Amazon ECS se encarga del rol de IAM de ejecución de tareas en su nombre, pero el rol de IAM de tarea debe crearse manualmente. Para obtener más información sobre la creación de un rol de IAM para la ejecución de tareas, consulte Rol de IAM de ejecución de tareas de Amazon ECS.
importante
Si también recopila datos de seguimiento de aplicaciones mediante la integración deAWS Distro para laOpenTelemetry integración de, asegúrese de que el rol de IAM de la tarea también contenga los permisos necesarios para esa integración. Para obtener más información, consulte Recopilar datos de rastreo de aplicaciones.
Para crear un rol de IAM de tarea paraAWS Distro paraOpenTelemetry la integración con Amazon Managed Service for Prometheus
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, elija Roles, Create role.
-
En la sección Select type of trusted entity (Seleccionar tipo de entidad de confianza, elija la pestaña AWS service (Servicio de ) y, a continuación, Elastic Container Service.
-
En Select your use case (Seleccione su caso de uso), elija Elastic Container Service Task (Tarea de servicio de contenedor elástico) y, a continuación, seleccione Next: Permissions (Siguiente: Permisos).
-
En la sección Adjuntar política de permisos, busque la AmazonPrometheusRemoteWriteAccesspolítica, selecciónela y, a continuación, elija Siguiente: Etiquetas.
-
En Add tags (optional) (Agregar etiquetas [opcional]), especifique las etiquetas personalizadas que desee asociar a la política y, a continuación, elija Next: Review (Siguiente: Revisar).
-
En Role Name (Nombre de rol), especifique
AmazonECS_OpenTelemetryPrometheusRole
y elija Create role (Crear rol).
Especificación delAWS Distro forOpenTelemetry sidecar en la definición de tarea
La nueva experiencia de consola Amazon ECS simplifica la experiencia de crear el contenedorAWS Distro paraOpenTelemetry sidecar mediante la opción Usar recopilación de métricas. Para obtener más información, consulte Creación de una definición de tareas con la consola.
Si no está utilizando la consola de Amazon ECS, puede agregar el contenedor deAWS Distro paraOpenTelemetry sidecar a la definición de tarea manualmente. En el siguiente ejemplo de definición de tareas se muestra la definición de contenedor para agregar la integración deAWS Distro paraOpenTelemetry sidecar para la integración de 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.29.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" }