Spring Boot - Servidor Admin

Monitorar seu aplicativo usando Spring Boot Actuator Endpoint é um pouco difícil. Porque, se você tiver 'n' número de aplicativos, cada aplicativo terá terminais de atuador separados, dificultando o monitoramento. Spring Boot Admin Server é um aplicativo usado para gerenciar e monitorar seu aplicativo Microservice.

Para lidar com tais situações, CodeCentric Team fornece um Spring Boot Admin UI para gerenciar e monitorar todos os endpoints do seu aplicativo Spring Boot Actuator em um só lugar.

Para construir um Spring Boot Admin Server, precisamos adicionar as dependências abaixo em seu arquivo de configuração de construção.

Os usuários do Maven podem adicionar as dependências abaixo em seu arquivo 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>

Os usuários do Gradle podem adicionar as dependências abaixo em seu arquivo 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'

Adicione a anotação @EnableAdminServer em seu arquivo de classe do aplicativo Spring Boot principal. A anotação @EnableAdminServer é usada para torná-lo um servidor de administração para monitorar todos os outros microsserviços.

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

Agora, defina o server.port e o nome do aplicativo no arquivo application.properties mostrado -

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

Para usuários YAML, use as seguintes propriedades para definir o número da porta e o nome do aplicativo no arquivo application.yml.

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

O arquivo de configuração do build é fornecido abaixo.

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

Você pode criar um arquivo JAR executável e executar o aplicativo Spring Boot usando os seguintes comandos Maven ou Gradle -

Para Maven, use o comando mostrado aqui -

mvn clean install

Depois de “BUILD SUCCESS”, você pode encontrar o arquivo JAR no diretório de destino.

Para Gradle, use o comando mostrado aqui -

gradle clean build

Depois de “BUILD SUCCESSFUL”, você pode encontrar o arquivo JAR no diretório build / libs.

Agora, execute o arquivo JAR usando o comando fornecido abaixo -

java –jar <JARFILE>

Agora, o aplicativo foi iniciado na porta Tomcat 9090, conforme mostrado aqui -

Agora acesse a URL abaixo no seu navegador e veja a interface do usuário do Admin Server.

http://localhost:9090/