【Spring Cloud 微服务架构搭建(完结篇)】— Spring Boot Admin 服务监控

文章目录

  • Spring Boot Admin 简介
  • 创建 Spring Boot Admin 服务端
    • 相关依赖
    • 相关配置
  • 配置 Spring Boot Admin 客户端
    • 相关依赖
    • 相关配置
  • 测试服务监控

 
相关文章

Spring Cloud 微服务架构搭建(一)— 介绍
Spring Cloud 微服务架构搭建(二)— 统一依赖管理
Spring Cloud 微服务架构搭建(三)— Eureka 服务注册与发现中心
Spring Cloud 微服务架构搭建(四)— 服务提供者
Spring Cloud 微服务架构搭建(五)— Ribbon+RestTemplate 服务负载均衡调用
Spring Cloud 微服务架构搭建(六)— Feign 声明式服务调用
Spring Cloud 微服务架构搭建(七)— Hystrix 熔断器及仪表盘监控
Spring Cloud 微服务架构搭建(八)— Zuul 路由网关及服务过滤
Spring Cloud 微服务架构搭建(九)— Config 分布式配置中心
Spring Cloud 微服务架构搭建(十)— Zipkin 服务链路追踪
Spring Cloud 微服务架构搭建(完结篇)— Spring Boot Admin 服务监控

 

Spring Boot Admin 简介


随着开发周期的推移,项目会不断变大,切分出的服务也会越来越多,这时一个个的微服务构成了错综复杂的系统。

对于各个微服务系统的健康状态、会话数量、并发数、服务资源、延迟等度量信息的收集就成为了一个挑战。 Spring Boot Admin 就是基于这些需求开发出的一套功能强大的监控管理系统。

同样,Spring Boot Admin 也是由两个角色组成,一个是服务端 Spring Boot Admin Server,一个是客户端 Spring Boot Admin Client
 
 

创建 Spring Boot Admin 服务端


创建目录 hello-spring-cloud-admin,并在该目录下创建 pom.xml
 

相关依赖

pom.xml 中主要添加 spring-cloud-starter-netflix-eureka-serverspring-boot-admin-starter-serverjolokia-core 依赖

<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
dependency>
<dependency>
    <groupId>de.codecentricgroupId>
    <artifactId>spring-boot-admin-starter-serverartifactId>
dependency>
<dependency>
    <groupId>org.jolokiagroupId>
    <artifactId>jolokia-coreartifactId>
dependency>

 
完整 pom.xml 如下


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>

    <parent>
        <groupId>com.antoniopenggroupId>
        <artifactId>hello-spring-cloud-dependenciesartifactId>
        <version>1.0.0-SNAPSHOTversion>
        <relativePath>../hello-spring-cloud-dependencies/pom.xmlrelativePath>
    parent>

    <artifactId>hello-spring-cloud-adminartifactId>
    <packaging>jarpackaging>

    <dependencies>
        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-tomcatartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webfluxartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-actuatorartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>
        

        
         <dependency>
            <groupId>org.springframework.cloudgroupId>
            <artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
        dependency>
        <dependency>
            <groupId>org.jolokiagroupId>
            <artifactId>jolokia-coreartifactId>
        dependency>
        <dependency>
            <groupId>de.codecentricgroupId>
            <artifactId>spring-boot-admin-starter-serverartifactId>
        dependency>
        
    dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <configuration>
                    <mainClass>com.antoniopeng.hello.spring.cloud.admin.AdminApplicationmainClass>
                configuration>
            plugin>
        plugins>
    build>
project>

 

相关配置

 
application.yml 中主要添加 Spring Boot Admin 相关配置

management:
  endpoint:
    health:
      show-details: always
  endpoints:
    web:
      exposure:
        include: health,info

 
完整 application.yml 如下

spring:
  application:
    name: hello-spring-cloud-admin
  zipkin:
    base-url: http://localhost:9411

server:
  port: 8084

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

management:
  endpoint:
    health:
      show-details: always
  endpoints:
    web:
      exposure:
        include: health,info

 
 

配置 Spring Boot Admin 客户端


在所需要被监控的项目中添加以下配置:
 

相关依赖

pom.xml 中添加 spring-boot-admin-starter-clientjolokia-core 依赖

<dependency>
    <groupId>de.codecentricgroupId>
    <artifactId>spring-boot-admin-starter-clientartifactId>
dependency>
<dependency>
    <groupId>org.jolokiagroupId>
    <artifactId>jolokia-coreartifactId>
dependency>

 

相关配置

application.yml 中添加 spring boot admin 地址即可

spring:
 boot:
   admin:
     client:
       url: http://localhost:8084

 
 

测试服务监控


  • 打开浏览器访问:http://localhost:8084,出现以下界面
    【Spring Cloud 微服务架构搭建(完结篇)】— Spring Boot Admin 服务监控_第1张图片
    【Spring Cloud 微服务架构搭建(完结篇)】— Spring Boot Admin 服务监控_第2张图片
  • 服务监控详情页面
    【Spring Cloud 微服务架构搭建(完结篇)】— Spring Boot Admin 服务监控_第3张图片

 
 
END

你可能感兴趣的:(Spring,Cloud,Spring,Boot,Admin,Java,Spring,Cloud)