Monitoring Eclipse Dirigible with Spring Boot Admin
Overview
Modern applications demand robust observability and monitoring tools to ensure reliability, performance, and security. To address this, Eclipse Dirigible introduces seamless integration with Spring Boot Admin (SBA). By embedding SBA's server and client capabilities, Dirigible provides an intuitive UI to monitor the health, performance metrics, and logs of applications. This feature eliminates the need for external monitoring setups, making it easier for developers to manage their applications directly from within Dirigible. This blog explores how to configure and use this integration to enhance your observability toolkit.
Steps to Run Spring Boot Admin Server and Client
Prerequisites:
- Docker Desktop installed on your system
Steps:
-
Run Eclipse Dirigible with Spring Boot Admin profiles
To run the application with the Spring Boot Admin server and client, you must activate two spring profiles:
spring-boot-admin-server
andspring-boot-admin-client
. By default, the client is configured to automatically connect to the embedded server.# use version 10.6.32 or newer IMAGE_TAG=10.6.32 docker run -e SPRING_PROFILES_ACTIVE=spring-boot-admin-server,spring-boot-admin-client \ -p 8080:8080 --name dirigible dirigiblelabs/dirigible:$IMAGE_TAG
-
Access Spring Boot Admin UI
Once the application starts, you can access the Spring Boot Admin UI at: http://localhost:8080/spring-admin. You can login with the default credentials
admin / admin
.
Explore Spring Boot Admin UI
You can select the running instance and explore its capabilities. The SBA interface is organized into several tabs, each offering different insights into your application's performance and health. Below is an overview of these tabs along with brief descriptions of their functionalities.
-
Insights Tab
- Details - displays general information about the application, such as process details, health, threads, garbage collection, memory details and so on.
- Metrics - provides a comprehensive overview of various metrics such as CPU usage, memory consumption, request counts, and response times. This allows you to monitor application performance in real-time and identify performance trends or anomalies.
- Quartz - displays information related to Quartz scheduler jobs. This helps in managing and monitoring scheduled tasks within your application.
- Environment - shows environment properties and variables, giving you insights into the application's runtime environment and configurations. This is useful for verifying configuration settings and debugging environment-related issues.
- Beans - lists all the Spring beans loaded in the application context, including their dependencies and configurations. This helps you understand the application's component structure and manage bean configurations effectively.
- Configuration Properties - displays the current configuration properties of the application, including both default and overridden settings. This facilitates easy configuration management and ensures that your application is running with the desired settings.
- Conditions - provides details about the auto-configuration conditions, showing which configurations are applied and which are not. This aids in troubleshooting configuration issues and understanding how Spring Boot is configuring your application.
-
Loggers Tab - allows you to configure log levels for different packages or classes dynamically. This enables real-time control over the verbosity of application logs, which is essential for debugging and monitoring.
- JVM Tab
- Mappings - displays the HTTP request mappings, showing the available endpoints, their paths, and the associated controllers and methods. This assists in API management, ensuring that all endpoints are correctly mapped and functioning as expected.
- Caches - provides insights into the application's cache usage, including cache names, sizes, and hit/miss rates. This helps you optimize caching strategies to improve application performance and efficiency.
Configurations for SBA Server and Client
The integration supports several environment variables to customize the server and client behavior. These configurations can also be used to configure Eclipse Dirigible as an SBA client for an external SBA server.
Config key | Description |
---|---|
DIRIGIBLE_SPRING_ADMIN_SERVER_URL | SBA Server URL |
DIRIGIBLE_SPRING_ADMIN_SERVER_USERNAME | username which is used by the client to register in the SBA Server |
DIRIGIBLE_SPRING_ADMIN_SERVER_PASSWORD | password which is used by the client to register in the SBA Server |
DIRIGIBLE_SPRING_ADMIN_CLIENT_USERNAME | username for the client application which is passed to the SBA Server so that it can call the client |
DIRIGIBLE_SPRING_ADMIN_CLIENT_PASSWORD | password for the client application which is passed to the SBA Server so that it can call the client |
Summary
In this blog, we explore how to integrate Spring Boot Admin (SBA) into Eclipse Dirigible for enhanced monitoring and management capabilities. With an embedded SBA server and client profiles, Dirigible applications can be seamlessly registered and monitored.
We detail how to set up the SBA server and client using Docker, configure Eclipse Dirigible, and leverage SBA’s intuitive UI to gain insights into application health, metrics, logs, and more. Whether you’re monitoring a single application or managing multiple instances, SBA integration provides a robust solution for operational observability.