Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
(Facultatif) Testez les signaux d'application avec un exemple d'application
Pour tester CloudWatch Application Signals sur un exemple d'application avant de l'utiliser pour vos propres applications, suivez les instructions de cette section. Ces instructions utilisent des scripts pour vous aider à créer un cluster Amazon EKS, à installer un exemple d’application et à équiper l’exemple d’application pour qu’il fonctionne avec Application Signals.
L'exemple d'application est une application Spring « Pet Clinic » composée de quatre microservices. Ces services s'exécutent sur Amazon EKS sur Amazon EC2 et utilisent des scripts d'activation des signaux d'application pour activer le cluster avec l'agent d'auto-instrumentation Java, Python ou .NET.
Prérequis
Actuellement, Application Signals surveille uniquement les applications Java, Python ou .NET.
Vous devez l'avoir AWS CLI installé sur l'instance. Nous recommandons AWS CLI la version 2, mais la version 1 devrait également fonctionner. Pour plus d'informations sur l'installation du AWS CLI, voir Installer ou mettre à jour la dernière version du AWS CLI.
Les scripts de cette section sont destinés à être exécutés dans des environnements Linux et macOS. Pour les instances Windows, nous vous recommandons d'utiliser un AWS Cloud9 environnement pour exécuter ces scripts. Pour plus d'informations AWS Cloud9, voir Qu'est-ce que c'est AWS Cloud9 ? .
Installez une version prise en charge de
kubectl
. Vous devez utiliser une version dekubectl
qui se situe à une différence de version mineure près de celle du plan de contrôle de votre cluster Amazon EKS. Par exemple, un clientkubectl
1.26 fonctionne avec les clusters Kubernetes 1.25, 1.26 et 1.27. Si vous possédez déjà un cluster Amazon EKS, vous devrez peut-être configurer les AWS informations d'identification pourkubectl
. Pour plus d’informations, veuillez consulter la rubrique Création ou mise à jour d’un fichierkubeconfig
pour un cluster Amazon EKS.Installez
eksctl
.eksctl
utilise le AWS CLI pour interagir avec AWS, ce qui signifie qu'il utilise les mêmes AWS informations d'identification que le AWS CLI. Pour plus d’informations, veuillez consulter la rubrique Installation ou mise à jour deeksctl
.Installez
jq
.jq
est nécessaire pour exécuter les scripts d’activation d’Application Signals. Pour plus d’informations, veuillez consulter la rubrique Télécharger jq.
Étape 1 : télécharger les scripts
Pour télécharger les scripts permettant de configurer CloudWatch Application Signals avec un exemple d'application, vous pouvez télécharger et décompresser le fichier de GitHub projet compressé sur un lecteur local, ou vous pouvez cloner le GitHub projet.
Pour cloner le projet, ouvrez une fenêtre de terminal et saisissez la commande Git suivante dans un répertoire de travail donné.
git clone https://github.com/aws-observability/application-signals-demo.git
Étape 2 : générer et déployer l’exemple d’application
Pour générer et diffuser les exemples d’images d’application, suivez ces instructions
Étape 3 : déployer et activer Application Signals et l’exemple d’application
Assurez-vous d’avoir rempli les exigences listées dans (Facultatif) Testez les signaux d'application avec un exemple d'application avant de suivre les étapes suivantes.
Pour déployer et activer Application Signals et l’exemple d’application
Entrez la commande suivante.
new-cluster-name
Remplacez-le par le nom que vous souhaitez utiliser pour le nouveau cluster. Remplacezregion-name
par le nom de la AWS région, tel queus-west-1
.Cette commande configure l’exemple d’application s’exécutant dans un nouveau cluster Amazon EKS avec Application Signals activés.
# this script sets up a new cluster, enables Application Signals, and deploys the # sample application cd application-signals-demo/scripts/eks/appsignals/one-step && ./setup.sh
new-cluster-name
region-name
L’exécution du script d’installation prend environ 30 minutes et effectue les opérations suivantes :
création d’un cluster Amazon EKS dans la région spécifiée ;
création des autorisations IAM nécessaires pour Application Signals (
arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess
etarn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
) ;Active les signaux d'application en installant l' CloudWatch agent et en instrumentant automatiquement l'exemple d'application pour les CloudWatch métriques et les traces X-Ray.
Déploie l'exemple d'application PetClinic Spring dans le même cluster Amazon EKS.
Crée cinq CloudWatch canaris Synthetics,
pc-add-vist
nomméspc-create-owners
,,,,.pc-visit-pet
pc-visit-vet
pc-clinic-traffic
Ces scripts canary fonctionneront à une fréquence d’une minute afin de générer du trafic synthétique pour l’exemple d’application et de montrer comment les scripts canary Synthetics apparaissent dans Application Signals ;Crée quatre objectifs de niveau de service (SLOs) pour l' PetClinic application portant les noms suivants :
Disponibilité pour la recherche d’un propriétaire
Latence lors de la recherche d’un propriétaire
Disponibilité pour l’enregistrement d’un propriétaire
Latence lors de l’enregistrement d’un propriétaire
création du rôle IAM requis avec une politique de confiance personnalisée accordant à Application Signals les autorisations suivantes :
cloudwatch:PutMetricData
cloudwatch:GetMetricData
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
-
(Facultatif) Si vous souhaitez consulter le code source de l' PetClinic exemple d'application, vous pouvez le trouver dans le dossier racine.
- application-signals-demo - spring-petclinic-admin-server - spring-petclinic-api-gateway - spring-petclinic-config-server - spring-petclinic-customers-service - spring-petclinic-discovery-server - spring-petclinic-vets-service - spring-petclinic-visits-service
Pour afficher l' PetClinic exemple d'application déployé, exécutez la commande suivante pour trouver l'URL :
kubectl get ingress
Étape 4 : surveiller l’exemple d’application
Après avoir effectué les étapes décrites dans la section précédente pour créer le cluster Amazon EKS et déployer l’exemple d’application, vous pouvez utiliser Application Signals pour surveiller l’application.
Note
Pour que la console Application Signals commence à se remplir, une partie du trafic doit atteindre l’exemple d’application. Les étapes précédentes ont notamment permis de créer des canaris CloudWatch Synthetics qui génèrent du trafic vers l'exemple d'application.
Surveillance de l’intégrité du service
Une fois activé, CloudWatch Application Signals découvre et remplit automatiquement une liste de services sans nécessiter de configuration supplémentaire.
Pour consulter la liste des services découverts et surveiller leur état
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. Dans le panneau de navigation du service, choisissez Application Signals, Services.
Pour afficher un service, ses opérations et ses dépendances, choisissez le nom de l’un des services de la liste.
Cette vue unifiée centrée sur les applications permet d’avoir une vision complète de la manière dont les utilisateurs interagissent avec votre service. Cela peut vous aider à trier les problèmes en cas d’anomalies de performances. Pour plus de détails sur la vue Services, veuillez consulter Surveillez l’état de fonctionnement de vos applications avec Application Signals.
Choisissez l’onglet Opérations de service pour voir les métriques d’application standard pour les opérations de ce service. Les opérations sont, par exemple, les opérations d’API que le service appelle.
Ensuite, pour afficher les graphiques d’une seule opération de ce service, choisissez le nom de cette opération.
Cliquez sur l’onglet Dépendances pour voir les dépendances de votre application, ainsi que les mesures d’application critiques pour chaque dépendance. Les dépendances incluent AWS les services et les services tiers appelés par votre application.
Pour afficher les suivis corrélés depuis la page des détails du service, choisissez un point de données dans l’un des trois graphiques situés au-dessus du tableau. Cela remplit un nouveau volet avec les suivis filtrés de la période. Ces suivis sont triés et filtrés en fonction du graphique que vous avez choisi. Par exemple, si vous avez choisi le graphique de latence, les suivis sont triés en fonction du temps de réponse du service.
Dans le volet de navigation de la CloudWatch console, choisissez SLOs. Vous voyez SLOs ce que le script a créé pour l'exemple d'application. Pour plus d'informations sur SLOs, voirObjectifs de niveau de service (SLOs).
(Facultatif) Étape 5 : nettoyage
Lorsque vous avez terminé de tester Application Signals, vous pouvez utiliser un script fourni par Amazon pour nettoyer et supprimer les artefacts créés dans votre compte pour l’exemple d’application. Pour effectuer le nettoyage, saisissez la commande suivante. Remplacez new-cluster-name
par le nom du cluster que vous avez créé pour l'exemple d'application, et remplacez region
-name par le nom de la AWS région, tel queus-west-1
.
cd application-signals-demo/scripts/eks/appsignals/one-step && ./cleanup.sh new-cluster-name region-name