/spring-boot-admin

Admin UI for administration of spring boot applications

Primary LanguageJavaApache License 2.0Apache-2.0

spring-boot-admin

Build Status ![Gitter](https://badges.gitter.im/Join Chat.svg)

This is a simple admin interface for Spring Boot applications.

This application provides a simple GUI to administrate Spring Boot applications in some ways. At the moment it provides the following features for every registered application.

  • Show name/id and version number
  • Show health status
  • Download main logfile
  • Show details, like
  • Java System- / Environment- / Spring properties
  • JVM & memory metrics
  • Counter & gauge Metrics
  • Datasource Metrics
  • Easy loggerlevel management
  • Interact with JMX-Beans
  • View Threaddump

Server application

Add the following dependency to your pom.xml.

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

If you have built your own snapshot-release from git you have to enable the UI seperately by adding one additional dependency

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

Create the Spring Boot Admin Server with only one single Annotation.

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

See also the example project in this repository.

For configuring Hazelcast support see spring-boot-admin-server or hazelcast-example project

Client applications

Each application that want to register itself to the admin application has to include the spring-boot-starter-admin-client as dependency. This starter JAR includes some AutoConfiguration features that includes registering tasks, controller, etc.

<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-starter-admin-client</artifactId>
	<version>1.1.1</version>
</dependency>

Inside your configuration (e.g. application.properties) you also have to define the URL of the Spring Boot Admin Server, e.g.

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

For all configuration options see spring-boot-starter-admin-client

Screenshots

Dashboard

Details

Logging

JMX

Build

In order to build spring-boot-admin you need to have node.js and npm on your PATH.

mvn clean package

Release

mvn build-helper:parse-version versions:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}
mvn -Psign-artifacts clean deploy

Increment version for next release

Example:

mvn build-helper:parse-version versions:set -DnewVersion=1.0.0-SNAPSHOT
mvn versions:commit