Carga de trabajo de App Mesh de muestra para clústeres de Amazon ECS - Amazon CloudWatch

Carga de trabajo de App Mesh de muestra para clústeres de Amazon ECS

Para recopilar métricas de una carga de trabajo de Prometheus Amazon ECS de muestra para Amazon ECS, debe ejecutar Información de contenedores en el clúster. Para obtener más información sobre la instalación de Información de contenedores, consulte Configuración de Información de contenedores en Amazon ECS.

En primer lugar, siga esta walkthrough (explicación) para implementar la aplicación de color de muestra en el clúster de Amazon ECS. Una vez finalizado, tendrá las métricas de Prometheus de App Mesh expuestas en el puerto 9901.

A continuación, siga estos pasos para instalar el agente de CloudWatch con supervisión de Prometheus en el mismo clúster de Amazon ECS en el que instaló la aplicación de color. Los pasos descritos en esta sección instalan el agente de CloudWatch en modo de redes puente.

Las variables de entorno ENVIRONMENT_NAME, AWS_PROFILE y AWS_DEFAULT_REGION que establezca en la explicación también se utilizarán en los siguientes pasos.

Para instalar el agente de CloudWatch con supervisión de Prometheus para las pruebas
  1. Descargue la plantilla de AWS CloudFormation con el siguiente comando.

    curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/ecs-task-definition-templates/deployment-mode/replica-service/cwagent-prometheus/cloudformation-quickstart/cwagent-ecs-prometheus-metric-for-bridge-host.yaml
  2. Configure el modo de red con los siguientes comandos.

    export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME} export ECS_NETWORK_MODE=bridge
  3. Cree la pila de AWS CloudFormation con los siguientes comandos.

    aws cloudformation create-stack --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --template-body file://cwagent-ecs-prometheus-metric-for-bridge-host.yaml \ --parameters ParameterKey=ECSClusterName,ParameterValue=${ECS_CLUSTER_NAME} \ ParameterKey=CreateIAMRoles,ParameterValue=True \ ParameterKey=ECSNetworkMode,ParameterValue=${ECS_NETWORK_MODE} \ ParameterKey=TaskRoleName,ParameterValue=CWAgent-Prometheus-TaskRole-${ECS_CLUSTER_NAME} \ ParameterKey=ExecutionRoleName,ParameterValue=CWAgent-Prometheus-ExecutionRole-${ECS_CLUSTER_NAME} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}
  4. (Opcional) Cuando se crea la pila de AWS CloudFormation, se observa un mensaje de CREATE_COMPLETE. Si desea verificar el estado antes de ver el mensaje, ingrese el siguiente comando.

    aws cloudformation describe-stacks \ --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --query 'Stacks[0].StackStatus' \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}

Solución de problemas

En los pasos de la explicación se utiliza jq para analizar el resultado de salida deAWS CLI. Para obtener más información sobre la instalación de jq, consulte jq. Utilice el siguiente comando para establecer el formato de salida predeterminado de AWS CLI a formato JSON para que jq pueda analizarlo de forma correcta.

$ aws configure

Cuando la respuesta llegue a Default output format, ingrese json.

Desinstale el agente de CloudWatch con supervisión de Prometheus

Cuando termine de realizar la prueba, ingrese el siguiente comando para desinstalar el agente de CloudWatch mediante la eliminación de la pila de AWS CloudFormation.

aws cloudformation delete-stack \ --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}