Spring Boot - Servidor de administración

Monitorear su aplicación usando Spring Boot Actuator Endpoint es un poco difícil. Porque, si tiene 'n' aplicaciones, cada aplicación tiene puntos finales de actuador separados, lo que dificulta la supervisión. Spring Boot Admin Server es una aplicación que se utiliza para administrar y monitorear su aplicación de microservicio.

Para manejar tales situaciones, CodeCentric Team proporciona una interfaz de usuario de administrador de Spring Boot para administrar y monitorear todos los puntos finales del actuador de la aplicación Spring Boot en un solo lugar.

Para construir un servidor de administración de Spring Boot, necesitamos agregar las siguientes dependencias en su archivo de configuración de compilación.

Los usuarios de Maven pueden agregar las siguientes dependencias en su archivo 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>

Los usuarios de Gradle pueden agregar las siguientes dependencias en su archivo 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'

Agregue la anotación @EnableAdminServer en su archivo principal de clase de la aplicación Spring Boot. La anotación @EnableAdminServer se utiliza para convertirlo en servidor de administración para supervisar todos los demás microservicios.

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

Ahora, defina el server.port y el nombre de la aplicación en el archivo application.properties que se muestra:

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

Para los usuarios de YAML, use las siguientes propiedades para definir el número de puerto y el nombre de la aplicación en el archivo application.yml.

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

El archivo de configuración de compilación se proporciona a continuación.

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

Puede crear un archivo JAR ejecutable y ejecutar la aplicación Spring Boot mediante los siguientes comandos de Maven o Gradle:

Para Maven, use el comando que se muestra aquí:

mvn clean install

Después de "BUILD SUCCESS", puede encontrar el archivo JAR en el directorio de destino.

Para Gradle, use el comando que se muestra aquí:

gradle clean build

Después de "BUILD SUCCESSFUL", puede encontrar el archivo JAR en el directorio build / libs.

Ahora, ejecute el archivo JAR usando el comando que se proporciona a continuación:

java –jar <JARFILE>

Ahora, la aplicación se ha iniciado en el puerto 9090 de Tomcat como se muestra aquí:

Ahora presione la siguiente URL desde su navegador web y vea la interfaz de usuario del servidor de administración.

http://localhost:9090/