5:SpringBoot-Actuator-Java Spring

简介: 5:SpringBoot-Actuator-Java Spring

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: "*" # 暴露所有端点


目录
相关文章
|
13天前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
148 2
|
15天前
|
消息中间件 缓存 Java
Spring框架优化:提高Java应用的性能与适应性
以上方法均旨在综合考虑Java Spring 应该程序设计原则, 数据库交互, 编码实践和系统架构布局等多角度因素, 旨在达到高效稳定运转目标同时也易于未来扩展.
74 8
|
27天前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
762 58
|
1月前
|
监控 Java 数据库
从零学 Dropwizard:手把手搭轻量 Java 微服务,告别 Spring 臃肿
Dropwizard 整合 Jetty、Jersey 等成熟组件,开箱即用,无需复杂配置。轻量高效,启动快,资源占用少,内置监控、健康检查与安全防护,搭配 Docker 部署便捷,是构建生产级 Java 微服务的极简利器。
134 2
|
1月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
812 1
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
存储 JSON Java
308 0
|
2月前
|
前端开发 Java 开发者
Java新手指南:在Spring MVC中使用查询字符串与参数
通过结合实际的需求和业务逻辑,开发者可以灵活地利用这些机制,为用户提供更丰富而高效的Web应用体验。
99 15
|
2月前
|
Cloud Native Java API
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
Java Spring框架技术栈选和最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
421 0

热门文章

最新文章