SpringBoot的Actuator监控和Admin-UI可视

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2021-03-11 07:21 被阅读0次

    上一篇 <<<SpringBoot性能调优
    下一篇 >>>SpringBoot常见面试问题


    Actuator 监控管理

    Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况.特别对于微服务管理十分有意义.
    缺点:没有可视化界面。
    优点:和jconsole相比功能更多,可查看各个bean单例还是多例,所有的请求地址等等。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    
    ###通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;
    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
    info: 
      jarye: 
         name: jiang
    

    通过actuator/+端点名就可以获取相应的信息

    路径 作用
    /actuator/beans 显示应用程序中所有Spring bean的完整列表。
    /actuator/configprops 显示所有配置信息。
    /actuator/env 陈列所有的环境变量。
    /actuator/mappings 显示所有@RequestMapping的url整理列表。
    /actuator/health 显示应用程序运行状况信息 up表示成功 down失败
    /actuator/info 查看自定义应用信息,必须是以info打头的

    Admin-UI

    Admin-UI 基于actuator实现能够返回界面展示监控信息,属于服务端代码。

    <dependencies>
      <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>
    </dependencies>
    
    spring:
      application:
        name: spring-boot-admin-server
    
    @Configuration
    @EnableAutoConfiguration
    @EnableAdminServer
    public class AdminServerApplication {
      public static void main(String[] args) {
        SpringApplication.run(AdminServerApplication.class, args);
      }
    }
    

    Admin-UI-Client

    Admin-UI的客户端,所有服务的提交者,将本地启动信息上报给服务端展示。

    <dependencies>
      <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>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
    </dependencies>
    
    spring:
      boot:
        admin:
          client:
            url: http://localhost:8080
    server:
      port: 8081
      
    management:
      endpoints:
        web:
          exposure:
            include: "*"
      endpoint:
        health:
          show-details: ALWAYS
    
    
    @SpringBootApplication
    public class AppClinet {
      public static void main(String[] args) {
        SpringApplication.run(AppClinet.class, args);
      }
    }
    

    推荐阅读:
    <<<SpringBoot核心设计理念和核心组件
    <<<SpringBoot中有哪些starter
    <<<如何自定义SpringBoot starter
    <<<SpringBoot启动流程说明
    <<<SpringBoot常用注解及外部jar包注入方式
    <<<SpringBoot之web开发
    <<<SpringBoot全局异常捕获
    <<<SpringBoot整合各种持久层技术
    <<<SpringBoot整合Mybatis分页插件
    <<<SpringBoot使用Atomikos技术整合多数据源
    <<<SpringBoot实现热部署
    <<<SpringBoot性能调优
    <<<SpringBoot常见面试问题

    相关文章

      网友评论

        本文标题:SpringBoot的Actuator监控和Admin-UI可视

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