详解spring-boot actuator(监控)配置和使用

发布时间 - 2026-01-11 03:23:52    点击率:

在生产环境中,需要实时或定期监控服务的可用性。spring-boot 的actuator(监控)功能提供了很多监控所需的接口。简单的配置和使用如下:

1、引入依赖:

<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> 

2、配置:

application.yml中指定监控的HTTP端口(如果不指定,则使用和server相同的端口);指定去掉某项的检查(比如不监控health.mail):

server: 
 port: 8082 
management: 
 port: 54001 
 health: 
  mail: 
   enabled: false 

3、使用:

查看health指标:http://localhost:54001/health

{"status":"UP","diskSpace":{"status":"UP","total":120031539200,"free":33554337792,"threshold":10485760},"db":{"status":"UP","dataSource1":{"status":"UP","database":"MySQL","hello":1},"dataSource2":{"status":"UP","database":"MySQL","hello":1}}} 

4、自定义指标:

4.1 /health:在某个类中implements HealthIndicator接口,然后实现其中的health()方法即可:

代码:

@SpringBootApplication 
@EnableScheduling 
public class MySpringBootApplication implements HealthIndicator{ 
  private static Logger logger = LoggerFactory.getLogger(MySpringBootApplication.class); 
   
  public static void main(String[] args) { 
    SpringApplication.run(MySpringBootApplication.class, args); 
    logger.info("My Spring Boot Application Started"); 
  } 
 
  /** 
   * 在/health接口调用的时候,返回多一个属性:"mySpringBootApplication":{"status":"UP","hello":"world"} 
   */ 
  @Override 
  public Health health() { 
    return Health.up().withDetail("hello", "world").build(); 
  } 
} 

/health 运行结果(注意第二个指标):

{"status":"UP","mySpringBootApplication":{"status":"UP","hello":"world"},"diskSpace":{"status":"UP","total":120031539200,"free":33554337792,"threshold":10485760},"db":{"status":"UP","dataSource1":{"status":"UP","database":"MySQL","hello":1},"dataSource2":{"status":"UP","database":"MySQL","hello":1}}}

4.2 /info:配置如下,可以直接给一个字符串,也可以从pom.xml配置中获取

info: 
 app: 
  name: "@project.name@" #从pom.xml中获取 
  description: "@project.description@" 
  version: "@project.version@" 
  spring-boot-version: "@project.parent.version@" 

/info的结果如下:

{"app":{"name":"my-spring-boot","description":"Test Project for Spring Boot","version":"1.0","spring-boot-version":"1.3.6.RELEASE"}}

官网:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready

源代码参考:https://github.com/xujijun/my-spring-boot

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# spring  # boot  # actuator  # 监控  # actuator配置  # spring boot starter actuator(健康监控)配置和使用教程  # springboot 使用Spring Boot Actuator监控应用小结  # SpringBoot 监控管理模块actuator没有权限的问题解决方法  # Spring Boot Actuator监控端点小结  # spring boot actuator监控超详细教程  # 所需  # 可用性  # 第二个  # 可以直接  # 自定义  # 还需要  # 如不  # 官网  # 源代码  # 大家多多  # 某项  # 类中  # 在某个  # enabled  # management  # localhost  # status  # false  # mail  # health 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  用yum安装MySQLdb模块的步骤方法  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何使用查询构建器?(Query Builder高级用法)  详解vue.js组件化开发实践  如何在VPS电脑上快速搭建网站?  如何确保西部建站助手FTP传输的安全性?  JS弹性运动实现方法分析  如何快速搭建FTP站点实现文件共享?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  如何正确下载安装西数主机建站助手?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  JS碰撞运动实现方法详解  Laravel API资源类怎么用_Laravel API Resource数据转换  JavaScript如何实现倒计时_时间函数如何精确控制  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  韩国服务器如何优化跨境访问实现高效连接?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  如何用花生壳三步快速搭建专属网站?  专业商城网站制作公司有哪些,pi商城官网是哪个?  如何彻底删除建站之星生成的Banner?  什么是javascript作用域_全局和局部作用域有什么区别?  如何快速辨别茅台真假?关键步骤解析  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  太平洋网站制作公司,网络用语太平洋是什么意思?  js实现点击每个li节点,都弹出其文本值及修改  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Python3.6正式版新特性预览  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何用VPS主机快速搭建个人网站?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何快速上传自定义模板至建站之星?  EditPlus中的正则表达式 实战(2)