天天看點

Spring Boot Admin 2.0開箱體驗

概述

在我之前的

《Spring Boot應用監控實戰》

一文中,講述了如何利用 Spring Boot Admin 1.5.X 版本來可視化地監控 Spring Boot 應用。說時遲,那時快,現在 Spring Boot Admin 都更新到 2.0 版本了,并且可以對當下熱門的 Spring Boot 2.0 和 Spring Cloud Finchley.RELEASE 進行監控,是以本文就來了解并實踐一下!

Spring Boot Admin 2.0新特性

Spring Boot Admin 2.0 變化還是挺多的,具體參考

官網說明

,這裡列幾條主要的:

  • 使用Vue.js重寫了UI界面,漂亮得不像實力派
  • 直接內建了基于 spring security 的認證,無需引入第三方子產品
  • 加入 session endpoint 的監控支援

等等...

下面就實際試驗來操作感受一下!

搭建 Spring Boot Admin Server

  • 建立一個 SpringBoot 2.0.3 RELEASE 工程并添加依賴
<dependencies>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui</artifactId>
            <version>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>           
  • 應用主類添加注解
@SpringBootApplication
@EnableAdminServer
public class SbaServer20Application {

    public static void main(String[] args) {
        SpringApplication.run(SbaServer20Application.class, args);
    }
}           
  • 啟動 Spring Boot Admin Server

浏覽器打開

localhost:8080

,就可以看到小清新的頁面了

可以看到這個 UI 的變化和 1.5.X 時代的差距還是蠻大的,此時被監控的應用數目還為0。

接下來我們就來建立一個待監控的Spring Boot 2.0示例。

建立 Spring Boot Admin Client

此處我們依然建立一個 Spring Boot 2.0.3.RELEASE 的應用,然後加入到Spring Boot Admin之中進行監控

  • pom.xml中添加依賴
<dependencies>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.0.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
           
  • 編輯配置檔案
server.port=8081
spring.application.name=Spring Boot Client
spring.boot.admin.client.url=http://localhost:8080
management.endpoints.web.exposure.include=*           
  • 啟動 Spring Boot Admin Client 應用

此時 Spring Boot Admin的頁面上應用上線的消息推送過來了:

實際實驗

被監控應用上線之後,我們進入 Spring Boot Admin頁面鼓搗看看

  • Wallboard 有點小清新
  • Applications 概覽
  • Applications上線日志一目了然
  • Applications Details
  • Metrics
  • Environment
  • JMX
  • Threads
  • Http Traces

後記

作者更多的SpringBt實踐文章在此:

如果有興趣,也可以抽點時間看看作者一些關于容器化、微服務化方面的文章: