Surveillance de Spring Boot
Vous pouvez surveiller les applications Spring Boot à l'aide du capteur Instana Spring Boot. Le capteur « Spring Boot » est automatiquement déployé et installé une fois que vous avez installé l'agent « Instana ». Une fois que vous avez configuré l' Spring Boot Actuator comme indiqué dans cette rubrique, vous pouvez consulter les métriques relatives aux applications Spring Boot dans l'interface utilisateur d' Instana.
Informations de support
Pour vous assurer que le capteur d' Spring Boot s est compatible avec votre configuration actuelle, consultez les sections d'informations d'assistance suivantes :
Systèmes d'exploitation pris en charge
Les systèmes d'exploitation pris en charge par le capteur « Spring Boot » correspondent aux exigences des agents hôtes, qui peuvent être consultées dans la section « Syst èmes d'exploitation pris en charge » de chaque agent hôte, par exemple à l'adresse Linux.
Versions prises en charge et politique d'assistance
Le tableau suivant présente la dernière version prise en charge et la politique d'assistance :
| Technologie | Politique de support | Dernière version technologique | Dernière version prise en charge |
|---|---|---|---|
| Spring Boot | 45 jours | 4.1.0 | 4.0.6 |
Pour plus d'informations sur la politique d'assistance, consultez la section « Stratégie d'assistance pour les capteurs ».
Tracé pris en charge
Pour cette technologie, Instana prend en charge le suivi. Pour plus d'informations, consultez la section « Frameworks et bibliothèques instrumentés ».
Configuration de la surveillance d' Spring Boot
Pour configurer la surveillance d' Spring Boot, procédez comme suit :
Étape 1 : Configurer l'actionneur d' Spring Boot
Pour configurer l'actionneur Spring Boot, ajoutez la dépendance suivante dans le pom.xml fichier :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
L'Actuator d' Spring Boot génère et expose les points de terminaison opérationnels d'une application Spring Boot en cours d'exécution.
Étape 2 : Activer la fonctionnalité « Java Management Extensions » ( JMX )
Pour les versions d' Spring Boot2.2.x et ultérieures, activez l' JMX en définissant la propriété suivante dans le application.properties fichier :
spring.jmx.enabled=true
L'activation de l' JMX permet d'exposer les données et les ressources de votre application Spring Boot sous forme de beans gérés (MBeans).
Étape 3 : Exposer les MBeans de gestion d' Spring Boot
Si les points de terminaison sont désactivés dans le application.properties fichier avec les paramètres de configuration suivants, vous devez alors rendre accessibles les MBeans de gestion d' Spring Boot, car le capteur dépend de ces MBeans pour collecter les métriques de l'application Spring Boot :
management.endpoints.enabled-by-default=false
Pour exposer les MBeans, activez les points de terminaison suivants dans le application.properties fichier :
management.endpoint.info.enabled=true
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.endpoint.env.enabled=true
Instana interroge les métriques du MBean de gestion « Spring Bootorg.springframework.boot:type=Endpoint,name=Metrics ». Il n'est pas nécessaire de configurer l'authentification ni les identifiants pour les points de terminaison sécurisés des actionneurs.
Pour Spring Boot 3.x, assurez-vous que la directive suivante figure dans le application.properties fichier :
management.endpoints.jmx.exposure.include=env,health,info,metrics
Étape 4 : Exposer les points de terminaison via HTTP
Pour l' Spring Boot ion 2 et les versions ultérieures, l' Spring Boot Actuator assure la gestion des dépendances et la configuration automatique de l' Micrometer. Selon la version d' Spring Boot, différents indicateurs Micrometer sont disponibles sur le tableau de bord JVM.
Pour exclure certains points de terminaison de l' HTTP, utilisez la directive suivante :
management.endpoints.web.exposure.exclude=health,info
Pour exclure tous les points de terminaison d' HTTP, utilisez la directive suivante :
management.endpoints.web.exposure.exclude=*
Étape 5 : Afficher les valeurs d'environnement sous forme de texte
Avant que les propriétés de configuration de l'application puissent s'afficher dans l'interface utilisateur d' Instana, vous devez apporter d'autres modifications au application.properties fichier. Sinon, ces propriétés sont affichées sous la forme ****** en raison de valeurs sensibles. Pour plus d'informations, consultez la section « Sanitiser les valeurs sensibles ».
Pour toujours afficher les valeurs sous forme de texte en clair, utilisez la configuration suivante dans le fichier application.properties :
management.endpoint.env.show-values=ALWAYS
Étape 6 : Nommer les applications d' Spring Boot
Instana extrait le nom des instances de l' Spring Boot e à partir des sources suivantes :
spring.application.namepropriété : si cette propriété est définie dans la configuration de votre application, sa valeur est utilisée comme nom de l'application. Sous Spring Boot e 3, pour spécifier le nom de l'application Spring Boot, définissez laspring.application.namepropriété dans leapplication.propertiesfichier comme suit :spring.application.name=<Your_Application_Name>build-info.propertiesfichier : sispring.application.namen'est pas défini, Instana récupère le nom de l'application Spring Boot à partir dubuild-info.propertiesfichier. Ce fichier peut être généré, par exemple, à l'aide despring-boot-maven-plugin:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> <executions> <execution> <goals> <goal>build-info</goal> </goals> <configuration> <additionalProperties> <name>${project.artifactId}</name> <version>${project.version}</version> </additionalProperties> </configuration> </execution> </executions> </plugin>Pour plus d'informations sur l'intégration avec Actuator, consultez la documentation du plugin Spring BootMaven.
Facultatif : définir le paramètre « health-interval »
Par défaut, Instana vérifie l'état de l'application Spring Boot toutes les 10 minutes en interrogeant le MBean de gestion org.springframework.boot:type=Endpoint,name=Health.
Pour configurer le paramètre health-interval souhaité, définissez la valeur en secondes :
com.instana.plugin.springboot:
health-interval: 30
Facultatif : configuration de la fréquence d'interrogation
Vous pouvez configurer la fréquence à laquelle l' Instana interroge Spring Boot pour collecter des données et des métriques en utilisant le poll_rate paramètre dans le fichier de configuration.yaml l'agent, comme le montre l'exemple suivant :
com.instana.plugin.springboot:
poll_rate: 1 # values are in seconds. Default value is 1 second.
Affichage des mesures
Pour afficher les métriques, procédez comme suit:
- Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
- Cliquez sur un hôte surveillé spécifique.
Vous pouvez voir un tableau de bord hôte avec toutes les métriques collectées et les processus surveillés.
Terminaux et sessions d' HTTP
Instana Spring Boot Le capteur recueille les métriques suivantes à partir des terminaux et des sessions d' HTTP :
Données de configuration
Le tableau suivant répertorie les données de configuration collectées par le capteur Instana Spring Boot :
| Configuration | Description |
|---|---|
| Nom | Nom de l'application Spring Boot . |
| Version de l'application | Version de génération de l'application Spring Boot . |
| Version de SpringBoot | Version de l'infrastructure Spring Boot . |
| Statut | Le statut de la demande d' Spring Boot, parUp exempleDown... |
| Port | La version pour l' HTTP e de l'application Spring Boot. |
| Limite de session HTTP | Nombre maximal de sessions d' HTTP s pour l'application Spring Boot. |
| Configuration de l'application | Les informations de configuration de l'application Spring Boot , y compris le chemin de configuration et les propriétés. |
Métriques de performance
Le tableau suivant répertorie les indicateurs de performance collectés par le capteur « Instana » Spring Boot :
| Métrique | Description | Granularité |
|---|---|---|
| Répartition des demandes ou des réponses de noeud final | Le nombre de requêtes par seconde pour chaque code d'état de réponse ( 1xx, 2xx, 3xx, 4xx ou 5xx ) | 1 seconde |
| Sessions HTTP | Nombre de sessions HTTP actives | 1 seconde |
Sources de données
Instana Spring Boot Le capteur recueille les données de surveillance suivantes à partir des sources de données :
Données de configuration
Le tableau suivant répertorie les données de configuration collectées à partir des sources de données :
| Nom | Description |
|---|---|
| Nom du pool | Le nom de la piscine de HikariCP. |
| Dépassement du délai d'attente de connexion | Le délai de connexion de HikariCP. |
Métriques de performance
Les indicateurs de performance suivants sont collectés à partir des sources de données :
Java Source de données « JDBC » (Connexion à la base de données)
Le tableau suivant répertorie les indicateurs d' JDBC s collectés à partir des sources de données :
| Métrique | Afficher le nom | Description | Granularité |
|---|---|---|---|
active |
Actif | Le nombre de connexions actives. | 1 seconde |
idle |
En veille | Le nombre de connexions inactives. | 1 seconde |
max |
Max | Le nombre de connexions maximum. | 1 seconde |
min |
Min | Le nombre de connexions minimum. | 1 seconde |
HikariCP source de données
Le tableau suivant répertorie les indicateurs d' HikariCP s collectés à partir des sources de données :
| Métrique | Afficher le nom | Description | Granularité |
|---|---|---|---|
acquire |
Acquisitions | Le nombre d'acquisitions de connexions. | 1 seconde |
active |
Actif | Le nombre de connexions actives. | 1 seconde |
creation |
Créations | Le nombre de créations de connexions. | 1 seconde |
idle |
En veille | Le nombre de connexions inactives. | 1 seconde |
max |
Max | Le nombre de connexions maximum. | 1 seconde |
min |
Min | Le nombre de connexions minimum. | 1 seconde |
pending |
Unités d'exécution en attente | Le nombre de threads en attente d'une connexion. | 1 seconde |
timeout |
Dépassements du délai d'attente | Le nombre de délais d'attente de connexion. | 1 seconde |
total |
Total | Le nombre total de connexions. | 1 seconde |
usage |
Utilisation | Nombre de connexions rajoutées au pool. | 1 seconde |
Signatures d'intégrité
Pour chaque détecteur, une base de connaissances organisée des signatures de santé est évaluée en continu par rapport aux métriques entrantes et est utilisée pour signaler des problèmes ou des incidents qui dépendent de l'impact de l'utilisateur.
Les événements intégrés déclenchent des problèmes ou des incidents en fonction de signatures d'état de santé défaillantes sur des entités, tandis que les événements personnalisés déclenchent des problèmes ou des incidents en fonction des seuils d'une métrique spécifique de n'importe quelle entité sélectionnée.
Pour plus d'informations sur les événements générés pour le détecteur Spring Boot , voir la référence des événements intégrés.
Traitement des incidents
Utilisez ces entrées de traitement des incidents pour résoudre les problèmes liés à la surveillance des applications Spring Boot . Un message d'erreur indiquant le type de problème et une brève explication de ce qui s'est passé s'affiche sur le tableau de bord « Spring Boot » dans l'interface utilisateur d' Instana.
Spring Boot Actuator n'est pas configuré
Type de problème de surveillance : springboot_actuator_not_configured
Pour configurer l'actionneur Spring Boot , voir Configuration de l'actionneur Spring Boot.
JMX n'est pas activé
Type de problème de surveillance : springboot_jmx_not_enabled
Pour activer l' JMX, consultez la section « Configuration de l' Spring Boot Actuator ».
spring.main.lazy-initialization propriété est activée, vous devez mettre à jour la version d' Spring Boot vers la version 2.4.12 ou une version ultérieure.