首页 > 编程语言 >5:SpringBoot-Actuator-Java Spring

5:SpringBoot-Actuator-Java Spring

时间:2022-11-11 10:34:02浏览次数:71  
标签:Java SpringBoot Spring MVC 端点 Actuator Endpoints


目录

  • ​​5.1 SpringBoot-Actuator介绍​​
  • ​​5.2 Endpoints 介绍​​
  • ​​5.3 Actuator原理​​
  • ​​5.4 Actuator依赖引入​​

5.1 SpringBoot-Actuator介绍

Actuator是Spring Boot 的监控系统健康情况的工具,可帮将应用程序推送到生产环境时对其进行监控和管理,可以选择使用 HTTP 端点或 JMX 来管理和监视您的应用程序

由​​spring-boot-starter-actuator​​ 提供很多监控所需的接口,可以对应用系统进行配置查看,例如自动化配置信息、创建的Spring beans信息、系统环境变量的配置信息等

Actuator 参考文档:Spring Boot Actuator: Production-ready Features

5.2 Endpoints 介绍

Spring Boot 提供了 Endpoints (端点)给外部与应用程序进行访问和交互

例如health端点可以提供基本的应用程序健康信息,映射到​​/actuator/health​

默认情况下,除shutdown之外的所有端点都启用了,可使用​​management.endpoint.<id>.enabled​​​属性配置端点的启动,例如启用shutdown端点​​management.endpoint.shutdown.enabled=true​

Sensors类Endpoints

名称

说明

autoconfig

提供 SpringBoot 的自动配置报告,告诉我们哪些自动配置模块生效了,以及哪些 没有生效,原因是什么

beans

给出当前应用的容器中所有 bean 的信息

configprops

对现有容器中的 ConfigurationProperties 提供的信息进行“消毒”处理后给出汇总信息

info

提供当前 SpringBoot 应用的任意信息

health

针对当前 SpringBoot 应用的健康检查用的 endpoint

env

关于当前 SpringBoot 应用对应的 Environment 信息

metrics

显示应用多样的度量信息

trace

当前 SpringBoot 应用的 trace 信息

mapping

如果是基于 SpringMVC 的 Web 应用,将给出 @RequestMapping 相关信息

Actuator类Endpoints

名称

说明

shutdown

用于关闭当前 SpringBoot 应用的 endpoint

dump

用于执行线程的 dump 操作

5.3 Actuator原理

Spring Boot Actuator 提供了一些 Actuator Endpoints端点用于应用程序交互,比如在项目出错时,自动报警、监控内容况等,Actuator原理可以归结为执行器端点的实现原理

  • 将端点适配委托给MVC层策略端点(MvcEndpoint)
  • 通过端点MVC适配器(EndpointMvcAdapter),将端点暴露为HTTP请求方式的MVC端点
  • 分别使用端点自动配置(EndpointAutoConfiguration)和MVC方式暴露端点的配置(EndpointWebMvcManagementContextConfiguration)
  • 注入端点组件和端点处理程序映射组件、MVC端点注册表组件、MVC端点组件
  • 其中,端点处理程序映射(EndpointHandlerMapping)通过SpringMVC方式来暴露MVC端点

以上原理参考:​​Spring Boot之执行器端点(Actuator Endpoint)实现剖析​​

使用Actuator

  • 健康检查
  • 审计
  • 统计
  • 监控

5.4 Actuator依赖引入

要实现SpringBoot应用程序启用Actuator Endpoints,需要在构建配置文件中添加​​spring-boot-starter-actuator​​依赖项

Pom文件添加依赖

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

使用HTTP调用

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

例如导入Actuator依赖后,想要监控或操作Actuator的所有功能,将所有的端点开放,访问​​http://localhost:8080/actuator​​查看暴露出来的端点

server:
port: 8080
management:
endpoints:
web:
exposure:
include: "*" # 暴露所有端点


标签:Java,SpringBoot,Spring,MVC,端点,Actuator,Endpoints
From: https://blog.51cto.com/u_15872973/5843051

相关文章

  • springboot 发布tomcat
    ​废话不多说一下载tomcatApacheTomcat®-ApacheTomcat9SoftwareDownloads 二修改tomcat配置1 conf\server.xml这里我修改了9021端口<Serverport="90......
  • Java Lambda 表达式
    目录​​一、说明​​​​二、理解​​​​三、演示​​​​1.常规方法实现​​​​2.静态内部类​​​​3.局部内部类​​​​4.匿名内部类​​​​5.Lambda表达式​​​​......
  • Java多线程 Callable和Future
    目录​​一、说明​​​​二、理解​​​​三、实现​​​​1.实现接口​​​​2.执行线程​​一、说明Java提供了三种创建线程的方法实现​​Runnable​​接口继承​​T......
  • Java多线程 Future和FutureTask的区别
    目录​​一、说明​​​​二、理解​​​​三、实现​​​​1.实现接口​​​​2.使用Future​​​​3.使用FutureTask​​一、说明Future和FutureTask的关系Future是一个......
  • Java多线程 ThreadPoolExecutor-RejectedExecutionHandler拒绝执行策略
    目录​​一、说明​​​​二、理解​​​​三、实现​​​​1.AbortPolicy​​​​2.DiscardPolicy​​​​3.DiscardOldestPolicy​​​​4.CallerRunsPolicy​​​​5.自......
  • Java多线程 线程池Executor框架
    目录​​一、说明​​​​二、理解​​​​Executor​​​​ExecutorService​​​​Executors​​​​三、实现​​​​1.newSingleThreadExecutor​​​​2.newFixedThr......
  • 8:Spring MVC-Java Spring
    目录​​8.1WEB开发模式一​​​​8.2WEB开发模式二​​​​8.3SpringMVC介绍​​​​8.4SpringMVC主要组件​​​​8.5SpringMVC处理流程​​​​8.6SpringMVC的......
  • Java Web项目中使用RSA加密数据
    在Web项目中有些时候需要对传输的数据加密后再传输到服务端进行解密使用,这里采用RSA进行公钥加密私钥解密的模式会有较高的安全性。这里选用的工具库是 JSEncrypt.js ......
  • 硬核剖析Java锁底层AQS源码,深入理解底层架构设计
    我们常见的并发锁ReentrantLock、CountDownLatch、Semaphore、CyclicBarrier都是基于AQS实现的,所以说不懂AQS实现原理的,就不能说了解Java锁。上篇文章讲了AQS的加锁流程,这......
  • Java并发编程——基础知识(一)
    1.进程与线程1.1基本概念进程:对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发线程:进程的子任务,是CPU调度和分派的基本单位,用于保证程序......