Spring Boot - Server di amministrazione

Il monitoraggio dell'applicazione utilizzando Spring Boot Actuator Endpoint è leggermente difficile. Perché, se si dispone di un numero "n" di applicazioni, ogni applicazione ha endpoint dell'attuatore separati, rendendo così difficile il monitoraggio. Spring Boot Admin Server è un'applicazione utilizzata per gestire e monitorare la tua applicazione Microservice.

Per gestire tali situazioni, CodeCentric Team fornisce un'interfaccia utente di amministrazione Spring Boot per gestire e monitorare tutti gli endpoint dell'attuatore dell'applicazione Spring Boot in un'unica posizione.

Per creare un server di amministrazione Spring Boot, dobbiamo aggiungere le seguenti dipendenze nel file di configurazione della build.

Gli utenti Maven possono aggiungere le seguenti dipendenze nel file 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>

Gli utenti Gradle possono aggiungere le seguenti dipendenze nel file 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'

Aggiungi l'annotazione @EnableAdminServer nel file di classe dell'applicazione Spring Boot principale. L'annotazione @EnableAdminServer viene utilizzata per rendere il tuo server di amministrazione per monitorare tutti gli altri microservizi.

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);
   }
}

Ora, definire il server.port e il nome dell'applicazione nel file application.properties mostrato -

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

Per gli utenti YAML, utilizzare le seguenti proprietà per definire il numero di porta e il nome dell'applicazione nel file application.yml.

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

Di seguito viene fornito il file di configurazione della build.

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')
}

È possibile creare un file JAR eseguibile ed eseguire l'applicazione Spring Boot utilizzando i seguenti comandi Maven o Gradle:

Per Maven, usa il comando mostrato qui -

mvn clean install

Dopo "BUILD SUCCESS", è possibile trovare il file JAR nella directory di destinazione.

Per Gradle, usa il comando mostrato qui -

gradle clean build

Dopo "BUILD SUCCESSFUL", è possibile trovare il file JAR nella directory build / libs.

Ora, esegui il file JAR utilizzando il comando indicato di seguito:

java –jar <JARFILE>

Ora, l'applicazione è stata avviata sulla porta Tomcat 9090 come mostrato qui -

Ora premi l'URL seguente dal tuo browser web e vedi l'interfaccia utente del server di amministrazione.

http://localhost:9090/