Spring Boot Actuator使用

news/2025/2/11 1:35:12/

说明:本文介绍Spring Boot Actuator的使用,关于Spring Boot Actuator介绍,下面这篇博客写得很好,珠玉在前,我就不多介绍了。

  • Spring Boot Actuator

简单使用

项目里引入下面这个依赖

<!--Spring Boot Actuator依赖-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

增加以下配置,开放所有默认接口

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

启动项目,浏览器输入:http://127.0.0.1:8081/actuator,可见以下接口信息

在这里插入图片描述

输入某个详细的接口名称,如:http://127.0.0.1:8081/actuator/health,查询详细的内容,如下:

在这里插入图片描述

配置文件中,添加配置,查看更详细的内容

management:# 开放所有接口endpoints:web:exposure:include: "*"# 单个接口设置endpoint:health:show-details: ALWAYS

如下:

在这里插入图片描述

手动自定义一个接口,如下:

java">import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;@Component
@Endpoint(id = "my-actuator")
public class MyActuator {@ReadOperationpublic String hello() {return "Good Luck";}
}

其中@Endpoint(id = "my-actuator"),可以等同于@RequestMapping("/my-actuator"),浏览器敲:http://127.0.0.1:8081/actuator/,可见自定义的接口,如下:

在这里插入图片描述

浏览器输:http://127.0.0.1:8081/actuator/my-actuator,可见接口返回

在这里插入图片描述

使用场景

通过上面的简单使用,可以看到 Spring Boot Actuator与我们常写的接口是分别开的,有点像swagger。他可以有以下的使用场景:

  • 健康检查:默认的health就是用来扩展健康检查的,我们可以在代码里去扩展这个接口,来实现自己的健康检查操作;

  • 监控:可以写一些接口,接口内返回运行时系统内的一些指标,收集起来,观测运行时的情况;

  • 统计:如上,有些数据是“活”的,不存数据库或者日志里,服务停止,数据就消失了,这些数据就可以在接口里返回,用于统计;

  • 排查问题:有些数据可能是存在本地缓存,如某个Map中的,就可以写一个接口,返回该Map中的数据,用于排查问题;

  • ……

可以把Spring Boot Actuator当做玻璃窗,能观察到运行时系统的内部情况。当然,用常规的接口也能实现,但不方便,因为要考虑如何在鉴权框架中排出掉这些接口,以及如何对此类接口进行管理,这就不能像Spring Boot Actuator这样得心应手——Spring Boot Actuator可以通过配置文件来控制。

总结

本文介绍了Spring Boot Actuator的简单使用


http://www.ppmy.cn/news/1571019.html

相关文章

【STM32】串口原理

单片机有自己的RX&#xff08;接收端&#xff09;&#xff0c;TX&#xff08;发送端&#xff09;&#xff0c;有的需要再共同接一个底线&#xff0c;为了保证有相同的参考电势&#xff0c;数据如果是高电平的话&#xff0c;发送过去也是高电平 1.轮询方式 CPU需要时刻注意发送…

deepseek笔记

文章目录 deepseek 手机appdeepseek apideepseek的底层原理?个人感悟 deepseek 字面意思是深度求索&#xff0c;看这个名字就和人工智能有关。 百度了下 公司名称叫做 杭州深度求索人工智能基础技术研究有限公司。 deepseek 手机app 抱着好奇的心理&#xff0c;下载了一个&am…

YOLOv11实时目标检测 | 摄像头视频图片文件检测

在上篇文章中YOLO11环境部署 || 从检测到训练https://blog.csdn.net/2301_79442295/article/details/145414103#comments_36164492&#xff0c;我们详细探讨了YOLO11的部署以及推理训练&#xff0c;但是评论区的观众老爷就说了&#xff1a;“博主博主&#xff0c;你这个只能推理…

软件工程与土木工程的不同

观看本视频后&#xff0c;你将能够认识到软件工程与土木工程的不同&#xff0c;描述软件工程是如何不断变化的&#xff0c;并阐述项目管理模式为何不太适用于软件开发。一种常见且不利于 DevOps 工作的做法是&#xff0c;把软件工程工作当作土木工程来做。 对于一个土木工程的项…

Lua中文语言编程源码-第十一节,其它小改动汉化过程

__tostring 汉化过程 liolib.c metameth[] {"__转换为字符串", f_tostring}, lauxlib.c luaL_callmeta(L, idx, "__转换为字符串") lua.c luaL_callmeta(L, 1, "__转换为字符串") __len 汉化过程 ltm.c luaT_eventname[] ltablib.c c…

我用AI做数据分析之数据清洗

我用AI做数据分析之数据清洗 AI与数据分析的融合效果怎样&#xff1f; 这里描述自己在使用AI进行数据分析&#xff08;数据清洗&#xff09;过程中的几个小故事&#xff1a; 1. 变量名的翻译 有一个项目是某医生自己收集的数据&#xff0c;变量名使用的是中文&#xff0c;分…

初识C语言、C语言的学习方向总述与入门

目录 1. 什么是C语言&#xff1f; 2. 第一个C语言程序 3. 数据类型 4. 变量、常量 4.1 定义变量的方法 4.2 变量的命名 4.3 变量的分类 4.4 变量的作用域和生命周期 4.5 常量 5. 字符串转义字符注释 5.1 字符串 5.2 转义字符 6. 注释 7. 选择语句 8. 循环语句 …

【Linux】Socket编程—UDP

&#x1f525; 个人主页&#xff1a;大耳朵土土垚 &#x1f525; 所属专栏&#xff1a;Linux系统编程 这里将会不定期更新有关Linux的内容&#xff0c;欢迎大家点赞&#xff0c;收藏&#xff0c;评论&#x1f973;&#x1f973;&#x1f389;&#x1f389;&#x1f389; 文章目…