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的服务端信息

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