iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
自我挑戰組

Spring In Action系列 第 28

Spring Boot Admin

  • 分享至 

  • xImage
  •  

先前提到的Spring Boot Actuator提供了許多endpoint來讓我們透過打api取得Spring Boot App的各項運作資訊,不過這樣稍嫌麻煩了點對吧?若能將這些資訊透過UI來呈現就會舒服很多了。幸運如我們這些後輩,已經有前人開發好這樣的工具了,就叫做Spring Boot Admin。

要使用Spring Boot Admin得先起一個Admin server,然後在我們想要監控的app上引入Admin client的dependency並設定連線到該Admin server的application.properties,就搞定了!要注意的是能在UI上面看到的資訊也就是我們Actuator有開放的那些endpoint(預設只會開啟/health)。

起一個新的Spring Boot Project,並引入以下denpendency:

<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-starter-server</artifactId>
</dependency>

然後別忘了要設定一個與要監控的app不同的server port:

#application.properties
server.port = 9090

這樣就搞定了!我們來啟動它並去localhost:9090看看:

springBootAdmin

接著我們在想要監控的SpringBootApp上引入以下dependency:

<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>

並在application.properties中設定我們Admin server的位址:

#application.yaml
spring:
  boot:
    admin:
      client:
        url: http://localhost:9090

搞定啦!我們啟動我們的app後,重整一下localhost:9090,就可以看到有抓到我們的app了,並可以看到以下的圖表畫面:

dashboard

當然,也要記得替我們的Spring Boot Admin server套上安全性的防護,而身為Spring Boot project,就代表這些也都可以透過Spring Security做到~


上一篇
Spring Boot Actuator
下一篇
JMX
系列文
Spring In Action30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言