1. Introduction
Github: https://github.com/codecentric/spring-boot-admin
Document officiel: http://codecentric.github.io/spring-boot-admin/1.5.7/ (ce document est un document avec la version 1.5.7)
Les applications s'inscrivent avec notre client d'administration de démarrage Spring (via HTTP) ou sont découvertes à l'aide de Spring Cloud ® (par exemple Eureka, consul).
Le document officiel mentionne que l'utilisation de la surveillance de Spring Boot Admin nécessite un service Spring Boot Admin Server, et les autres services surveillés sont un client d'administration de Spring Boot, ou le service de surveillance est effectué via les composants d'enregistrement et de découverte de service tels que EUREAK et Consul dans Spring Cloud. De cette façon, il n'est pas nécessaire de configurer délibérément les services surveillés pertinents en tant que client, il suffit de vous inscrire à Eureka ou Consul.
Remarque: Cet article est basé sur Spring Cloud Eureka en tant que composant de découverte d'enregistrement de services pour réaliser la surveillance des services. Le service d'Eureka existe à l'avance. De plus: si vous n'utilisez pas Eureka, vous devez introduire des pots clients dans le service surveillé. Pour plus de détails, veuillez vous référer à la documentation officielle ci-dessus. *
2. Créez le service Spring Boot Admin Server Server
Créez d'abord un projet de démarrage en spirng, qui peut être rapidement construit via http://start.spring.io/.
1. Ajouter les dépendances du serveur d'administration de démarrage Spring
pom.xml
<Dependances> <Dependency> <ProupId> de.CodeCentric </rompuprid> <ArtefactId> Spring-Boot-Admin-starter-server </ artifactId> <Derson> 1.5.7 </ version> </ Dependency> </Dependces>
2. Ajouter une annotation @EnableAdminServer pour permettre la surveillance
@ Configuration @ perteAutoConfiguration @ perteadMinserverPublic class SpringbootAdminApplication {public static void main (String [] args) {SpringApplication.run (SpringbootAdminApplication.class, args); }}3. Enregistrez le serveur d'administration de démarrage Spring à Eureka
Ajouter les dépendances Eureka
pom.xml
<dependency> <proupId> org.springframework.cloud </proupId> <ArtefactId> Spring-Cloud-starter-eureka </retifactid> </pedigency>
Ajouter @EnableDiscoveryClient pour activer la découverte de service
@ Configuration @ perteAutoConfiguration @veablediscoveryClient @ perteadminserverpublic class SpringbootAdminApplication {public static void main (String [] args) {SpringApplication.run (SpringbootAdminApplication.class, args); }}Ajouter la configuration d'enregistrement du service Eureka
Eureka: Instance: LeseRenewAlintervalinSeconds: 10 Client: RegistryFetchIntervalseconds: 5 ServiceUrl: DefaultZone: http://10.1.3.54:8761/eureka/# éteignez la sécurité de l'agresseur de démarrage à ressort, sinon l'accès à la trajectoire sensible est 401MANGAGNE: Sécurité: performante: False
Démarrez le projet et visitez IP: Port pour entrer la page gérée
Comme indiqué dans l'image:
Les éléments illustrés sur la figure sont tous des services enregistrés auprès d'Eureka, et les éléments sont surveillés en enregistrant le serveur d'administration de démarrage Spring à Eureka.
3. Paramètres de configuration
1. Connectez-vous à l'interface utilisateur
Admin Management Service n'a pas de mesures de sécurité, et n'importe qui peut y accéder en connaissant l'IP et le port, ce qui est très dangereux, et Spring Boot Admin fournit également une page de connexion. Besoin d'être utilisé avec la sécurité du printemps.
Ajouter les dépendances de l'interface utilisateur de Spring Boot:
<dependency> <proupId> de.codecentric </rom grouped> <Ertifactid> printemps-boot-admin-server-ui-login </ artifactId> <version> 1.5.7 </ version> </Dependency>
Ajouter les dépendances de sécurité du printemps:
<dependency> <proupId> org.springframework.boot </proupId> <ArtifactId> printemp-boot-starter-security </retifactid> </pedicke>
Ajoutez du code de configuration à la classe de démarrage du projet:
package com.aspire.springbootadmin; import de.codecentric.boot.admin.config.enableadminerver; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.enableAutoconfiguration; importation; org.springframework.cloud.client.discovery.enablediscoveryclient; import org.springframework.context.annotation.configuration; import org.springframework.security.config.annotation.web.builders.httpule org.springframework.security.config.annotation.web.configuration.webSecurityConfigurerAdapter; @ configuration @ ClassAutoConfiguration @ eablediscoveryClient @ Public Static Void Main (String [] args) { SpringApplication.Run (SpringbootAdminApplication.class, Args); } @Configuration public static class static securityconfig étend WebSecurityConfigurerAdapter {@Override Protected void configure (httpsecurity http) lève une exception {// la page avec le formulaire de connexion est servie comme /login.html et fait un post sur / connexion http.formlogin (). LoginPage ("/ login.html"). LoginProcessingUrl ("/ login"). permutall (); // l'interface utilisateur fait un message sur / déconnexion sur la connexion http.logout (). LogUTUrl ("/ logout"); // L'UI ne prend actuellement pas en charge CSRF http.csrf (). Disable (); // Les demandes de la page de connexion et les actifs statiques sont autorisés à http.authorizeRequests () .antmatchers ("/ login.html", "/**/*.css", "/ img / **", "/ tiers-parts / **") .permitall (); // ... et toute autre demande doit être autorisée http.AuthorizeRequests (). antmatchers ("/ **"). Authenticated (); // Activer afin que les clients puissent s'authentifier via HTTP Basic pour l'enregistrement de http.httpbasic (); }}}Ajouter un fichier de configuration
Sécurité: utilisateur: Nom: Admin Mot de passe: 123123 Basique: Activé: False
Une page de connexion apparaît lors de l'accès à nouveau
Entrez le nom d'utilisateur et le mot de passe configurés dans la configuration et cliquez sur Connectez-vous pour vous connecter. Après l'entrée, il y aura un bouton de sortie supplémentaire sur la barre de navigation. Après avoir cliqué, vous reviendrez sur la page de connexion.
2. Informations sur la version de l'application client
Pour afficher la version dans la liste des applications, utilisez le plugin build-info de Maven et ajoutez le plugin dans le fichier pom.xml
<Duild> <Glugin> <Glugin> <GroupId> org.springframework.boot </prôdId> <ArtifActid> printemps-boot-maven-Plugin </ ArtifactId> <Executions> <Exécution> <wards> <buto Build-Info </ but
Comme indiqué sur la figure: si rien n'est ajouté, il ne sera pas affiché.
3. Gestion de la cliente de l'application JMX
Pour interagir avec JMX-Beans dans l'interface Admin, vous devez inclure Jolokia dans votre application. Ajouter des dépendances POM:
<dependency> <proupId> org.jolokia </rom groupeid> <Artefactive> Jolokia-core </refactive> </Dependency>
Après l'avoir ajouté, vous pouvez voir le menu JMX dans le menu de détection de l'application surveillée.
4. L'application client ajoute le journal du journal
La configuration dans les propriétés de l'application client est la suivante:
journalisation: chemin: / xxx / xxx / xxx /
Spécifiez le chemin de sortie du journal, puis le journal peut être affiché:
5. Prise en charge de l'interface utilisateur Hystrix
Spring Boot Admin peut également intégrer l'affichage Hystrix. La prémisse est que le client doit activer Hystrix.
Ajout de dépendances dans le serveur d'administration de démarrage Spring
<dependency> <proupId> de.codecentric </rom grouped> <Artifactid> printemps-boot-admin-server-ui-hystrix </refactive> <version> 1.4.6 </-version> </Dependency>
Ajouter un nœud de points de terminaison dans le fichier de configuration du serveur
Copiez le code comme suit: printemps.boot.admin.routes.endpoints: env, métriques, trace, vidage, jolokia, info, configprops, trace, log, rafraîchissement, flyway, liquibase, heapdump, activiti, hystrix.stream
Cliquez pour ouvrir le client Hystrix, cliquez sur le menu Hystrix pour voir les informations Hystrix
6. Prise en charge de l'interface utilisateur
Spring Boot Admin peut également intégrer l'affichage de la turbine.
Rejoignez les dépendances:
<dependency> <proupId> de.codecentric </rombandid> <Ertifactid> printemps-boot-admin-server-ui-tururbine </ artifactive> <version> 1.5.7 </-version> </Dependency>
Configurez le cluster et l'emplacement de la turbine. Les clusters sont les mêmes clusters configurés dans le service Turbin. L'emplacement doit spécifier le nom du service de turbine enregistré dans Eureka. Par exemple, votre nom de service de turbine est Turbine-Server, et la configuration est comme indiqué ci-dessous. (En fait, le serveur d'administration de démarrage Spring peut être considéré comme un service de turbine. Si le service de turbine a déjà existé, il peut être configuré directement ici. Si le service de turbine n'existe pas, ajoutez des dépendances et des configurations liées à la turbine pour le serveur d'administration de démarrage Spring, de sorte que le serveur d'administration de Spring Boot devient un service de turbine.)
Spring.boot.admin.Turbine: Clusters: Par défaut Lieu: Turbine-Server
Enfin, ajoutez le point de terminaison de Turbine.Stream dans le fichier de configuration
Copiez le code comme suit: printemps.boot.admin.routes.endpoints: env, métriques, trace, vidage, jolokia, info, configprops, trace, logfile, rafraîchissement, volée, liquibase, heapdump, activiti, hystrix.stream, turbine.stream
interface
Il y aura un onglet de turbine supplémentaire dans la barre de navigation, et vous pouvez voir les informations de la turbine en cliquant.
7. Notification par e-mail
Spring Boot Admin prend également en charge les notifications par e-mail.
Ajouter des dépendances
<dependency> <proupId> org.springframework.boot </proupId> <ArtefactId> printemp-boot-starter-Mail </retifactid> </dEpendency>
Ajoutez la configuration de l'e-mail Spring (je me souviens d'une petite fosse ici. J'ai commencé à utiliser la boîte aux lettres QQ, mais je n'ai pas pu me connecter au serveur SMTP de la boîte aux lettres QQ. J'ai vérifié la raison car Tencent a interdit l'IP intranet de l'entreprise, mais il n'y avait aucun problème à se connecter au réseau 4G.)
Spring: Mail: Hôte: mmmail.aspire-tech.com Mot de passe: XXXXX PORT: 25 Nom d'utilisateur: xxxx
Ajouter la configuration du courrier d'administration de démarrage Spring
BOOT: Admin: Notify: Mail: To: [email protected] de: chu [email protected] Activé: true
L'effet est comme indiqué sur la figure. Il y aura des notifications par e-mail lorsque le service de surveillance sera démarré ou arrêté.
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.