SpringBoot 2.x 監控中心:Admin
簡介
Spring Boot Admin
是一個管理和監控你的 Spring Boot
應用程式的應用程式。 這些應用程式通過 Spring Boot Admin Client
(通過 HTTP
)註冊或者使用 Spring Cloud
(例如 Eureka
)發現。UI
只是 Spring Boot Actuator
端點上的一個 AngularJs
應用程式。
Spring Boot Admin
是一個管理和監控 Spring Boot
應用程式的開源專案。分為admin-server
與 admin-client
兩個元件,admin-server
通過採集 actuator
端點資料,顯示在spring-boot-admin-ui
spring-boot-admin
可以動態切換日誌級別、匯出日誌、匯出heapdump
、監控各項指標 等等….
Spring Boot Admin
在對單一應用服務監控的同時也提供了叢集監控方案,支援通過eureka
、consul
、zookeeper
等註冊中心的方式實現多服務監控與管理…
服務端整合
gradle
新增依賴
buildscript {
ext {
springBootVersion = '2.0.3.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion} ")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.admin'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web' )
//服務端:帶UI介面
compile 'de.codecentric:spring-boot-admin-starter-server:2.0.0'
}
在 application.yml
中新增配置檔案,定義 admin_server
執行在 8088
埠。
server:
port: 8088
在 ServerApplication
裡面新增配置
package com.admin.server;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class ServerApplication {
public static void main(String[] args) {
SpringApplication.run(ServerApplication.class, args);
}
}
現在我們把 ServerApplication
執行起來,在瀏覽器中輸入 http://localhost:8088/
可以看到如下介面。
到這裡,我們的 server
端已經執行起來了。
客戶端整合
gradle
新增依賴
buildscript {
ext {
springBootVersion = '2.0.3.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.admin'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
//客戶端包
compile 'de.codecentric:spring-boot-admin-starter-client:2.0.0'
compile ('org.springframework.boot:spring-boot-starter-security')
}
在 application.yml
中新增配置檔案,定義 admin_client
執行在 8081
埠。
server:
port: 8081
spring:
boot:
admin:
client:
url: "http://localhost:8088"
management:
endpoints:
web:
exposure:
include: "*"
配置說明
//定義client註冊服務到8088埠
url: "http://localhost:8088"
//開放所有的介面監聽
include: "*"
最後把 ClientApplication
執行起來,可以看到
已經有 client
連線上 server
服務了。
總結
本文所有程式碼已經上傳至 GitHub
個人微訊號:zhaoyanjun125 , 歡迎關注