Beispiel für App-Mesh-Workload für Amazon-ECS-Cluster - Amazon CloudWatch

Beispiel für App-Mesh-Workload für Amazon-ECS-Cluster

Um Metriken aus einem Prometheus-Beispiel-Workload für Amazon ECS zu erfassen, müssen Sie Container Insights im Cluster ausführen. Informationen zur Installation von Container Insights finden Sie unter Einrichten von Container Insights für Amazon ECS.

Befolgen Sie zunächst dieses Walkthrough, um die Beispielfarb-App auf Ihrem Amazon-ECS-Cluster bereitzustellen. Nachdem Sie fertig sind, werden App Mesh Prometheus-Metriken auf Port 9901 verfügbar gemacht.

Führen Sie als Nächstes diese Schritte aus, um den CloudWatch-Agenten mit Prometheus-Überwachung auf demselben Amazon-ECS-Cluster zu installieren, auf dem Sie die Farb-App installiert haben. Die Schritte in diesem Abschnitt installieren Sie den CloudWatch-Agent im Bridge-Netzwerkmodus.

Die Umgebungsvariablen ENVIRONMENT_NAME, AWS_PROFILE und AWS_DEFAULT_REGION, die Sie im Walkthrough festgelegt haben, werden auch in den folgenden Schritten verwendet.

So installieren Sie den CloudWatch-Agenten mit Prometheus-Überwachung zum Testen
  1. Laden Sie die CloudFormation-Vorlage herunter, indem Sie einen der folgenden Befehle eingeben.

    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. Legen Sie den Netzwerkmodus fest, indem Sie die folgenden Befehle eingeben.

    export ECS_CLUSTER_NAME=${ENVIRONMENT_NAME} export ECS_NETWORK_MODE=bridge
  3. Erstellen Sie den CloudFormation-Stack mit den folgenden Befehlen.

    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. (Optional) Wenn der CloudFormation-Stack erstellt wird, wird eine CREATE_COMPLETE-Meldung angezeigt. Wenn Sie den Status überprüfen möchten, bevor Sie diese Meldung sehen, geben Sie den folgenden Befehl ein.

    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}

Fehlersuche

Die Schritte im Walkthrough verwenden jq, um das Ausgabeergebnis des AWS CLI zu analysieren. Weitere Informationen zum Installieren von jq finden Sie unter jq. Verwenden Sie den folgenden Befehl, um das Standardausgabeformat Ihres AWS CLI auf JSON festzulegen, damit jq es richtig analysieren kann.

$ aws configure

Wenn die Antwort auf Default output format kommt, geben Sie den Wert json ein.

Deinstallieren Sie den CloudWatch-Agenten mit Prometheus-Überwachung

Wenn Sie mit dem Testen fertig sind, geben Sie den folgenden Befehl ein, um den CloudWatch-Agenten zu deinstallieren, indem Sie den CloudFormation-Stack löschen.

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