Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Spring IO 2018 - Monitoring Spring Boot Applica...
Search
Johannes Edmeier
May 24, 2018
Programming
3.2k
2
Share
Spring IO 2018 - Monitoring Spring Boot Applications with Spring Boot Admin
Johannes Edmeier
May 24, 2018
More Decks by Johannes Edmeier
See All by Johannes Edmeier
Java User Group - Spring Boot Admin
joshiste
0
270
Other Decks in Programming
See All in Programming
書き換えて学ぶTemporal #fukts
pirosikick
1
240
GoogleCloudとterraform完全に理解した
terisuke
1
160
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
500
tRPCの概要と少しだけパフォーマンス
misoton665
2
240
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
1.8k
GitHubCopilotCLIをはじめよう.pdf
htkym
0
290
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
200
JOAI2026 1st solution - heron0519 -
heron0519
0
160
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
4
1.3k
Running Swift without an OS
kishikawakatsumi
0
860
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
260
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
270
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
270
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
BBQ
matthewcrist
89
10k
The Spectacular Lies of Maps
axbom
PRO
1
720
A Modern Web Designer's Workflow
chriscoyier
698
190k
Mind Mapping
helmedeiros
PRO
1
170
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
390
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
170
The Limits of Empathy - UXLibs8
cassininazir
1
310
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
Transcript
Spring Boot Admin 1 Johannes Edmeier @joshiste
2
Setting things up (demo time) 3
4 Setting up the SBA Server (1) 1. Generate web
project using Spring Initializr $ curl https://start.spring.io/starter.tgz \ -d dependencies=web,\ codecentric-spring-boot-admin-client,\ codecentric-spring-boot-admin-server \ | tar -xzvf -
5 Setting up the SBA Server (2) @EnableAdminServer @SpringBootApplication public
class AdminServerApplication { ... } 2. Import Configuration to the Application
6 Register client applications (1) <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.0.0</version> </dependency>
1. Add dependency
7 Register client applications (2) spring.boot.admin.client.url=http://localhost:8081 management.endpoints.web.exposure.include=* management.endpoint.health.show-details=always 2. Configure
SBA Server localtion and expose endpoints
8 Easy client tweaks spring.application.name=spring-petclinic logging.file=target/petclinic.log info.sources=https://github.com/spring-projects/spring-petclinic <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>
<executions> <execution> <goals> <goal>build-info</goal> </goals> </execution> </executions> </plugin>
9 alternatively use Eureka, Consul, Zookeeper, static config … or
any other Spring Cloud Discovery Client Register client applications
10 alternatively use Eureka, Consul, Zookeeper, static config … or
any other Spring Cloud Discovery Client Register client applications Postponed to 2.0.1 (snapshot available)
Behind the Scenes 11
12 SBA Client SBA Server client registers periodically via http
post
13 SBA Client SBA Server server polls health endpoint via
http … monitoring non-Boot applications is possible (just health checking)
14 Notifications HipChat eMail … or implement your own …
simply configured via properties
15 SBA Client server forwards requests to clients (using zuul)
SBA UI SBA Server … clients must expose actuator endpoints using http
16 … can be implemented using Spring Security e.g. Basic
Auth, JWT, session based, … … custom headers can be injected implementing a HttpHeadersProvider Security
17 Customization – HttpHeadersProvider @Bean public HttpHeadersProvider injectHeaders() { return
instance -> { HttpHeaders headers = new HttpHeaders() headers.set("X-CUSTOM", "1234567"); return headers; }; }
18 Customization - InstanceExchangeFilterFunction @Bean public InstanceExchangeFilterFunction auditLog() { return
(instance, request, next) -> { if (HttpMethod.POST.equals(request.method())) { log.info("{} for {} on {}", request.method(), instance.getId(), request.url()); } return next.exchange(request); }; }
19 Customization - Notifier @Bean public Notifier loggerNotifier() { return
event -> { log.info("Event {}", event.toString()); return Mono.empty(); }; }
20 Webflux Support Out of the Box Cloudfoundry Support Html-Templates
for Mail-Notifications Version is also looked up in Metadata Sessions Endpoint Support Wallboard View Runs on Java 10 New Features in 2.0
21 Bugfixes… Bugfixes… Bugfixes… Spring Cloud Finchley Support Custom Views
(for Custom Actuator Endpoints) Multi-Instances-Actions (e.g. Setting Loglevels) . . . What to Expect in the Future
22 Questions? [spring-boot-admin] codecentric/spring-boot-admin GITTER codecentric/spring-boot-admin