Implementación de AWS Distro para OpenTelemetry a fin de recopilar métricas de nivel de instancia EC2 en clústeres de Amazon ECS
Siga los pasos de esta sección para usar AWS Distro para OpenTelemetry a fin de recopilar métricas de nivel de instancia EC2 en un clúster de Amazon ECS. Para obtener más información acerca de AWS Distro para OpenTelemetry, consulte AWS Distro para OpenTelemetry
En estos pasos se presupone que ya tiene un clúster que ejecuta Amazon ECS. Este clúster debe implementarse con el tipo de lanzamiento EC2. Para obtener más información acerca del uso de AWS Distro para OpenTelemetry con Amazon ECS y acerca de la configuración de un clúster de Amazon ECS para este fin, consulte Configuración del recopilador de AWS Distro para OpenTelemetry en las métricas de nivel de instancia EC2 de Amazon Elastic Container Service para ECS EC2
Configuración rápida mediante AWS CloudFormation
Descargue el archivo de plantilla de AWS CloudFormation para instalar el recopilador AWS Distro para OpenTelemetry para Amazon ECS en EC2. Ejecute el siguiente comando curl.
curl -O https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/ecs/aws-otel-ec2-instance-metrics-daemon-deployment-cfn.yaml
Después de descargar el archivo de plantilla, ábralo y reemplace PATH_TO_CloudFormation_TEMPLATE
con la ruta donde guardó el archivo de plantilla. A continuación, exporte los siguientes parámetros y ejecute el comando AWS CloudFormation, tal y como se muestra en el siguiente comando.
-
Cluster_Name: el nombre del clúster de Amazon ECS
-
AWS_Region: la Región a la que se enviarán los datos
-
PATH_TO_CloudFormation_TEMPLATE: la ruta en la que guardó el archivo de plantilla de AWS CloudFormation.
-
comando: para habilitar el recopilador de AWS Distro para OpenTelemetry para que recopile las métricas de nivel de instancia para Amazon ECS en Amazon EC2, debe especificar
--config=/etc/ecs/otel-instance-metrics-config.yaml
para este parámetro.
ClusterName=
Cluster_Name
Region=AWS_Region
command=--config=/etc/ecs/otel-instance-metrics-config.yaml aws cloudformation create-stack --stack-name AOCECS-${ClusterName}-${Region} \ --template-body file://PATH_TO_CloudFormation_TEMPLATE
\ --parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \ ParameterKey=CreateIAMRoles,ParameterValue=True \ ParameterKey=command,ParameterValue=${command} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${Region}
Después de ejecutar este comando, utilice la consola de Amazon ECS para ver si la tarea se está ejecutando.
Solución de problemas de la configuración rápida
Para comprobar el estado de la pila de AWS CloudFormation, escriba el siguiente comando.
ClusterName=
cluster-name
Region=cluster-region
aws cloudformation describe-stack --stack-name AOCECS-$ClusterName-$Region --region $Region
Si ve que el valor de StackStatus
es distinto de CREATE_COMPLETE
o CREATE_IN_PROGRESS
, verifique los eventos de pila para encontrar el error. Escriba el siguiente comando.
ClusterName=
cluster-name
Region=cluster-region
aws cloudformation describe-stack-events --stack-name AOCECS-$ClusterName-$Region --region $Region
Para verificar el estado del servicio del daemon AOCECS
, ingrese el siguiente comando. En la salida, debería ver que el runningCount
es igual al desiredCount
en la sección de implementación. Si no es igual, verifique la sección de errores en la salida.
ClusterName=
cluster-name
Region=cluster-region
aws ecs describe-services --services AOCECS-daemon-service --cluster $ClusterName --region $Region
También puede utilizar la consola de CloudWatch Logs para verificar el registro del agente. Busque el grupo de registro /aws/ecs/containerinsights/{ClusterName}/performance.
Configuración manual y personalizada
Siga los pasos de esta sección para implementar manualmente AWS Distro para OpenTelemetry a fin de recopilar métricas de nivel de instancia de los clústeres de Amazon ECS alojados en instancias de Amazon EC2.
Paso 1: Políticas y roles necesarios
Se requieren dos roles de IAM. Debe crearlos si aún no existen. Para obtener más información sobre los roles, consulte Create IAM policy
Paso 2: Cree una definición de tarea
Cree una definición de tarea y úsela para lanzar AWS Distro para OpenTelemetry como servicio del daemon.
Si desea utilizar la plantilla de definición de tareas para la creación de uno de esos recursos, siga las instrucciones que aparecen en Crear una definición de tarea de EC2 de ECS para una instancia de EC2 con el recopilador de AWS OTel
Si desea utilizar la consola de Amazon ECS para crear la definición de tarea, siga las instrucciones que aparecen en Instalar el recopilador de AWS OTel mediante la creación de una definición de tarea a través de la consola de AWS para métricas de instancias de EC2 de Amazon ECS
Paso 3: Lance el servicio del daemon
Para lanzar AWS Distro para OpenTelemetry como un servicio daemon, siga las instrucciones que se indican en Ejecutar la tarea en Amazon Elastic Container Service (Amazon ECS) con el servicio del daemon
(Opcional) Configuración avanzada
Opcionalmente, puede utilizar SSM para especificar otras opciones de configuración para AWS Distro para OpenTelemetry en los clústeres de Amazon ECS alojados en instancias de Amazon EC2. Para obtener más información sobre la creación de un archivo de configuración, consulte Custom OpenTelemetry Configuration