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
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Java User Group - Spring Boot Admin
Johannes Edmeier
September 05, 2018
More Decks by Johannes Edmeier
See All by Johannes Edmeier
Spring IO 2018 - Monitoring Spring Boot Applications with Spring Boot Admin
joshiste
2
3.2k
Other Decks in Programming
See All in Programming
ふつうのFeature Flag実践入門
irof
8
4.2k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.3k
RTSPクライアントを自作してみた話
simotin13
0
630
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
360
OSもどきOS
arkw
0
590
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
120
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
800
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
13
6.3k
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
200
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
210
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
940
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
140
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
BBQ
matthewcrist
89
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Balancing Empowerment & Direction
lara
6
1.2k
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