Spring Boot Admin

Posted baby123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot Admin相关的知识,希望对你有一定的参考价值。

Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源软件,每个应用都认为是一个客户端,通过 HTTP 或者使用 Eureka 注册到 admin server 中进行展示,Spring Boot Admin UI 部分使用 Vue.js 将数据展示在前端。

Spring Boot Admin 分为:

   服务端是一个监控后台用来汇总展示所有的监控信息

     客户端就是具体的应用

1.server和client的模式

(1)server端

  添加依赖

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

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

  配置

server.port=8000
spring.application.name=Admin Server

  启动类

package com.example.management;

import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@EnableAdminServer
public class ManagementApplication 

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

(2)client端

  添加依赖

<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>
    <version>2.1.6</version>
</dependency>

  配置

server.port=8001
spring.application.name=Admin Client

spring.boot.admin.client.url=http://localhost:8000
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

  启动类

package com.example.client;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ClientApplication 

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

注:

  使用时需要先启动服务端,在启动客户端的时候打开 Actuator 的接口,并指向服务端的地址

技术图片

 

 

2.基于springcloud的模式 

(1)server

  在server端加入@EnableDiscoveryClient注解,SBA就会主动去拉取注册中心的注册服务列表,从而获取他们的服务动态信息

  注册中心使用Eureka

  添加依赖

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      <version>2.1.3.RELEASE</version>
</dependency>

  配置

server.port=8000
spring.application.name=Admin Server

eureka.instance.hostname=localhost
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.prefer-ip-address=true
eureka.client.registry-fetch-interval-seconds=5
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.default-zone=$EUREKA_SERVICE_URL:http://localhost:8761/eureka/

  启动类

package com.example.management;

import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableAdminServer
@EnableDiscoveryClient
public class ManagementApplication 

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

启动服务就可以看到注册到注册中心的服务都会被监控

 

技术图片

 

 https://blog.csdn.net/sinat_24798023/article/details/80240408

  

 

以上是关于Spring Boot Admin的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 2Spring Boot CLI

为啥 Spring Boot 应用程序 pom 同时需要 spring-boot-starter-parent 和 spring-boot-starter-web?

《02.Spring Boot连载:Spring Boot实战.Spring Boot核心原理剖析》

spring-boot-quartz, 依赖spring-boot-parent

spring-boot系列:初试spring-boot

Spring Boot:Spring Boot启动原理分析