xBlog

BLOG

Monitoring Spring Boot Application

Monitoring Spring Boot Application
Oussama MORJANE

Oussama MORJANE

27 February, 2019 Β· 2min πŸ“–

I - Introduction

As you may know the main problem with the production environment is how to access to log files, how to check configured properties ...

This Blog will introduce how to monitor a spring boot application deployed in production environment using spring boot actuator and spring boot admin UI.

Spring Actuator : is mainly used to expose operational information about the running application – health, metrics, info, dump, env, etc. It uses HTTP endpoints or JMX beans to allow us to interact with it.

Spring Boot Admin (SBA): Spring Boot Admin is a web application, used for managing and monitoring Spring Boot applications. Each application is considered as a client and registers to the admin server. Behind the scenes, the magic is given by the Spring Boot Actuator endpoints.

II - Quick Setup

Monitoring Design

First of all : configure Spring Boot Admin Server.

Add dependecies

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

Enable Admin Server, (supposing that is running on 8080)

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

Second step : The spring boot application should expose actuator endpoints.

To enable actuator and mark the spring boot application as client for SBA Server, add the following dependencies to your application pom.xml

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

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.1.1</version> <!-- depends on spring boot parent version used -->
</dependency>

on application yml or properties add this lines to disable security and to expose all endpoints (by default only /info and /health are enabled, the others are secured)

management.security.enabled=false
management.endpoints.web.exposure.include=*

spring.boot.admin.url=http://localhost:8080

III - References

For more detailed configuration and explanation, visit :
Spring Actuator Tutorial

Spring Boot Admin Tutorial

Spring Boot Admin Official samples

signature

Oussama MORJANE has no other posts

Aloha from xHub team πŸ€™

We are glad you are here. Sharing is at the heart of our core beliefs as we like to spread the coding culture into the developer community, our blog will be your next IT info best friend, you will be finding logs about the latest IT trends tips and tricks, and more

Never miss a thing Subscribe for more content!

πŸ’Ό Offices

We’re remote friendly, with office locations around the world:
🌍 Casablanca, Agadir, Valencia, Quebec

πŸ“ž Contact Us:

🀳🏻 Follow us:

Β© XHUB. All rights reserved.

Made with πŸ’œ by xHub

Terms of Service