Git Product home page Git Product logo

spring-boot-admin's Introduction

spring-boot-admin

Apache License 2 Build Status Coverage Status Maven Central ![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
  • JVM & memory metrics
  • Counter & gauge Metrics
  • Datasource Metrics
  • View Java, System- & Environment-properties
  • Support for Spring Clouds postable /env- &/refresh-endpoint
  • Easy loggerlevel management (for Logback)
  • Interact with JMX-Beans
  • View Threaddump
  • View Traces
  • Desktop notification on status change

Server application

Add the following dependency to your pom.xml.

<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-server</artifactId>
	<version>1.2.1</version>
</dependency>
<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-server-ui</artifactId>
	<version>1.2.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

Register / Discover client applications

To get all your boot applications shown in spring boot admin you have two choices:

  1. either you include the spring-boot-admint-starter-client into your applications

or

  1. you add a DiscoveryClient (e.g. Eureka) to your spring boot admin server.

Note: If you don't include the spring-boot-admin-starter-client the logfile won't be availible, due to the fact that the logfile endpoint won't be exposed.

Register client applications via spring-boot-admin-starter-client

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

<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-client</artifactId>
	<version>1.2.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

Discover client applications via DiscoveryClient

Just add spring-clouds @EnableDiscoveryClient annotation and include an appropriate implementation (e.g. Eureka) to your classpath.

@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class SpringBootAdminApplication {
	public static void main(String[] args) {
		SpringApplication.run(SpringBootAdminApplication.class, args);
	}
}
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-eureka</artifactId>
	<version>1.0.1.RELEASE</version>
</dependency>

See the sample discovery sample project

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 versions:commit -DnewVersion=1.0.0-SNAPSHOT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.