Exemple d'application App Mesh pour les clusters Amazon ECS
Pour collecter des métriques à partir d'un exemple d'application Prometheus pour Amazon ECS, vous devez exécuter Container Insights dans le cluster. Pour plus d'informations sur l'installation de Container Insights, consultez Configuration de Container Insights sur Amazon ECS.
Tout d'abord, suivez cette démonstration
Ensuite, procédez comme suit pour installer l'agent CloudWatch avec la surveillance Prometheus sur le même cluster Amazon ECS sur lequel vous avez installé l'application de couleur. Les étapes décrites dans cette section installent l'agent CloudWatch en mode réseau pont.
Les variables d'environnement ENVIRONMENT_NAME,AWS_PROFILE, et AWS_DEFAULT_REGION que vous définissez dans la démonstration seront également utilisées dans les étapes suivantes.
Pour installer l'agent CloudWatch avec surveillance Prometheus pour les tests
-
Téléchargez le modèle CloudFormation en saisissant la commande suivante.
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 -
Définissez le mode réseau en saisissant les commandes suivantes.
export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME} export ECS_NETWORK_MODE=bridge -
Créez la pile CloudFormation en saisissant les commandes suivantes.
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} -
(En option) Une fois la pile CloudFormation créée, un message
CREATE_COMPLETEs'affiche. Si vous souhaitez vérifier l'état avant d'afficher ce message, saisissez la commande suivante.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}
Dépannage
Les étapes de la démonstration utilisent jq pour analyser le résultat de sortie de la AWS CLI. Pour plus d'informations sur l'installation de jq, consultez jq
$ aws configure
Lorsque la réponse arrive à Default output format, saisissez json.
Désinstallation de l'agent CloudWatch avec la surveillance Prometheus
Une fois que vous avez terminé le test, saisissez la commande suivante pour désinstaller l'agent CloudWatch en supprimant la pile CloudFormation.
aws cloudformation delete-stack \ --stack-name CWAgent-Prometheus-ECS-${ECS_CLUSTER_NAME}-EC2-${ECS_NETWORK_MODE} \ --region ${AWS_DEFAULT_REGION} \ --profile ${AWS_PROFILE}