spring-boot-admin 整合JHipster 監控服務

什麼是 Spring Boot Admin?

Spring Boot Admin 是一個管理和監控 Spring Boot 應用程序的開源軟件。每個應用都認爲是一個客戶端,通過 HTTP 或者使用 Eureka 註冊到 admin server 中進行展示,Spring Boot Admin UI 部分使用 VueJs 將數據展示在前端。

這篇文章給大家介紹如何使用 Spring Boot Admin 對 Spring Boot 應用進行監控。

 

一.server 端

1.新建一個spring-boot項目,版本爲2.1.0

 

2.項目依賴

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

3.application.yml

server:
  port: 8000

4.啓動類

@SpringBootApplication
@EnableAdminServer
public class SpringBootAdminApplication {

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

}

啓動項目,訪問http://localhost:8000,因爲沒有client註冊到server,instances爲0,下面是client段

二.client端

用http註冊到server端

1.新建一個spring-boot項目,版本爲2.1.0

2.項目依賴

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

3.application.yml

server:
  port: 8001
spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        url: http://localhost:8000 #配置 Admin Server 的地址
management:
  endpoints:
    web:
      exposure:
        include: '*' #打開客戶端 Actuator 的監控

4.啓動類

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

啓動項目後,訪問localhost:8080 可以看到

點擊綠色地址,可以如下界面,運行時配置,JVM等信息都有,非常方便

3.jhipster

參考搭建JHipster,jhipster=eureka + central-config + UI,說白了就是打包

client端

用eureka註冊到server端

 

1.項目依賴                    注意必須要引入下方dependencyManagement

    </dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.5.RELEASE</version>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.application.yml

eureka:
  instance:
    prefer-ip-address: true
  client:
    region: default
    registryFetchIntervalSeconds: 5
    serviceUrl.defaultZone: http://admin:admin@localhost:8761/eureka/

刪除以下

spring:
  boot:
    admin:
      client:
        url: http://localhost:8000 #配置 Admin Server 的地址

啓動項目,訪問http://localhost:8761能看到以下界面,說明註冊成功,但admin中沒有client端

server端

server端註冊jhipster,從它獲取所有註冊到eureka服務信息

1.項目依賴

同client端一樣

2.application.yml

eureka:
  instance:
    prefer-ip-address: false
  client:
    region: default
    registryFetchIntervalSeconds: 5
    serviceUrl.defaultZone: http://admin:admin@localhost:8761/eureka/
spring:
  application:
    name: spring-boot-admin

啓動server端,訪問http://localhost:8000,可以看到如下界面,獲取到eureka的服務端信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章