1. 程式人生 > 程式設計 >用SpringBoot Admin監控SpringBoot程式

用SpringBoot Admin監控SpringBoot程式

專案原始碼地址:https://github.com/laolunsi/spring-boot-examples/tree/master/02-spring-boot-admin-demo

一、SpringBoot Admin概要

SpringBoot Admin用於監控SpringBoot程式,一個SpringBoot程式通過向SpringBoot Admin Server註冊或使用@DiscoveryClient等微服務方式,可以將自身註冊到SpringBoot Admin Server。

SpringBoot Admin UI是一個基於SpringBoot Actuator endpoints上的Vue.js應用。

我們可以先預覽一下效果圖:

用SpringBoot Admin監控SpringBoot程式

下面我們來基於SpringBoot建立監控程式和示例:

二、第一個Spring Boot Admin Server與Client

2.1 建立Admin Server

採用SpringBoot 2.1.8.RELEAE和SpringBoot Admin 2.1.5

   <properties>
    <java.version>1.8</java.version>
    <spring-boot-admin.version>2.1.5</spring-boot-admin.version>
  </properties>

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

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

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-dependencies</artifactId>
        <version>${spring-boot-admin.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

application類啟用AdminServer:

@SpringBootApplication
@EnableAdminServer
public class AdminServerApplication {

  public static void main(String[] args) {
    SpringApplication.run(AdminServerApplication.class,args);
  }

}

配置:

server:
 port: 9333
spring:
 application:
  name: admin-server
 boot:
  admin:
   client:
     enabled: true
    url: http://localhost:${server.port} # 將自身註冊到admin-server

2.2 建立SpringBoot應用並註冊到Admin Server

SpringBoot應用註冊到Admin Server有兩種方式:

  1. 引入admin-client依賴,啟用admin client並配置admin-server的地址即可
  2. 微服務環境,使用@EnableDiscoveryClient或其他類似註解

這裡演示第一種方法:

依賴:

SpringBoot 2.1.8.RELEASE和SpringBoot Admin 2.1.5

  <properties>
    <java.version>1.8</java.version>
    <spring-boot-admin.version>2.1.5</spring-boot-admin.version>
  </properties>

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

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

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-dependencies</artifactId>
        <version>${spring-boot-admin.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

配置:

server:
 port: 9334
spring:
 application:
  name: client-demo
 boot:
  admin:
   client:
     enabled: true
    url: http://localhost:9333
# 這裡加一個暴露所有應用資訊的配置
management:
 endpoints:
  web:
   exposure:
    include: '*'

這個應用不需要修改Application類,預設的就行。

2.3 啟動和測試SpringBoot Admin

啟動這兩個應用,開啟瀏覽器,輸入admin-server的地址:http://localhost:9333

用SpringBoot Admin監控SpringBoot程式

預設會進入上面的application頁面,我們可以看到admin-server和client-demo兩個SpringBoot已經註冊到admin-server的監控中了。

開啟wallboard頁面:

用SpringBoot Admin監控SpringBoot程式

點開journal,可以看到這些應用的記錄:

用SpringBoot Admin監控SpringBoot程式

點開application中client-demo應用,可以看到這個應用的面板:

用SpringBoot Admin監控SpringBoot程式

在這裡我們可以看到當前伺服器、當前應用的詳細資訊。

到此為止,我們介紹瞭如何利用SpringBoot Admin來管理SpringBoot應用,下一篇我們將繼續瞭解,如何在SpringCloud的微服務體系中,利用SpringBoot Admin來監控微服務。

以上就是用SpringBoot Admin監控SpringBoot程式的詳細內容,更多關於SpringBoot Admin監控的資料請關注我們其它相關文章!