La fonctionnalité Application Monitoring d'Application Real-Time Monitoring Service (ARMS) collecte les données de métriques chaque minute. Utilisez ces métriques pour configurer des règles d'alerte qui détectent les anomalies dans la JVM, les services, les dépendances et l'infrastructure de votre application.
JVM
Les métriques JVM sont fournies à titre indicatif uniquement. Pour les définitions officielles, consultez la documentation JVM officielle.
Métriques
|
Métrique |
Unité |
Utilisation courante |
Description |
|
Nombre de Full GC JVM (valeur instantanée) |
- |
Oui |
Nombre de collectes complètes des déchets (Full GC) au cours des N dernières minutes. Une fréquence élevée de Full GC indique une pression potentielle sur la mémoire ou des erreurs applicatives. |
|
Durée des Full GC JVM (valeur instantanée) |
ms |
Non |
Temps consacré aux Full GC au cours des N dernières minutes. Des pauses prolongées dues aux Full GC provoquent des saccades dans l'application et dégradent l'expérience utilisateur. |
|
Nombre de Young GC JVM (valeur instantanée) |
- |
Oui |
Nombre de collectes des déchets de la jeune génération (Young GC) au cours des N dernières minutes. Un nombre élevé suggère une création rapide d'objets ou d'éventuelles fuites de mémoire. |
|
Durée des Young GC JVM (valeur instantanée) |
ms |
Non |
Temps consacré aux Young GC au cours des N dernières minutes. Des durées plus longues indiquent une baisse de l'efficacité du Garbage Collector et peuvent entraîner des pauses applicatives. |
|
Mémoire Heap JVM totale |
MB |
Non |
Mémoire Heap totale allouée à la JVM, incluant les jeunes et anciennes générations. Une Heap sous-dimensionnée entraîne des GC fréquents ; une Heap surdimensionnée gaspille les ressources système. |
|
Mémoire Heap JVM utilisée |
MB |
Oui |
Mémoire Heap actuellement utilisée. Surveillez cette métrique pour détecter les fuites de mémoire ou une consommation excessive avant qu'elles ne provoquent des erreurs OutOfMemoryError. |
|
Mémoire Non-Heap JVM validée (Committed) |
MB |
Non |
Mémoire Non-Heap validée par la JVM. Une mémoire Non-Heap excessive peut indiquer un nombre trop élevé de classes chargées ou de variables statiques. |
|
Mémoire Non-Heap JVM initiale |
MB |
Non |
Taille initiale de la mémoire Non-Heap. Calculée dynamiquement en fonction de la version de la JVM, du système d'exploitation et des paramètres JVM. |
|
Mémoire Non-Heap JVM maximale |
MB |
Non |
Mémoire Non-Heap maximale. Contrôlée par |
|
Mémoire Non-Heap JVM utilisée |
MB |
Oui |
Mémoire Non-Heap en cours d'utilisation, incluant Metaspace et PermGen. |
|
Espace Metaspace JVM utilisé |
MB |
Non |
Mémoire utilisée pour les métadonnées de classe (structures de classe, méthodes et champs). Généralement stable lors d'un fonctionnement normal. |
|
Nombre de threads JVM bloqués |
- |
Non |
Threads en attente d'acquisition d'un verrou de moniteur. Un nombre élevé peut indiquer une contention des verrous et dégrader les performances du système. |
|
Nombre total de threads JVM |
- |
Oui |
Threads dans tous les états confondus. Un nombre excessif de threads peut épuiser la mémoire et les ressources CPU, affectant la stabilité de l'application. |
|
Nombre de threads JVM en interblocage (deadlock) |
- |
Non |
Threads impliqués dans des interblocages. Lorsqu'un interblocage se produit, les threads concernés ne peuvent pas progresser, ce qui peut entraîner le plantage de l'application. |
|
Nombre de nouveaux threads JVM |
- |
Non |
Threads récemment créés par la JVM. Une création excessive de threads gaspille les ressources système et ajoute une surcharge de planification. |
|
Nombre de threads JVM exécutables |
- |
Non |
Nombre maximal de threads pris en charge par la JVM lors de l'exécution. Une création excessive de threads consomme d'importantes ressources mémoire et peut ralentir ou faire planter le système. |
|
Nombre de threads JVM terminés |
- |
Non |
Nombre de threads pouvant s'exécuter simultanément dans la JVM lors de l'exécution. Contrôlez le nombre de threads en fonction des besoins réels pour éviter le gaspillage de ressources ou la famine de threads. |
|
Nombre de threads JVM en attente avec délai expiré |
- |
Oui |
Threads dont le délai d'attente pour une ressource a expiré. Un nombre élevé peut indiquer des goulots d'étranglement au niveau des ressources. |
|
Nombre de threads JVM en attente |
- |
Non |
Threads à l'état d'attente. Pour les applications à haute concurrence, une augmentation du nombre de threads en attente peut signaler une dégradation des performances. |
|
Nombre de GC JVM (valeur cumulative) |
- |
Non |
Total des collectes des déchets depuis le démarrage de la JVM. |
|
Cycles de garbage collection Mark-and-Sweep JVM (valeur cumulative) |
- |
Non |
Total des cycles de GC Mark-and-Sweep depuis le démarrage de la JVM. |
|
Utilisation de la mémoire Heap JVM (%) |
- |
Non |
Rapport entre la mémoire Heap allouée et la mémoire Heap totale. Maintenez cette valeur en dessous de 70 % pour éviter les risques de débordement de mémoire. |
Dimensions et filtres
Ces métriques sont collectées par adresse IP de nœud. Options de filtrage :
|
Type de filtre |
Description |
Exemple |
|
Parcours (Traversal) |
Évaluez chaque nœud indépendamment et créez des alertes séparées par nœud. |
- |
|
Égal à (=) |
Alertez uniquement sur des nœuds spécifiques. |
|
|
Aucune dimension |
Aggrégez les données de tous les nœuds en une seule alerte. |
- |
Tâches planifiées
ARMS Application Monitoring prend en charge uniquement les types de tâches planifiées XXL-JOB, SchedulerX et JDK-Timer.
Métriques
|
Métrique |
Unité |
Utilisation courante |
Description |
|
Durée |
ms |
Non |
Temps d'exécution moyen de la tâche planifiée. |
|
Nombre total d'exécutions |
- |
Non |
Nombre total d'exécutions de la tâche planifiée. |
|
Nombre d'erreurs d'exécution |
- |
Non |
Nombre d'échecs de la tâche planifiée dans l'intervalle spécifié. |
|
Latence de planification |
ms |
Non |
Délai entre l'heure de début planifiée et l'exécution réelle de la tâche. |
Dimensions et filtres
Ces métriques sont collectées par tâche planifiée. Options de filtrage :
|
Type de filtre |
Description |
Exemple |
|
Parcours (Traversal) |
Évaluez chaque tâche planifiée indépendamment et créez des alertes séparées. |
- |
|
Égal à (=) |
Alertez uniquement sur des tâches planifiées spécifiques. |
|
|
Aucune dimension |
Aggrégez les données de toutes les tâches planifiées en une seule alerte. |
- |
Exceptions
Métriques
|
Métrique |
Unité |
Couramment utilisée |
Description |
|
Nombre d'exceptions |
- |
Oui |
Exceptions d'exécution telles que NullPointerException, ArrayIndexOutOfBoundsException et IOException. Détecte les pics d'erreurs dans les piles d'appels. |
|
Temps de réponse des appels d'interface anormaux |
ms |
Oui |
Temps de réponse pour les appels d'interface ayant renvoyé des exceptions. Permet d'évaluer l'impact des erreurs sur les performances d'interfaces spécifiques. |
Dimensions et filtres
Ces métriques prennent en charge deux dimensions : nom de l'interface et exception.
Par nom d'interface :
|
Type de filtre |
Description |
Exemple |
|
Traversal |
Évalue chaque interface indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des interfaces spécifiques. |
|
|
Not Equals (!=) |
Exclut des interfaces spécifiques. |
|
|
Contains |
Fait correspondre les interfaces contenant un mot-clé. |
|
|
Does Not Contain |
Fait correspondre les interfaces ne contenant pas un mot-clé. |
|
|
Regular expression |
Fait correspondre les interfaces par expression régulière. |
|
|
No dimension |
Regroupe toutes les interfaces. |
- |
Par exception :
|
Type de filtre |
Description |
Exemple |
|
Traversal |
Évalue chaque type d'exception indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des exceptions spécifiques. |
|
|
Not Equals (!=) |
Exclut des exceptions spécifiques. |
|
|
Contains |
Fait correspondre les exceptions contenant un mot-clé. |
|
|
Does Not Contain |
Fait correspondre les exceptions ne contenant pas un mot-clé. |
|
|
Regular expression |
Fait correspondre les exceptions par expression régulière. |
|
|
No dimension |
Regroupe toutes les exceptions. |
- |
Services de dépendance d'application
Métriques
|
Métrique |
Unité |
Couramment utilisée |
Description |
|
Nombre d'appels aux services de dépendance d'application |
- |
Non |
Appels vers les interfaces en aval dont dépend l'application. Surveillez les variations inattendues du volume d'appels. |
|
Taux d'erreur des appels aux services de dépendance d'application (%) |
- |
Non |
Calculé comme suit : requêtes d'interface en aval anormales / total des requêtes d'interface. Une augmentation du taux d'erreur indique des problèmes de dépendance affectant votre application. |
|
Temps de réponse des appels aux services de dépendance d'application |
ms |
Oui |
Temps de réponse moyen des appels d'interface en aval. Une latence croissante des services de dépendance peut dégrader les performances de votre application. |
|
Nombre d'appels lents à un service de dépendance d'application |
- |
Non |
Appels aux services de dépendance ayant dépassé le seuil de temps de réponse. Un nombre élevé suggère des goulots d'étranglement dans les services en aval. |
Dimensions et filtres
Ces métriques sont collectées par type d'appel d'interface (tel que HTTP, MySQL et Redis). Options de filtrage :
|
Type de filtre |
Description |
Exemple |
|
Traversal |
Évalue chaque type d'appel indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des types d'appels spécifiques. |
|
|
No dimension |
Regroupe tous les types d'appels. |
- |
Instances ECS
Métriques
|
Métrique |
Unité |
Couramment utilisée |
Description |
|
Utilisation du CPU du nœud (%) |
- |
Non |
Utilisation du CPU du nœud. Une utilisation élevée peut entraîner des temps de réponse lents et une indisponibilité du service. |
|
Utilisation du CPU du nœud en mode utilisateur (%) |
- |
Non |
Temps CPU consacré aux processus de l'espace utilisateur, tels que les services web et les bases de données, exprimé en pourcentage du temps CPU total. |
|
Espace disque libre du nœud |
Mo |
Oui |
Espace disque inutilisé. Un disque saturé peut provoquer des plantages système ou un comportement inattendu. |
|
Utilisation du disque du nœud (%) |
- |
Non |
Rapport entre l'espace disque utilisé et l'espace disque total. Une utilisation plus élevée signifie moins d'espace de stockage disponible. |
|
Charge système du nœud |
- |
Oui |
Moyenne de la charge système. Pour un nœud disposant de N cœurs de CPU, la charge maximale recommandée est N. |
|
Mémoire libre du nœud |
Mo |
Oui |
Mémoire inutilisée. Une mémoire insuffisante peut déclencher des erreurs de manque de mémoire (OOM). |
|
Utilisation de la mémoire du nœud (%) |
- |
Non |
Pourcentage de mémoire utilisée. Si l'utilisation dépasse 80 %, réduisez la pression sur la mémoire en ajustant les configurations ou en optimisant les charges de travail. |
|
Nombre de paquets d'erreur reçus sur le nœud |
- |
Non |
Paquets d'erreur reçus lors de la communication réseau, potentiellement causés par des problèmes de transmission ou d'application. |
|
Nombre de paquets d'erreur envoyés depuis le nœud |
- |
Non |
Paquets d'erreur envoyés lors de la communication réseau. Aide à vérifier les anomalies réseau. |
|
Nombre d'instances JVM |
- |
Oui |
Instances JVM en cours d'exécution en temps réel. Généralement utilisées pour détecter les pannes de service. |
|
Nombre d'octets envoyés depuis le nœud |
- |
Non |
Volume de données envoyé sur le réseau, y compris les données d'application, les messages système et les messages d'erreur. |
|
Nombre de paquets envoyés depuis le nœud |
- |
Non |
Total des paquets envoyés sur le réseau. |
|
Nombre d'octets reçus sur le nœud |
- |
Non |
Volume total de données reçues sur le réseau. |
|
Nombre de paquets reçus sur le nœud |
- |
Non |
Total des paquets reçus sur le réseau. |
Dimensions et filtres
Ces métriques sont collectées par adresse IP de nœud. Options de filtrage :
|
Type de filtre |
Description |
Exemple |
|
Traversal |
Évalue chaque nœud indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des nœuds spécifiques. |
|
|
No dimension |
Regroupe tous les nœuds. |
- |
Conteneurs
Les métriques de CPU et de mémoire des conteneurs nécessitent l'agent ARMS version 4.1.0 ou ultérieure.
Métriques
|
Metric |
Unit |
Commonly used |
Description |
|
CPU utilization in user mode |
- |
No |
Temps CPU consacré à l'exécution du code dans l'espace utilisateur, y compris la logique applicative et les fonctions de bibliothèques non noyau. |
|
CPU utilization in kernel mode |
- |
No |
Temps CPU utilisé par les opérations du noyau, telles que les appels système, la gestion des interruptions et les services du noyau. |
|
Total CPU utilization |
- |
Yes |
Somme de l'utilisation du CPU en mode utilisateur et en mode noyau. |
|
Memory usage |
Bytes |
Yes |
Mémoire activement utilisée par le conteneur lors de l'exécution, incluant la mémoire non échangeable et les données mises en cache actives. |
|
Number of sent network packets |
- |
No |
Paquets envoyés par le conteneur via le réseau. |
|
Number of sent bytes |
Bytes |
Yes |
Octets envoyés par le conteneur via le réseau. |
|
Number of sent error packets |
- |
No |
Paquets d'erreur envoyés lors de la communication réseau. Utile pour détecter les problèmes réseau du conteneur. |
|
Number of sent discarded packets |
- |
No |
Paquets sortants supprimés par le système ou la pile réseau depuis le démarrage de l'interface réseau du conteneur. |
|
Number of received packets |
- |
No |
Paquets reçus par le conteneur via le réseau. |
|
Number of received bytes |
Bytes |
Yes |
Total des données reçues par le conteneur via le réseau. |
|
Number of received error packets |
- |
No |
Paquets d'erreur reçus lors de la communication réseau. La réception de paquets erronés peut empêcher le conteneur de traiter correctement le trafic réseau. |
|
Number of received discarded packets |
- |
No |
Paquets entrants supprimés par le système ou la pile réseau depuis le démarrage de l'interface réseau du conteneur. |
Dimensions et filtres
Ces métriques sont collectées par adresse IP de nœud. Options de filtrage disponibles :
|
Filter type |
Description |
Example |
|
Traversal |
Évalue chaque conteneur indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des conteneurs spécifiques. |
|
|
No dimension |
Regroupe les données de tous les conteneurs. |
- |
Application fournissant des services
Métriques
|
Metric |
Unit |
Commonly used |
Description |
|
Number of calls |
- |
Yes |
Appels aux points d'entrée de l'application, incluant les appels HTTP et Dubbo. Utile pour analyser le volume de trafic et détecter les anomalies. |
|
Number of slow calls |
- |
No |
Appels aux points d'entrée (HTTP et Dubbo) ayant dépassé le seuil de temps de réponse. |
|
Number of error calls |
- |
Yes |
Appels aux points d'entrée ayant renvoyé un code d'état HTTP 400 ou ayant été interceptés par la couche supérieure de Dubbo. |
|
Call error rate (%) |
- |
Yes |
Calculé comme suit : appels aux points d'entrée en erreur / total des appels aux points d'entrée x 100 %. |
|
Call response time |
ms |
Yes |
Temps de réponse moyen des appels aux points d'entrée (HTTP et Dubbo). Aide à identifier les requêtes lentes et les exceptions. |
Dimensions et filtres
Ces métriques prennent en charge deux dimensions : nom de l'interface et type d'appel d'interface.
Par nom d'interface :
|
Filter type |
Description |
Example |
|
Traversal |
Évalue chaque interface indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des interfaces spécifiques. |
|
|
Not Equals (!=) |
Exclut des interfaces spécifiques. |
|
|
Contains |
Fait correspondre les interfaces contenant un mot-clé. |
|
|
Does Not Contain |
Fait correspondre les interfaces ne contenant pas un mot-clé. |
|
|
Regular expression |
Fait correspondre les interfaces via une expression régulière. |
|
|
No dimension |
Regroupe les données de toutes les interfaces. |
- |
Par type d'appel d'interface :
|
Filter type |
Description |
Example |
|
Traversal |
Évalue chaque type d'appel indépendamment (HTTP, MySQL, Redis, etc.). |
- |
|
Equals (=) |
Génère une alerte pour des types d'appels spécifiques. |
|
|
No dimension |
Regroupe les données de tous les types d'appels. |
- |
Pools de threads
Métriques
|
Metric |
Commonly used |
Description |
|
Number of core threads |
Yes |
Threads toujours actifs dans le pool. |
|
Maximum number of threads |
Yes |
Limite supérieure du nombre de threads simultanés dans le pool. |
|
Number of active threads |
Yes |
Threads exécutant actuellement des tâches. Permet d'évaluer les performances et l'utilisation du pool de threads. |
|
Queue size |
Yes |
Capacité de la file d'attente des tâches. Une file trop petite entraîne des temps d'attente longs ; une file trop grande peut épuiser les ressources système. |
|
Current number of threads |
Yes |
Threads en cours d'exécution ou en attente d'exécution. |
|
Number of executed tasks |
Yes |
Tâches terminées par le pool de threads. Permet d'évaluer le débit. |
|
Thread pool usage (%) |
Yes |
Rapport entre le nombre de threads utilisés et la taille totale du pool de threads. |
Dimensions et filtres
Ces métriques prennent en charge trois dimensions : adresse IP du nœud, nom du pool de threads et type de pool de threads.
Par adresse IP du nœud :
|
Filter type |
Description |
Example |
|
Traversal |
Évalue chaque nœud indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des nœuds spécifiques. |
|
|
No dimension |
Regroupe les données de tous les nœuds. |
- |
Par nom du pool de threads :
|
Filter type |
Description |
Example |
|
Traversal |
Évalue chaque pool de threads indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des pools de threads spécifiques. |
|
|
No dimension |
Regroupe les données de tous les pools de threads. |
- |
Par type de pool de threads :
|
Filter type |
Description |
Example |
|
Traversal |
Évalue chaque type de pool de threads indépendamment. |
- |
|
Equals (=) |
Génère une alerte pour des types de pools de threads spécifiques. |
|
|
No dimension |
Regroupe les données de tous les types de pools de threads. |
- |
Codes d'état HTTP
Métriques
|
Métrique |
Utilisation courante |
Description |
|
Nombre de requêtes HTTP avec des codes d'état 4xx |
Oui |
Requêtes ayant renvoyé un code d'état 4xx, indiquant des erreurs client telles que des ressources ou paramètres manquants. Codes courants : 400, 404. |
|
Nombre de requêtes HTTP avec des codes d'état 5xx |
Oui |
Requêtes ayant renvoyé un code d'état 5xx, indiquant des erreurs serveur ou une surcharge du système. Codes courants : 500, 503. |
Dimensions et filtres
Ces métriques sont collectées par nom d'interface. Options de filtrage disponibles :
|
Type de filtre |
Description |
Exemple |
|
Parcours |
Évalue chaque interface indépendamment. |
- |
|
Égal à (=) |
Génère une alerte pour des interfaces spécifiques. |
|
|
Différent de (!=) |
Exclut des interfaces spécifiques. |
|
|
Contient |
Fait correspondre les interfaces contenant un mot-clé. |
|
|
Ne contient pas |
Fait correspondre les interfaces ne contenant pas un mot-clé. |
|
|
Expression régulière |
Fait correspondre les interfaces par expression régulière. |
|
|
Aucune dimension |
Regroupe les données de toutes les interfaces. |
- |
Bases de données
Métriques
|
Métrique |
Unité |
Utilisation courante |
Description |
|
Nombre de requêtes de base de données |
- |
Oui |
Requêtes de lecture ou d'écriture envoyées à la base de données lors de l'exécution. Un volume élevé de requêtes affecte les performances et le temps de réponse de l'application. |
|
Nombre d'erreurs de requêtes de base de données |
- |
Oui |
Requêtes de base de données ayant échoué, notamment en raison d'échecs de connexion, d'erreurs de requête ou de problèmes d'autorisation. Un nombre élevé d'erreurs indique des problèmes dans l'interaction entre l'application et la base de données. |
|
Temps de réponse des requêtes de base de données |
ms |
Oui |
Délai entre l'envoi d'une requête à la base de données et la réception d'une réponse. Des temps de réponse élevés provoquent des ralentissements ou des blocages de l'application. |
|
Nombre de requêtes de base de données lentes |
- |
Non |
Requêtes de base de données ayant dépassé le seuil de temps de réponse. La fréquence élevée de requêtes lentes dégrade les performances de l'application. |
Dimensions et filtres
Ces métriques sont collectées par nom de base de données. Options de filtrage disponibles :
|
Type de filtre |
Description |
Exemple |
|
Parcours |
Évalue chaque base de données indépendamment. |
- |
|
Égal à (=) |
Génère une alerte pour des bases de données spécifiques. |
|
|
Aucune dimension |
Regroupe les données de toutes les bases de données. |
- |