Carico di lavoro App Mesh di esempio per cluster Amazon ECS - Amazon CloudWatch

Carico di lavoro App Mesh di esempio per cluster Amazon ECS

Per raccogliere parametri da un carico di lavoro Prometheus di esempio per Amazon ECS, devi eseguire Container Insights nel cluster. Per informazioni sull'installazione di Container Insights, consulta Configurazione di Container Insights su Amazon ECS.

Per prima cosa, segui questa spiegazione passo per passo per implementare l'app a colori di esempio sul cluster Amazon ECS. Dopo aver terminato, avrai i parametri di App Mesh Prometheus esposti sulla porta 9901.

Successivamente, procedi come segue per installare l'agente CloudWatch con il monitoraggio Prometheus sullo stesso cluster Amazon ECS in cui è stata installata l'app a colori. La procedura descritta in questa sezione consente di installare l'agente CloudWatch in modalità di rete bridge.

Le variabili di ambiente ENVIRONMENT_NAME, AWS_PROFILE e AWS_DEFAULT_REGION impostate nella spiegazione passo per passo verranno utilizzate anche nei passaggi seguenti.

Per installlare l'agente CloudWatch con monitoraggio Prometheus per il test
  1. Scarica il modello CloudFormation inserendo il seguente 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. Imposta la modalità di rete immettendo i seguenti comandi.

    export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME} export ECS_NETWORK_MODE=bridge
  3. Crea lo stack CloudFormation inserendo i seguenti comandi.

    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. (Facoltativo) Quando viene creato lo stack CloudFormation, viene visualizzato il messaggio CREATE_COMPLETE. Per verificare lo stato prima di visualizzare il messaggio, inserisci il seguente 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}

Risoluzione dei problemi

I passaggi della spiegazione passo per passo usano jq per analizzare il risultato di output della AWS CLI. Per ulteriori informazioni sull'installazione di jq, consulta jq. Usa il seguente comando per impostare il formato di output predefinito della tua AWS CLI su JSON in modo che jq possa analizzarlo correttamente.

$ aws configure

Quando la risposta arriva a Default output format, inserisci json.

Disinstallazione dell'agente CloudWatch con il monitoraggio Prometheus

Al termine del test, inserisci il comando seguente per disinstallare l'agente CloudWatch eliminando il lo stack CloudFormation.

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