Métriques collectées par la vigie applicative
La vigie applicative collecte à la fois les métriques d’application standard et les métriques d’exécution des applications pour lesquelles vous l’activez.
Les métriques d’application standard concernent les aspects les plus critiques des performances, de la latence et de la disponibilité des services.
Les métriques d’exécution suivent les métriques d’application au fil du temps, notamment l’utilisation de la mémoire, l’utilisation du processeur et la récupération de mémoire. La vigie applicative affiche les métriques d’exécution dans le contexte des services pour lesquels vous avez activé la vigie applicative. En cas de problème opérationnel, l’observation des métriques d’exécution peut être utile pour vous aider à trouver une cause racine du problème. Par exemple, vous pouvez voir si les pics de latence de votre service sont liés à des pics dans une métrique d’exécution.
Rubriques
Métriques d’application standard collectées
Application Signals collecte des métriques d’application standard à partir des services qu’il découvre. Ces indicateurs concernent les aspects les plus critiques des performances d’un service : latence, défaillances et erreurs. Ils peuvent vous aider à identifier les problèmes, à surveiller les tendances en matière de performances et à optimiser les ressources afin d’améliorer l’expérience utilisateur globale.
Le tableau suivant répertorie les métriques collectées par Application Signals. Ces métriques sont envoyées à CloudWatch dans l’espace de noms ApplicationSignals.
| Métrique | Description |
|---|---|
|
|
Le délai avant le début du transfert de données ne commence qu’une fois la demande effectuée. Unités : millisecondes |
|
|
Nombre d’erreurs HTTP 5XX côté serveur et d’erreurs d’état d’intervalle OpenTelemetry. Unités : aucune |
|
|
Nombre d’erreurs HTTP 4XX côté client. Ces erreurs sont considérées comme des erreurs de requête qui ne sont pas dues à des problèmes de service. Par conséquent, la métrique Unités : aucune |
La métrique Availability affichée sur les tableaux de bord de la vigie applicative est calculée comme suit : (1 - Faults/Total)*100. Le nombre total de réponses comprend toutes les réponses et est dérivé de SampleCount(Latency). Les réponses réussies sont toutes les réponses sans erreur 5XX. Les réponses 4XX sont considérées comme réussies lorsqu’Application Signals évalue Availability.
Dimensions collectées et combinaisons de dimensions
Les dimensions suivantes sont définies pour chacune des métriques d’application standard. Pour plus d’informations sur les dimensions, veuillez consulter la rubrique Dimensions.
Différentes dimensions sont collectées pour les métriques de service et les métriques de dépendance. Dans les services découverts par Application Signals, lorsque le microservice A appelle le microservice B, le microservice B répond à la requête. Dans ce cas, le microservice A émet des métriques de dépendance et le microservice B émet des métriques de service. Lorsqu’un client appelle le microservice A, le microservice A répond à la requête et émet des métriques de service.
Dimension pour les métriques de service
Les dimensions suivantes sont collectées pour les métriques de service.
| Dimension | Description |
|---|---|
|
|
Le nom du service . La valeur maximale est 255 caractères. |
|
|
Nom de l’opération API ou d’une autre activité. La valeur maximale est de 1 024 caractères. Vous ne pouvez définir des objectifs de niveau de service sur les opérations que si le nom de l’opération comporte 194 caractères ou moins. |
|
Le nom de l’environnement dans lequel les services sont exécutés. Si les services ne sont pas exécutés sur Amazon EKS, vous pouvez spécifier une valeur personnalisée facultative pour La valeur maximale est 259 caractères. |
Lorsque vous affichez ces métriques dans la console CloudWatch, vous pouvez les consulter à l’aide des combinaisons de dimensions suivantes :
-
[Environment, Service, Operation, [Latency, Error, Fault]] -
[Environment, Service, [Latency, Error, Fault]]
Dimensions pour les métriques de dépendance
Les dimensions suivantes sont collectées pour les métriques de dépendance :
| Dimension | Description |
|---|---|
|
|
Le nom du service . La valeur maximale est 255 caractères. |
|
|
Le nom de l’opération API ou d’une autre opération. La valeur maximale est 1024 caractères. |
|
|
Le nom du service distant invoqué. La valeur maximale est 255 caractères. |
|
|
Le nom de l’opération API invoquée. La valeur maximale est 1024 caractères. |
|
|
Le nom de l’environnement dans lequel les services sont exécutés. Si les services ne sont pas exécutés sur Amazon EKS, vous pouvez spécifier une valeur personnalisée facultative pour La valeur maximale est de 259 caractères. |
|
|
Le nom de l’environnement dans lequel les services de dépendance sont exécutés. Le paramètre La valeur maximale est 259 caractères. |
|
|
Le nom de la ressource invoquée par un appel distant. Le paramètre La valeur maximale est 1024 caractères. |
|
|
Le type de ressource invoquée par un appel distant. Requis uniquement si La valeur maximale est 1024 caractères. |
Lorsque vous affichez ces métriques dans la console CloudWatch, vous pouvez les consulter à l’aide des combinaisons de dimensions suivantes :
Exécution sur des clusters Amazon EKS
-
[Environment, Service, Operation, RemoteService, RemoteOperation, RemoteEnvironment, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]] -
[Environment, Service, Operation, RemoteService, RemoteOperation, RemoteEnvironment, [Latency, Error, Fault]] -
[Environment, Service, Operation, RemoteService, RemoteOperation, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]] -
[Environment, Service, Operation, RemoteService, RemoteOperation, [Latency, Error, Fault]] -
[Environment, Service, RemoteService, RemoteEnvironment, [Latency, Error, Fault]] -
[Environment, Service, RemoteService, [Latency, Error, Fault]] -
[Environment, Service, RemoteService, RemoteOperation, RemoteEnvironment, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]] -
[Environment, Service, RemoteService, RemoteOperation, RemoteEnvironment, [Latency, Error, Fault]] -
[Environment, Service, RemoteService, RemoteOperation, RemoteResourceIdentifier, RemoteResourceType, [Latency, Error, Fault]] -
[Environment, Service, RemoteService, RemoteOperation, [Latency, Error, Fault]] -
[RemoteService [Latency, Error, Fault]] -
[RemoteService, RemoteResourceIdentifier, RemoteResourceType [Latency, Error, Fault]]
Métriques d’exécution
La vigie applicative utilise le kit SDK AWS Distro for OpenTelemetry pour collecter automatiquement les métriques compatibles avec OpenTelemetry à partir de vos applications Java et Python. Pour que les métriques d’exécution soient collectées, vous devez remplir les conditions préalables suivantes :
Votre agent CloudWatch doit être de version
1.300049.1ou ultérieure.Si vous utilisez le module complémentaire EKS d’observabilité Amazon CloudWatch, il doit être de version
2.30-eksbuild.1ou ultérieure. Si vous mettez à jour le module complémentaire, vous devez redémarrer vos applications.Pour les applications Java, vous devez exécuter la version
1.32.5ou ultérieure de l’AWS Distro for OpenTelemetry pour Java.Pour les applications Python, vous devez exécuter la version
0.7.0ou ultérieure de l’AWS Distro for OpenTelemetry pour Python.Pour les applications .Net, vous devez exécuter la version
1.6.0ou ultérieure de l’AWS Distro for OpenTelemetry pour .Net.
Les métriques d’exécution ne sont pas collectées pour les applications Node.js.
Les métriques d’exécution sont facturées dans le cadre des coûts de la vigie applicative. Pour plus d'informations sur la tarification CloudWatch, consultez Tarification d'Amazon CloudWatch
Note
Problèmes connus
La collecte de métriques d’exécution dans la version 1.32.5 du kit SDK Java est connue pour ne pas fonctionner avec les applications utilisant JBoss Wildfly. Ce problème s’étend au module complémentaire EKS d’observabilité Amazon CloudWatch, affectant les versions 2.3.0-eksbuild.1 à 2.6.0-eksbuild.1. Le problème est résolu dans la version v1.32.6 du kit SDK Java et dans la version v3.0.0-eksbuild.1 du module complémentaire EKS d’observabilité Amazon CloudWatch.
Si vous êtes concerné, mettez à niveau la version du kit SDK Java ou désactivez la collecte des métriques d’exécution en ajoutant la variable d’environnement OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false à votre application.
Métriques d’exécution Java
La vigie applicative collecte les métriques JVM suivantes à partir des applications Java que vous activez pour la vigie applicative. Toutes les métriques d’exécution sont envoyées à CloudWatch dans l’espace de noms ApplicationSignals et sont collectées avec les dimensions Service et Environment.
| Nom des métriques | Description | Statistiques significatives |
|---|---|---|
|
|
Métrique agrégée pour la durée des actions de récupérateur de mémoire JVM. Unité : millisecondes |
Somme, moyenne, minimum, maximum |
|
|
Métrique agrégée pour la durée des actions de récupérateur de mémoire JVM de l’ancienne génération. Disponible uniquement dans G1. Unité : millisecondes |
Somme, moyenne, minimum, maximum |
|
|
Métrique agrégée pour la durée des actions de récupérateur de mémoire JVM de de la nouvelle génération. Disponible uniquement dans G1. Unité : millisecondes |
Somme, moyenne, minimum, maximum |
|
|
Métrique agrégée pour le nombre d’actions de récupérateur de mémoire JVM. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Métrique agrégée pour le nombre d’actions de récupérateur de mémoire JVM de l’ancienne génération. Disponible uniquement dans G1. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Métrique agrégée pour le nombre d’actions de récupérateur de mémoire JVM de la nouvelle génération. Disponible uniquement dans G1. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Quantité de mémoire de tas utilisée. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Quantité de mémoire utilisée, telle que mesurée après le dernier événement de récupérateur de mémoire sur ce groupe. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Quantité de mémoire utilisée par l’ancienne génération. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Quantité de mémoire de tas utilisée par l’espace survivant. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Quantité de mémoire utilisée par l’espace eden. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Quantité de mémoire non-tas utilisée. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Nombre de threads en cours d’exécution, y compris les threads daemon et non daemon. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Nombre de classes chargées. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Le temps processeur utilisé par le processus, tel que rapporté par la JVM. Unité : Aucune (nanosecondes) |
Somme, moyenne, minimum, maximum |
|
|
Le temps processeur récemment utilisé par le processus, tel que rapporté par la JVM. Unité : aucune |
Moyenne, Minimum, Maximum |
Métriques d’exécution Python
La vigie applicative collecte les métriques suivantes à partir des applications Python que vous activez pour la vigie applicative. Toutes les métriques d’exécution sont envoyées à CloudWatch dans l’espace de noms ApplicationSignals et sont collectées avec les dimensions Service et Environment.
| Nom des métriques | Description | Statistiques significatives |
|---|---|---|
|
|
Le nombre total d’objets actuellement suivis. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Le nombre d’objets actuellement suivis dans Génération 0. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Le nombre d’objets actuellement suivis dans Génération 1. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Le nombre d’objets actuellement suivis dans Génération 2. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Quantité totale de mémoire virtuelle utilisée par le processus. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Quantité totale de mémoire physique non permutée utilisée par le processus. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Nombre de threads actuellement utilisés par le processus. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Temps processeur utilisé par le processus. Unité : secondes |
Somme, moyenne, minimum, maximum |
|
|
Utilisation du processeur par le processus. Unité : aucune |
Moyenne, Minimum, Maximum |
Métrique d’exécution .Net
La vigie applicative collecte les métriques suivantes à partir des applications .Net que vous activez pour la vigie applicative. Toutes les métriques d’exécution sont envoyées à CloudWatch dans l’espace de noms ApplicationSignals et sont collectées avec les dimensions Service et Environment.
| Nom des métriques | Description | Statistiques significatives |
|---|---|---|
|
|
Nombre total de métriques de récupérateur de mémoire suivies dans Génération 0 depuis le démarrage du processus. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Nombre total de métriques de récupérateur de mémoire suivies dans Génération 1 depuis le démarrage du processus. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Nombre total de métriques de récupérateur de mémoire suivies dans Génération 2 depuis le démarrage du processus. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Durée totale de pause dans le récupérateur de mémoire depuis le démarrage du processus. Unité : aucune |
Somme, moyenne, minimum, maximum |
|
|
Taille du tas (y compris la fragmentation) de Génération 0 observée lors du dernier récupérateur de mémoire. NoteCette métrique n’est disponible qu’après la fin du premier récupérateur de mémoire. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Taille du tas (y compris la fragmentation) de Génération 1 observée lors du dernier récupérateur de mémoire. NoteCette métrique n’est disponible qu’après la fin du premier récupérateur de mémoire. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Taille du tas (y compris la fragmentation) de Génération 2 observée lors du dernier récupérateur de mémoire. NoteCette métrique n’est disponible qu’après la fin du premier récupérateur de mémoire. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Taille du tas d’objets volumineux (y compris la fragmentation) observée lors du dernier récupérateur de mémoire. NoteCette métrique n’est disponible qu’après la fin du premier récupérateur de mémoire. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Taille du tas d’objets épinglés (y compris la fragmentation) observée lors du dernier récupérateur de mémoire. NoteCette métrique n’est disponible qu’après la fin du premier récupérateur de mémoire. Unité : octets |
Moyenne, Minimum, Maximum |
|
|
Nombre de threads du groupe de threads actuellement existants. Unité : aucune |
Moyenne, Minimum, Maximum |
|
|
Nombre d’éléments de travail actuellement en attente d’être traités par le groupe de threads. Unité : aucune |
Moyenne, Minimum, Maximum |
Désactivation de la collecte des métriques d’exécution
Les métriques d’exécution sont collectées par défaut pour les applications Java et Python qui sont activées pour la vigie applicative. Si vous voulez désactiver la collecte de ces métriques, veuillez suivre les instructions de cette section pour votre environnement.
Amazon EKS
Pour désactiver les métriques d’exécution dans les applications Amazon EKS au niveau de l’application, ajoutez la variable d’environnement suivante à votre spécification de charge de travail.
env: - name: OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED value: "false"
Pour désactiver les métriques d’exécution dans les applications Amazon EKS au niveau du cluster, appliquez la configuration à la configuration avancée de votre module complémentaire EKS d’observabilité Amazon CloudWatch.
{ "agent": { "config": { "traces": { "traces_collected": { "application_signals": { } } }, "logs": { "metrics_collected": { "application_signals": { } } } }, "manager": { "autoInstrumentationConfiguration": { "java": { "runtime_metrics": { "enabled": false } }, "python": { "runtime_metrics": { "enabled": false } }, "dotnet": { "runtime_metrics": { "enabled": false } } } } } }
Amazon ECS
Pour désactiver les métriques d’exécution dans les applications Amazon ECS, ajoutez la variable d’environnement OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false dans la nouvelle révision de définition de tâche et redéployez l’application.
EC2
Pour désactiver les métriques d’exécution dans les applications Amazon EC2, ajoutez la variable d’environnement OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED=false avant le démarrage de l’application.
Kubernetes
Pour désactiver les métriques d’exécution dans les applications Kubernetes au niveau de l’application, ajoutez la variable d’environnement suivante à votre spécification de charge de travail.
env: - name: OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED value: "false"
Pour désactiver les métriques d’exécution dans les applications Kubernetes au niveau du cluster, utilisez ce qui suit :
helm upgrade ... \ --set-string manager.autoInstrumentationConfiguration.java.runtime_metrics.enabled=false \ --set-string manager.autoInstrumentationConfiguration.python.runtime_metrics.enabled=false \ -\-set-string manager.autoInstrumentationConfiguration.dotnet.runtime_metrics.enabled=false