Spring Boot 2.x Actuator

Spring Boot 包含许多附加功能,可帮助您在将应用程序投入生产时监视和管理应用程序。 可以选择使用 HTTP 端点或 JMX 来管理和监控您的应用程序,自动应用于审计,健康和指标收集。

一句话:Spring Boot 提供用于监控和管理生产环境的模块—— Actuator

官方文档:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#production-ready

我们需要加入依赖

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

加入上述依赖后,访问几个 url:

http://localhost:8080/actuator

http://localhost:8080/actuator/health

注意:Spring Boot 新旧版本访问地址区别:端点基础路径由 / 调整到 /actuator 。如:/info 调整为 /actuator/info 

Actuator 模块提供了一些 url,通过这些 url 可以查看生产环境信息,可以通过 /actuator 查看

当然不止这些,上图所示只是默认提供的 url(出于安全考虑,除/ health 和 / info 之外的所有执行器默认都是禁用的),可通过配置文件来配置哪些地址可以访问

在配置文件中添加如下配置:

#表示开放所有
management.endpoints.web.exposure.include=*

官网说明:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-security-actuator

建议:在设置 management.endpoints.web.exposure.include 之前,请确保暴露的执行器不包含敏感信息获取;或者将禁用的端点将从应用程序上下文中完全删除;或者通过将其放置在防火墙进行控制,不对外进行使用;或者用 Spring Boot Admin 进行管理;或者用自己编写脚本监控。

Spring Boot Admin 相关资料:https://www.cnblogs.com/ityouknow/p/8440455.html

如果您只想更改端点所暴露的技术,请改用 include 和 exclude 属性 。示例如下:

#开启全部:
management.endpoints.web.exposure.include=* #开启某个:
management.endpoints.web.exposure.include=metrics #关闭某个:
management.endpoints.web.exposure.exclude=metrics

介绍常用的几个

1)/health 查看应用健康指标

2)/actuator/metrics 查看应用基本指标列表

3)/actuator/metrics/{name} 通过上述列表,查看具体指标

4)/actuator/env 显示来自 Spring 的 ConfigurableEnvironment 的属性

 

posted @ 2019-08-25 13:29  认真对待世界的小白  阅读(1529)  评论(0编辑  收藏  举报