getting-started.adoc 4.81 KB
Newer Older
1 2 3 4
[[getting-started]]
== Getting started ==

[[set-up-admin-server]]
5
=== Setting up Spring Boot Admin Server ===
6

7
First you need to setup your server. To do this just setup a simple boot project (using http://start.spring.io).
8

9
. Add Spring Boot Admin Server starter to your dependencies:
10 11 12 13
+
[source,xml,subs="verbatim,attributes"]
.pom.xml
----
14 15 16
<dependencies>
    <dependency>
        <groupId>de.codecentric</groupId>
17
        <artifactId>spring-boot-admin-starter-server</artifactId>
18 19 20
        <version>{project-version}</version>
    </dependency>
</dependencies>
21 22
----

23
. Pull in the Spring Boot Admin Server configuration via adding `@EnableAdminServer` to your configuration:
24 25 26 27 28 29 30 31 32 33 34 35 36
+
[source,java]
----
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootAdminApplication.class, args);
    }
}
----

37
NOTE: If you want to setup the Spring Boot Admin Server via war-deployment in a servlet-container, please have a look at the https://github.com/codecentric/spring-boot-admin/blob/master/spring-boot-admin-samples/spring-boot-admin-sample-war/[spring-boot-admin-sample-war].
38

39
See also the https://github.com/codecentric/spring-boot-admin/tree/master/spring-boot-admin-samples/spring-boot-admin-sample/[spring-boot-admin-sample] project, which also adds security.
40 41

[[register-client-applications]]
42
=== Registering client applications ===
43

44
To register your application at the SBA Server you can either include the SBA Client or use http://projects.spring.io/spring-cloud/spring-cloud.html[Spring Cloud Discovery] (e.g. Eureka, Consul, ...). There is also a <<spring-cloud-discovery-static-config,simple option using a static configuration on the SBA Server side>>.
45 46

[[register-clients-via-spring-boot-admin]]
47
==== Spring Boot Admin Client ====
48

49
Each application that wants to register has to include the Spring Boot Admin Client.
50 51 52 53 54 55 56 57

. Add spring-boot-admin-starter-client to your dependencies:
+
[source,xml,subs="verbatim,attributes"]
.pom.xml
----
<dependency>
    <groupId>de.codecentric</groupId>
58
    <artifactId>spring-boot-admin-starter-client</artifactId>
59 60 61 62
    <version>{project-version}</version>
</dependency>
----

63
. Enable the SBA Client by configuring the URL of the Spring Boot Admin Server:
64 65 66 67
+
[source,yml]
.application.yml
----
68
spring.boot.admin.client.url: http://localhost:8080  #<1>
Johannes Edmeier committed
69
management.security.enabled: false  #<2>
70
----
71 72
<1> The URL of the Spring Boot Admin Server to register at.
<2> Since Spring Boot 1.5.x all endpoints are secured by default. For the sake of brevity we're disabling the security for now. Have a look at the <<securing-spring-boot-admin,security section>> on how to deal with secured endpoints.
73 74 75 76

[[discover-clients-via-spring-cloud-discovery]]
==== Spring Cloud Discovery ====

77
If you already use Spring Cloud Discovery for your applications you don't need the SBA Client. Just make the Spring Boot Admin Server a DiscoveryClient, the rest is done by our AutoConfiguration.
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

The following steps are for using Eureka, but other Spring Cloud Discovery implementations are supported as well. There are examples using https://github.com/codecentric/spring-boot-admin/tree/master/spring-boot-admin-samples/spring-boot-admin-sample-consul/[Consul] and https://github.com/codecentric/spring-boot-admin/tree/master/spring-boot-admin-samples/spring-boot-admin-sample-zookeeper/[Zookeeper].

Also have a look at the http://projects.spring.io/spring-cloud/spring-cloud.html[Spring Cloud documentation].

. Add spring-cloud-starter-eureka to you dependencies:
+
[source,xml]
.pom.xml
----
include::{samples-dir}/spring-boot-admin-sample-eureka/pom.xml[tags=dependency-eureka,indent=0]
----

. Enable discovery by adding `@EnableDiscoveryClient` to your configuration:
+
[source,java]
----
include::{samples-dir}/spring-boot-admin-sample-eureka/src/main/java/de/codecentric/boot/admin/SpringBootAdminApplication.java[tags=application-eureka]
----

. Tell the Eureka client where to find the service registry:
+
[source,yml]
.application.yml
----
include::{samples-dir}/spring-boot-admin-sample-eureka/src/main/resources/application.yml[tags=configuration-eureka]
----
105 106
<1> Configuration section for the Eureka client
<2> Since Spring Boot 1.5.x all endpoints are secured by default. For the sake of brevity we're disabling the security for now. Have a look at the <<securing-spring-boot-admin,security section>> on how to deal with secured endpoints.
107 108 109

See also https://github.com/codecentric/spring-boot-admin/tree/master/spring-boot-admin-samples/spring-boot-admin-sample-eureka/[spring-boot-admin-sample-eureka].

110
TIP: You can include the Spring Boot Admin Server to your Eureka server. Setup everything as described above and set `spring.boot.admin.context-path` to something different than `"/"` so that the Spring Boot Admin Server UI won't clash with Eureka's one.