Spring Boot - Serveur Admin

La surveillance de votre application à l'aide de Spring Boot Actuator Endpoint est légèrement difficile. Parce que, si vous avez un nombre «n» d'applications, chaque application a des points d'extrémité d'actionneur séparés, ce qui rend la surveillance difficile. Spring Boot Admin Server est une application utilisée pour gérer et surveiller votre application Microservice.

Pour gérer de telles situations, CodeCentric Team fournit une interface utilisateur d'administration Spring Boot pour gérer et surveiller tous les points de terminaison de l'actionneur d'application Spring Boot en un seul endroit.

Pour créer un serveur d'administration Spring Boot, nous devons ajouter les dépendances ci-dessous dans votre fichier de configuration de construction.

Les utilisateurs Maven peuvent ajouter les dépendances ci-dessous dans votre fichier pom.xml -

<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-server</artifactId>
   <version>1.5.5</version>
</dependency>
<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-server-ui</artifactId>
   <version>1.5.5</version>
</dependency>

Les utilisateurs de Gradle peuvent ajouter les dépendances ci-dessous dans votre fichier build.gradle -

compile group: 'de.codecentric', name: 'spring-boot-admin-server', version: '1.5.5'
compile group: 'de.codecentric', name: 'spring-boot-admin-server-ui', version: '1.5.5'

Ajoutez l'annotation @EnableAdminServer dans votre fichier de classe d'application Spring Boot principal. L'annotation @EnableAdminServer est utilisée pour faire de votre serveur Admin pour surveiller tous les autres microservices.

package com.tutorialspoint.adminserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import de.codecentric.boot.admin.config.EnableAdminServer;

@SpringBootApplication
@EnableAdminServer
public class AdminserverApplication {   
   public static void main(String[] args) {
      SpringApplication.run(AdminserverApplication.class, args);
   }
}

Maintenant, définissez le serveur.port et le nom de l'application dans le fichier application.properties comme indiqué -

server.port = 9090
spring.application.name = adminserver

Pour les utilisateurs YAML, utilisez les propriétés suivantes pour définir le numéro de port et le nom de l'application dans le fichier application.yml.

server:
   port: 9090
spring:
   application:
      name: adminserver

Le fichier de configuration de construction est donné ci-dessous.

For Maven users – pom.xml

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoint</groupId>
   <artifactId>adminserver</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <packaging>jar</packaging>

   <name>adminserver</name>
   <description>Demo project for Spring Boot</description>

   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.9.RELEASE</version>
      <relativePath /> <!-- lookup parent from repository -->
   </parent>

   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <java.version>1.8</java.version>
   </properties>

   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter</artifactId>
      </dependency>

      <dependency>
         <groupId>de.codecentric</groupId>
         <artifactId>spring-boot-admin-server</artifactId>
         <version>1.5.5</version>
      </dependency>
      
      <dependency>
         <groupId>de.codecentric</groupId>
         <artifactId>spring-boot-admin-server-ui</artifactId>
         <version>1.5.5</version>
      </dependency>

      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>
   
</project>

For Gradle users – build.gradle file

buildscript {
   ext {
      springBootVersion = '1.5.9.RELEASE'
   }
   repositories {
      mavenCentral()
   }
   dependencies {
      classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
   }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

group = 'com.tutorialspoint'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {   
   mavenCentral()
}
dependencies {
   compile('org.springframework.boot:spring-boot-starter')
   compile group: 'de.codecentric', name: 'spring-boot-admin-server', version: '1.5.5'
   compile group: 'de.codecentric', name: 'spring-boot-admin-server-ui', version: '1.5.5'   
   testCompile('org.springframework.boot:spring-boot-starter-test')
}

Vous pouvez créer un fichier JAR exécutable et exécuter l'application Spring Boot à l'aide des commandes Maven ou Gradle suivantes:

Pour Maven, utilisez la commande indiquée ici -

mvn clean install

Après «BUILD SUCCESS», vous pouvez trouver le fichier JAR dans le répertoire cible.

Pour Gradle, utilisez la commande indiquée ici -

gradle clean build

Après «BUILD SUCCESSFUL», vous pouvez trouver le fichier JAR dans le répertoire build / libs.

Maintenant, exécutez le fichier JAR en utilisant la commande ci-dessous -

java –jar <JARFILE>

Maintenant, l'application a démarré sur le port Tomcat 9090 comme indiqué ici -

Cliquez maintenant sur l'URL ci-dessous depuis votre navigateur Web et consultez l'interface utilisateur du serveur d'administration.

http://localhost:9090/