美文网首页java所有基础知识框架原理Spring Boot
进阶Spring Boot(三)---Spring Boot 监

进阶Spring Boot(三)---Spring Boot 监

作者: 翼云先森 | 来源:发表于2018-10-24 15:22 被阅读187次

           针对微服务的服务状态包括http请求资源、服务器内存变化(堆、内存、线程、日志管理等)、检测服务配置连接地址是否可用(模拟访问,懒加载情况下)、统计现在有多少个bean(是spring容器中的bean)、统计springmvc的@ResultMapping(统计http接口)。
           Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况.特别对于微服务管理十分有意义.缺点:没有可视化界面,主要返回json格式数据
           Admin-UI基于actuator实现能够返回界面展示监控信息。

    Spring Boot 搭建Actuator

    第一步,配置Actuator依赖

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

    第二步,配置application.yml 文件

    ###通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;
    management:
      endpoints:
        web:
          exposure:
            include: "*"
    spring:
      profiles:
        active: prod
      datasource:
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/test
        username: root
        password: root
    crisp:
       name: crisp
    

    启动项目就可以看到Actuator监控的数据

    image.png

    查看详细的地址 http://127.0.0.1:8080/actuator/beans

    其他内置功能

    HTTP方法 路径 描述 鉴权
    GET /autoconfig 查看自动配置的使用情况 true
    GET /configprops 查看配置属性,包括默认配置 true
    GET /beans 查看bean及其关系列表 true
    GET /dump 打印线程栈 true
    GET /env 查看所有环境变量 true
    GET /env/{name} 查看具体变量值 true
    GET /health 显示应用程序运行状况信息 up表示成功 down失败 false
    GET /info 查看应用信息 false
    GET /mappings 查看所有url映射 true
    GET /metrics 查看应用基本指标 true
    GET /metrics/{name} 查看具体指标 true
    POST /shutdown 关闭应用 true
    GET /trace 查看基本追踪信息 true

    Spring Boot 搭建Admin-UI

    第一步,引入相关依赖

    <dependency>
       <groupId>de.codecentric</groupId>
       <artifactId>spring-boot-admin-starter-server</artifactId>
       <version>2.0.0</version>
    </dependency>
    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    <!-- Spring Boot Actuator对外暴露应用的监控信息,Jolokia提供使用HTTP接口获取JSON格式 的数据 -->
    <dependency>
       <groupId>org.jolokia</groupId>
       <artifactId>jolokia-core</artifactId>
    </dependency>
    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
       <groupId>com.googlecode.json-simple</groupId>
       <artifactId>json-simple</artifactId>
       <version>1.1</version>
    </dependency>
    

    第二步,在入口程序中开启Admin-UI

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

    第三步,配置application.yml 文件

    spring:
      application:
        name: spring-boot-admin-server
    
    

    第四步,启动项目,即可以看到Admin-UI的界面

    image.png

    第五步,新建项目设置为客户端,向Admin-UI 服务端注册,配置Admin-UI 客户端

    <dependency>
       <groupId>de.codecentric</groupId>
       <artifactId>spring-boot-admin-starter-client</artifactId>
       <version>2.0.0</version>
    </dependency>
    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
       <groupId>org.jolokia</groupId>
       <artifactId>jolokia-core</artifactId>
    </dependency>
    <dependency>
       <groupId>com.googlecode.json-simple</groupId>
       <artifactId>json-simple</artifactId>
       <version>1.1</version>
    </dependency>
    
    

    第六步,配置客户端application.yml 文件

    ##配置 client 注册到admin-ui
    spring:
      boot:
        admin:
          client:
            url: http://localhost:8080
    
    
    server:
      port: 8081
    
    management:
      endpoints:
        web:
          exposure:
            include: "*"
    
    

    先启动Server,再启动client项目,即可以看到效果

    image.png

    相关文章

      网友评论

        本文标题:进阶Spring Boot(三)---Spring Boot 监

        本文链接:https://www.haomeiwen.com/subject/ctcxtqtx.html