1. 程式人生 > >SpringBoot 2.x 監控中心:Admin

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-serveradmin-client 兩個元件,admin-server通過採集 actuator 端點資料,顯示在spring-boot-admin-ui

上,已知的端點幾乎都有進行採集,通過 spring-boot-admin 可以動態切換日誌級別、匯出日誌、匯出heapdump、監控各項指標 等等….

Spring Boot Admin 在對單一應用服務監控的同時也提供了叢集監控方案,支援通過eurekaconsulzookeeper等註冊中心的方式實現多服務監控與管理…

服務端整合

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 , 歡迎關注