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
Java User Group - Spring Boot Admin
Search
Johannes Edmeier
September 05, 2018
Programming
0
250
Java User Group - Spring Boot Admin
Johannes Edmeier
September 05, 2018
Tweet
Share
More Decks by Johannes Edmeier
See All by Johannes Edmeier
Spring IO 2018 - Monitoring Spring Boot Applications with Spring Boot Admin
joshiste
2
3.1k
Other Decks in Programming
See All in Programming
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
310
私の後悔をAWS DMSで解決した話
hiramax
4
210
Deep Dive into Kotlin Flow
jmatsu
1
360
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
250
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
610
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
1
130
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
180
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
3.2k
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
460k
Six Lessons from altMBA
skipperchong
28
4k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Balancing Empowerment & Direction
lara
3
620
Writing Fast Ruby
sferik
628
62k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Agile that works and the tools we love
rasmusluckow
330
21k
Visualization
eitanlees
148
16k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Docker and Python
trallard
46
3.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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.3</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
Behind the Scenes 10
11 SBA Client SBA Server client registers periodically via http
post
12 SBA Client SBA Server server polls health endpoint via
http … monitoring non-Boot applications is possible (just health checking)
13 Notifications HipChat eMail … or implement your own …
simply configured via properties
14 SBA Client server forwards requests to clients (using zuul)
SBA UI SBA Server … clients must expose actuator endpoints using http
15 … can be implemented using Spring Security e.g. Basic
Auth, JWT, session based, … … custom headers can be injected implementing a HttpHeadersProvider Security
16 Customization – HttpHeadersProvider @Bean public HttpHeadersProvider injectHeaders() { return
instance -> { HttpHeaders headers = new HttpHeaders() headers.set("X-CUSTOM", "1234567"); return headers; }; }
17 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); }; }
18 Customization - Notifier @Bean public Notifier loggerNotifier() { return
event -> { log.info("Event {}", event.toString()); return Mono.empty(); }; }
19 Webflux Support Sessions Endpoint Support Mapping Endpoint Support Scheduled
Tasks Endpoint Support Out of the Box Cloudfoundry Support Html-Templates for Mail-Notifications Version is also looked up in Metadata Wallboard View Runs on Java 10 New Features in 2.0
20 Bugfixes… Bugfixes… Bugfixes… Support for Cache Endpoint (2.1.x) Multi-Instances-Actions
(e.g. Setting Loglevels) . . . What to Expect in the Future
21 Questions? [spring-boot-admin] codecentric/spring-boot-admin GITTER codecentric/spring-boot-admin