Le printemps-actuateur est un module intégré de Spring-Boot pour la surveillance des applications. Il prend en charge la surveillance de notre serveur, ce qui nous permet d'obtenir plus intuitivement la configuration de l'application, les variables d'environnement, les rapports de configuration automatisés, etc. chargés dans l'application.
Utilisation de Spring-Actuator
1. Présenter les dépendances Maven
<! - Module de surveillance et de gestion -> <dependency> <proupId> org.springframework.boot </proupId> <ArtefactId> printemps-boot-starter-actuator </ artifactid> </dependency>
Après avoir introduit des dépendances, démarrez le projet.
L'URL dont nous avons besoin sera imprimée lorsque le projet commencera
2018-03-26 23: 19: 00.169 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/env/ /name:.*. java.lang.object org.springframework.boot.actuate.endpoint.mvc.environmentmvcenpoint.value (java.lang.string)
2018-03-26 23: 19: 00.169 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ Env || /env.json java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ Trace || /trace.json. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Dump || /Dump.json java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.171 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Auditevents || /Auditvents.json DomMethods== Formul org.springframework.http.RespaseEntity <?> org.springframework.boot.actuate.endpoint.mvc.Auditventsmvcendpoint.findbyPrincipalandAfterandType (java.lang.string, java.util.date, java.lang.string)
2018-03-26 23: 19: 00.171 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ mappings || /mappings.json. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.172 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ AutoConfig || / AutoConFig.json Dom dehods== From Domproduces=*APLICATION / JSON)" APPLICATION] "APPLICATION" sur public java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/Metrics/{name:.*} java.lang.object org.springframework.boot.actuate.endpoint.mvc.Metricsmvcenpoint.value (java.lang.string)
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ Metrics || /Metrics.json. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Pause || /pause.json.
2018-03-26 23: 19: 00.174 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Service-Registry / instance-status], Methods = [Post]}" sur Public Org.SpringFramework.http.Respentity <?> org.springframework.cloud.client.serviceRegistry.endpoint.serviceRegstryendpoint.setstatus (java.lang.string)
2018-03-26 23: 19: 00.174 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Service-Registry / instance-status], Methods = [get]}" sur public org.springframework.http. org.springframework.cloud.client.serviceRegistry.endpoint.serviceRegryEndpoint.getStatus ()
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/loggers/{name:. java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcenpoint.get (java.lang.string)
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/loggers/{name:.* application / json], produit = [application / vnd.spring-boot.actuator.v1 + json || application / json]} "sur public java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcrendpoint.set (java.string, java.util.map. java.lang.string>)
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ Loggers || /Loggers.json DomMethods== Formul java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.176 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Heapdump || /heapDump.json DomMethods== Formul org.springframework.boot.actuate.endpoint.mvc.heapDumpMvcendpoint.invoke (Boolean, javax.servlet.http.httpservletRequest, javax.servlet.http.httpservletResponse) Throws Java.ioioException, Javax.Servlet.Servery
2018-03-26 23: 19: 00.176 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ refresh || /refresh.json.
2018-03-26 23: 19: 00.177 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ RESUME | hersume.json.
2018-03-26 23: 19: 00.178 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ ConfigProps || /ConfigProps.json DomMethods=orge java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.178 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ archaius || /archaius.json. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ Health || /Health.json java.lang.object org.springframework.boot.actuate.endpoint.mvc.healthmvcenpoint.invoke (javax.servlet.http.httpservletRequest, java.security.principal)
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Env], Methods = [Post]}" sur Java.Lang.Object org.springframework.cloud.context.environment.environmentManAgerMvcendPoint.value (java.util.map <java.lang.string, java.lang.string>)
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ Env / reset], Methods = [Post]}" sur public Java.util.map <Java.lang.string, Java.lang.object> org.springframework.cloud.context.environment.environmentManAgerMvCendpoint.Reset ()
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ fonctionnalités || /features.json java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.180 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ redémarrer || /restart.json. org.springframework.cloud.context.restart.restartmvcendpoint.invoke ()
2018-03-26 23: 19: 00.181 Info 6148 --- [Main] Osbaemvc.endPoinThandLermapping: Mapted "{[/ entity || /entity.json java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.181 Info 6148 --- [Main] Osbaemvc.endpoinThandLermapping: Mapted "{[/ info || /info.json java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.193 Info 6148 --- [Main] swsmmarequestmappinghandlermapping: mapted "{[/ error]}" sur public java.util.map <java.lang.string, java.lang.object> org.springframework.boot.actuate.endpoint.mvc.ManagementRoRenRendpoint.invoke ()
2. Configuration du fichier de configuration YML
(1) Configurez le numéro de port et n'activez pas un certain module fonctionnel
#Develop Numéro de port, sinon, il est le même que le serveur Server.port Management: Port: 4321 # Supprimer une fonction qui n'a pas besoin d'afficher le contenu, si la santé n'est pas requise, Santé: Mail: #false signifie que cette fonction n'est pas activée: False
La configuration ci-dessus indique que le port configuré est le port HTTP 4321 et que la fonction de santé est désactivée.
(2) modifier le chemin de mappage
#Modify Le chemin de l'identifiant de mappage d'un point de terminaison de configuration: Beans: ID: Entité
La configuration ci-dessus signifie modifier le chemin pour créer des haricots par / haricots vers / entité
(3) Configurer la configuration de sécurité de l'actionneur
La sécurité du printemps est requise
Introduire les dépendances
<! - Pour l'authentification du compte d'accès du centre d'enregistrement -> <dependency> <proupId> org.springframework.boot </prôdId> <ArtefactId> printemps-boot-starter-security </ artifactid> </dependency>
Configurer le mot de passe du compte:
Sécurité: Basic: #Represents pour activer l'authentification du mot de passe du compte Authentification Activé: Vrai #Configure Compte et mot de passe utilisateur: Nom: Root Motword: 123
Après avoir configuré le mot de passe du compte, vous pouvez y accéder via http://127.0.0.1:4321 et entrez le compte et le mot de passe configurés. Il est valable lorsque le navigateur n'est pas fermé une fois.
(4) Afficher le message d'affichage au format JSON
L'affichage du format JSON a une meilleure lisibilité et esthétique
#Print le paquet affiché par acyuator dans le format JSON Spring: Jackson: Serialization: indent-sorti: true
Ajouter la configuration ci-dessus au fichier application.yml
3. Configuration de la classe de démarrage
@ SpringbootApplication @ activingerekaserver // Cette annotation de ligne représente un composant enregistré pour un service. Cette annotation ne s'applique qu'à la classe eurekapublic eurekaserverApplication {public static void main (String [] args) {springApplication.run (eurekaserverApplication.class, args); }}Exécuter sans configuration
4. Quelques modules de configuration majeurs
| Méthode de demande HTTP | chemin | décrire |
| OBTENIR | / AutoConfig | Utilisé pour obtenir des informations de configuration automatisées pour l'application |
| OBTENIR | /haricots | Utilisé pour obtenir tous les haricots créés par le contexte de l'application |
| OBTENIR | / configProps | Obtenez le rapport d'informations sur l'attribut configuré dans l'application |
| OBTENIR | / env | Utilisé pour obtenir tous les rapports d'attribut de variables d'environnement disponibles pour l'application |
| OBTENIR | / mappages | Rapport de relation de cartographie du contrôleur pour obtenir tous les printemps |
| OBTENIR | / info | Utilisé pour obtenir des informations de personnalisation d'application |
(1) / AutoConfig
Il y a deux nœuds maîtres sous cette configuration.
PositiveMatches: Renvoie les informations de configuration automatique pour une correspondance de condition réussie
négativematches: renvoie les informations de configuration que la correspondance de condition est échouée
(2) / haricots
Ce fichier de configuration est utilisé pour afficher des objets bean chargés par le contexte de l'application ApplicationContext, y compris les nœuds suivants:
"Context": "bootstrap", "parent": null, "Beans": [{"Bean": "PropertySourceBootsstrapConfiguration", "alias": [], "Scope": "Singleton", "Type": "org.springframework.cloud.bootstrap.config.propertysourcebootstrapconfiguration $$ Enhancer GyspringCglib $$ 82fdf928", "ressource": "null", "dépendances": []}]Beans est une collection de classes chargées dans le contexte de l'application, qui comprend les balises suivantes:
1), Bean: le nom du haricot créé par le contexte de l'application
2) Portée: la portée du haricot créé
Singleton: Singleton, est la portée par défaut du printemps
Prototype: chaque demande générera une nouvelle instance, ce qui équivaut à une nouvelle opération
Demande: chaque demande HTTP générera une nouvelle instance, et le haricot actuel n'est valide que dans le même httprequest
Session: valide dans la même httpSession
3), Type: Le type de haricot utilisé pour la gestion de contexte
Nom de classe entièrement qualifié pour la classe
4) Ressource: le chemin d'accès spécifique vers le fichier de classe
5) Dépendances: le nom du haricot de dépendance, c'est-à-dire le nom du haricot associé dans le haricot
(3) / ConfigProps: obtenez le rapport d'informations d'attribut configuré dans l'application
Il y a deux nœuds enfants ci-dessous
Préfixe: configurer le préfixe des attributs
Propriétés: représente les noms et valeurs de chaque propriété
(4) / Env est utilisé pour obtenir le rapport d'attribut de variable d'environnement du contexte de l'application, tels que les variables d'environnement, les attributs JVM, les informations de configuration d'application, les paramètres dans la ligne de commande, etc.
1) Server.ports représente le numéro de port configuré par l'application
2) SystemProperties obtient la JVM et d'autres informations pour l'application
(5) / Mappings Rapport de cartographie du contrôleur SpringMVC,
{"{[/ error]}": {"bean": "requestmappinghandlermapping", "méthode": "public org.springframework.http.responseentity <java.util.map <java.lang.string, java.lang.object >> org.springframework.boot.autoconfigure.web.basicerrorcontroller.error (javax.servlet.http.httpservletRequest) "}}1) / L'erreur représente le chemin de mappage de Springmvc
2) / Bean représente la classe utilisée pour la cartographie du mappeur de processeur
3) / La méthode représente la méthode dans la classe de mappage
(6) Les informations sont utilisées pour obtenir des informations de configuration personnalisées configurées dans Application.yml
5. Configuration des mesures
Le contenu du rapport fourni par les métriques est modifié dynamiquement et fournit des informations d'instantané; tels que l'utilisation de la mémoire, le comptage des demandes HTTP, les statistiques des indicateurs de ressources externes, etc.
(1) / Les mesures renvoient diverses mesures importantes actuellement appliquées. Il y a le contenu suivant
1) Informations système: Processeurs --- Nombre de processeurs
instance.Uptime ------ Temps d'exécution
Systemload.Every - moyenne de la charge du système, etc.
2), hommes. *: Informations de résumé de la mémoire du système
3), tas. *: Utilisation de la mémoire du tas
4).
5) Filetages. *: Utilisation du fil
6) Classs. *: Classe de chargement et de déchargement
7), GC. *: Détails du collecteur des ordures
8), HttpSession. *: Le statut de peinture de conteneurs tels que Tomcat
9), Magage. *: Renvoie une valeur de mappage, comme le temps de retard, etc.
10), conter. *: Utilisé comme compteur, la quantité d'augmentation et de diminution est enregistrée
(2) / santé: divers indicateurs de santé
Certaines informations sur la mémoire sont présentées ci-dessous.
"Diskpace": {"Status": "Up", "Total": 21475880960, "Free": 8916258816, "Threshold": 10485760}(3) / Dump: utilisé pour exposer les informations sur le thread dans le programme
ThreadName - le nom de thread exposé
ID de thread ThreadID - Exposition, etc.
(4) / Trace: utilisé pour suivre les informations HTTP de base
6. Configuration de la classe de contrôle de l'opération
(1) / shutdowm est utilisé pour fermer le fonctionnement à distance de l'application - par demande de poste
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.