当前位置: 首页 > news >正文

Spring Boot Actuator 监控功能的简介及禁用

Spring Boot Actuator: Production-ready Features

1. 添加依赖

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

2. 端点

端点描述默认启用
health应用健康状态
info应用信息
metrics应用度量指标
beans显示所有Spring Beans
mappings显示所有@RequestMapping路径
env显示环境变量
shutdown优雅关闭应用

2.1. 启用端点

默认情况下,除 之外的所有终结点都处于启用状态。若要配置终结点的启用,请使用其属性。以下示例启用终结点:

management.endpoint.shutdown.enabled=true

如果您希望启用端点是选择加入而不是选择退出,请将属性设置为 ,并使用单个端点属性重新选择加入。以下示例启用端点并禁用所有其他端点:

management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true

2.2. 公开端点

由于端点可能包含敏感信息,因此应仔细考虑何时公开它们。 下表显示了内置终结点的默认公开:

IDJMXWeb

auditevents

Yes

No

beans

Yes

No

caches

Yes

No

conditions

Yes

No

configprops

Yes

No

env

Yes

No

flyway

Yes

No

health

Yes

Yes

heapdump

N/A

No

httptrace

Yes

No

info

Yes

Yes

integrationgraph

Yes

No

jolokia

N/A

No

logfile

N/A

No

loggers

Yes

No

liquibase

Yes

No

metrics

Yes

No

mappings

Yes

No

prometheus

N/A

No

scheduledtasks

Yes

No

sessions

Yes

No

shutdown

Yes

No

threaddump

Yes

No

若要更改公开的终结点,请使用以下特定于技术的 和 属性:include exclude

PropertyDefault

management.endpoints.jmx.exposure.exclude

management.endpoints.jmx.exposure.include

*

management.endpoints.web.exposure.exclude

management.endpoints.web.exposure.include

info, health

例如,要通过 HTTP 公开除 env和endpoints 之外的所有内容

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans

*在 YAML 中具有特殊含义,因此如果要包含(或排除)所有端点,请务必添加引号,如以下示例所示:

management:endpoints:web:exposure:include: "*"

2.3. 保护 HTTP 端点

如果您希望为 HTTP 端点配置自定义安全性,例如,仅允许具有特定角色的用户访问它们,Spring Boot 提供了一些可以与 Spring Security 结合使用的方便对象。

@Configuration(proxyBeanMethods = false)
public class ActuatorSecurity extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests((requests) ->requests.anyRequest().hasRole("ENDPOINT_ADMIN"));http.httpBasic();}}

2.4. 配置端点

端点会自动缓存对不采用任何参数的读取作的响应。 若要配置端点缓存响应的时间量,请使用其属性。 以下示例将端点缓存的生存时间设置为 10 秒:

management.endpoint.beans.cache.time-to-live=10s

3. 通过 HTTP 进行监控和管理

  3.1. 自定义管理端点路径

management.endpoints.web.base-path=/manage

3.2. 自定义管理服务器端口

management.server.port=8081

3.4. 自定义管理服务器地址

以下示例不允许远程管理连接

management.server.port=8081
management.server.address=127.0.0.1

3.5. 禁用 HTTP 端点

如果您不想通过 HTTP 公开端点,可以将管理端口设置为 ,如以下示例所示:-1

management.server.port=-1

这也可以使用该属性来实现,如以下示例所示:management.endpoints.web.exposure.exclude

management.endpoints.web.exposure.exclude=*

示例:

http://localhost:8080/actuator

1.默认情况

2.只开启 

/actuator/beans 和 /actuator/mappings 这两个 api

management:endpoints:web:exposure:include: beans,mappings

3.

3.只关闭

# 开启所有的 api(但不包含 shutdown)
management.endpoints.web.exposure.include=*
# 关闭/actuator/beans 这个 api
management.endpoints.web.exposure.exclude=beans
management:endpoints:web:exposure:include: '*'exclude: beans

4.禁用

management:endpoints:web:exposure:exclude: '*'

management:server:port: -1

http://www.dtcms.com/a/318072.html

相关文章:

  • Java面试题036:一文深入了解VUE(1)
  • 批量提问程序开发方案:基于Python的百度文小言接口实现
  • 学习嵌入式之硬件——ARM体系
  • vue margin与padding对比
  • 用户体验设计中微投入设计:用户不知不觉付出的 3 种方式
  • 【24】C++实战篇——【 C++ 外部变量】 C++多个文件共用一个枚举变量,外部变量 extern,枚举外部变量 enum
  • Kaggle 经典竞赛泰坦尼克号:超级无敌爆炸详细基础逐行讲解Pytorch实现代码,看完保证你也会!!!
  • 直播间自动发言工具的开发
  • OpenAI/gpt-oss开源模型部署与使用全指南
  • 三维偏序 -- cdq 套 cdq
  • 蓝桥杯----锁存器、LED、蜂鸣器、继电器、Motor
  • 【YOLOv8改进 - C2f融合】C2f融合EBlock(Encoder Block):低光增强编码器块,利用傅里叶信息增强图像的低光条件
  • 分类数据集 - 水稻叶病虫害分类数据集下载
  • Java面试宝典:Java内存模型与对象可达性判定原理
  • Python爬虫实战:研究spiderfoot工具,构建网络情报收集系统
  • java 之 继承
  • jdk动态代理如何实现
  • 【补题】Codeforces Round 779 (Div. 2) C. Shinju and the Lost Permutation
  • 【补题】CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!) D. K-good
  • 大数据之HBase
  • 深度学习-卷积神经网络CNN-多输入输出通道
  • MySQL数据库索引及底层数据结构
  • 宝塔部署go 项目
  • Maven--打包方式详解 (pom、war、jar)
  • 各类排序算法
  • FastAPI(未结束)
  • 【React 插件】@uiw/react-md-editor 使用教程:从基础使用到自定义扩展
  • STM32串口通信指南
  • 基于RPR模型的机械臂手写器simulink建模与仿真
  • easyExcel 读取有合并单元格数据