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

Spring Boot Actuator使用

说明:本文介绍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

如下:

在这里插入图片描述

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

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.lryc.cn/news/533791.html

相关文章:

  • 【AI应用】免费的文本转语音工具:微软 Edge TTS 和 开源版 ChatTTS 对比
  • 如何在 Qt 中添加和使用系统托盘图标
  • 【WB 深度学习实验管理】利用 Hugging Face 实现高效的自然语言处理实验跟踪与可视化
  • 基础入门-网站协议身份鉴权OAuth2安全Token令牌JWT值Authirization标头
  • C语言基础系列【3】VSCode使用
  • MySQL-5.7.44安装(CentOS7)
  • 服务端与多客户端照片的传输,recv,send
  • JS实现灯光闪烁效果
  • SpringCloud面试题----Nacos和Eureka的区别
  • verilog练习:i2c slave 模块设计
  • 3.5 Go(特殊函数)
  • Android的MQTT客户端实现
  • 国产编辑器EverEdit - 编辑辅助功能介绍
  • WPF 在后台使TextBox失去焦点的方法
  • 工作案例 - python绘制excell表中RSRP列的CDF图
  • CTF SQL注入学习笔记
  • element-plus el-tree-select 修改 value 字段
  • 基于javaweb的SpringBoot小区智慧园区管理系统(源码+文档+部署讲解)
  • SpringBoot学习之shardingsphere实现分库分表(基于Mybatis-Plus)(四十九)
  • 23.PPT:校摄影社团-摄影比赛作品【5】
  • Baumer工业相机堡盟相机的相机传感器芯片清洁指南
  • Spring Boot 整合 JPA 实现数据持久化
  • 快速在wsl上部署学习使用c++轻量化服务器-学习笔记
  • 【R语言】数据操作
  • MariaDB MaxScale实现mysql8主从同步读写分离
  • 【python】简单的flask做页面。一组字母组成的所有单词。这里的输入是一组字母,而输出是所有可能得字母组成的单词列表
  • 单片机之基本元器件的工作原理
  • 吴恩达深度学习——卷积神经网络的特殊应用
  • 安宝特方案 | AR助力制造业安全巡检智能化革命!
  • Unity-Mirror网络框架-从入门到精通之Discovery示例