Spring Boot Admin Server is a powerful tool for monitoring and managing Spring Boot applications. It provides a centralized dashboard for viewing application health, metrics, and logs. Spring Cloud Discovery, on the other hand, enables service registration and discovery for microservices-based applications. By integrating Spring Boot Admin Server with Spring Cloud Discovery, you can seamlessly monitor and manage your microservices architecture.

Prerequisites

Before diving into the integration process, ensure you have the following prerequisites in place:

  • Java Development Kit (JDK) 11 or higher
  • Maven or Gradle build tool installed
  • Basic understanding of Spring Boot and Spring Boot Actuator
  • Familiarity with Spring Cloud Discovery and its service registry (e.g., Eureka, Consul)

Maven Dependencies

For Maven users, include the following dependencies in your pom.xml file:

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-server</artifactId>
    <version>${spring-boot.admin.server.version}</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <version>${spring-cloud.version}</version>
</dependency>

Gradle Dependencies

For Gradle users, add the following dependencies to your build.gradle file:

dependencies {
    implementation 'de.codecentric:spring-boot-admin-server'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
}

Configuration Settings

In your application.properties or application.yml file, configure the Spring Boot Admin Server and Spring Cloud Discovery settings:

spring.boot.admin.server.port=8081
spring.boot.admin.server.context-path=/admin
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

Adding and Enabling Actuators

To expose metrics, health information, and other management endpoints, add the Spring Boot Actuator dependency and enable the desired endpoints in your application.yaml or application.properties file:

management.endpoints.web.exposure.include=*

Registration with Spring Cloud Discovery

When using Spring Cloud Discovery, the client applications will automatically register themselves with the discovery service, eliminating the need for the Spring Boot Admin Client dependency. The Spring Boot Admin Server will then discover these registered applications and display them in the dashboard.

Starting the Applications

Start the Spring Boot Admin Server and your microservice applications. The Spring Boot Admin Server will automatically discover the registered microservices and display them in the dashboard.

Accessing the Spring Boot Admin Server

Access the Spring Boot Admin Server at http://localhost:8081/admin using your preferred web browser. You will be prompted to log in using the default credentials (username: admin, password: admin).

Once logged in, you will see the Spring Boot Admin dashboard, providing a comprehensive overview of your microservices architecture. You can monitor application health, metrics, perform actions, and view logs.

This integration empowers you to effectively manage and monitor your Spring Boot microservices using Spring Boot Admin Server and Spring Cloud Discovery, ensuring the health and performance of your microservices ecosystem.

By Jeffery Miller

I am known for being able to quickly decipher difficult problems to assist development teams in producing a solution. I have been called upon to be the Team Lead for multiple large-scale projects. I have a keen interest in learning new technologies, always ready for a new challenge.