当前位置 : 首页 » 文章分类 :  开发  »  Spring-Boot-Actuator

Spring-Boot-Actuator

Spring Boot Actuator 使用笔记

Actuator 是 Spring Boot 提供的对应用系统的自省和监控的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的 Spring beans 以及一些环境属性等。

Spring Boot Actuator 2.2 官方文档 (官方文档的完全翻译,翻译的很好)
https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/html/production-ready-features.html#production-ready

Spring Boot 2.0官方文档之 Actuator
https://blog.csdn.net/alinyua/article/details/80009435


maven 依赖

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

配置

management.port=11111   #actuator暴露接口使用的端口,为了和api接口使用的端口进行分离
management.info.git.mode=full
management.health.diskspace.enabled=true
management.health.db.enabled=true
management.health.redis.enabled=true
management.health.consul.enabled=false
management.health.elasticsearch.enabled=false
management.health.jms.enabled=false
management.health.mail.enabled=false
management.health.mongo.enabled=false
management.health.rabbit.enabled=false
management.health.solr.enabled=false

# actuator暴露的health接口权限是由两个配置: management.security.enabled 和 endpoints.health.sensitive组合的结果进行返回的。当两个都是false时未认证访问才全部返回
# actuator的health接口是否需要安全保证
endpoints.health.sensitive=false

endpoints.trace.enabled=false
endpoints.jmx.enabled=false
endpoints.dump.enabled=false

management.endpoint.<id>.enabled 关闭/启用端点

默认情况下,除 shutdown 以外的所有端点均已启用。
注意,这里仅仅是开启支持,并不是暴露为Web端点,端点必须暴露为Web端点才能被访问。

要配置单个端点的启用,请使用 management.endpoint.<id>.enabled 属性。
以下示例启用shutdown端点:

management.endpoint.shutdown.enabled=true

management.endpoints.enabled-by-default 全局端口默认配置

另外可以通过 management.endpoints.enabled-by-default 来修改全局端口默认配置, 以下示例启用 info 端点并禁用所有其他端点:

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

注意
禁用的端点将从应用程序上下文中完全删除。如果您只想更改端点公开(对外暴露)的技术,请改为使用 includeexclude 属性

management.endpoints.web.exposure.include 暴露哪些端点

management.endpoints.jmx.exposure.exclude 不通过 jmx 暴露的端点
management.endpoints.jmx.exposure.include 通过 jmx 暴露哪些端点, 默认值 *
management.endpoints.web.exposure.exclude 不通过 http 暴露的端点
management.endpoints.web.exposure.include 通过 http 暴露的端点 ,默认值 info, health
exclude属性优先于include属性。
这里的优先级是指同一端点ID,同时出现在include属性表和exclude属性表里,exclude属性优先于include属性,即此端点没有暴露

全部放开请使用 *,或把需要开放的接口端点使用 , 隔开,如:env,health

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.include=env,health

yaml 的配置 * 请加上 " (引号,单引号或双引号都可以)

management.endpoints.web.exposure.include: '*'

management.endpoints.web.base-path 端点路径

默认情况下,端点通过使用端点的ID在 /actuator 路径下的HTTP上公开。例如,beans端点暴露在 /actuator/beans 下。
如果要将端点映射到其他路径,则可以使用 management.endpoints.web.path-mapping 属性。
另外,如果您想更改基本路径,则可以使用 management.endpoints.web.base-path 属性
以下示例将 /actuator/health 重新映射到 /healthcheck

management.endpoints.web.base-path=/
management.endpoints.web.path-mapping.health=healthcheck

还可以引用 pom.xml 中的 properties 配置项

<properties>
  <endpoint.url>/disqus/actuator</endpoint.url>
</properties>

例如

management.context-path=@endpoint.url@

management.security.enabled

不启用安全策略,即开放所有端点,在 Spring boot 2.0 中已弃用此配置项,使用 management.endpoints.web.exposure.include=* 配置类暴露所有端点

management.security.enabled=false

端点

/actuator 列出所有endpoints

http://localhost:8001/comments/actuator
http://localhost:8002/statistic/actuator
http://api.masikkk.com/comments/actuator
http://api.masikkk.com/statistic/actuator

/actuator/prometheus Prometheus监控

如果是 Spring web 监控,默认会启用 Prometheus 监控数据端点,供 Prometheus 刮取
http://localhost:8001/comments/actuator/prometheus
http://localhost:8002/statistic/actuator/prometheus
http://api.masikkk.com/comments/actuator/prometheus
http://api.masikkk.com/statistic/actuator/prometheus

/actuator/env 获取全部环境属性

/actuator/health 健康检查

/actuator/info 服务信息

/actuator/beans bean信息

/actuator/conditions 自动配置条件信息

/actuator/mappings URI和Controller映射关系

Spring Boot (十九):使用 Spring Boot Actuator 监控应用
http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html

Spring Boot Actuator监控端点小结
http://blog.didispace.com/spring-boot-actuator-1/

Spring Boot Actuator 使用
https://www.jianshu.com/p/af9738634a21

spring boot报错 : Full authentication is required to access this resource
https://www.jianshu.com/p/d10e0cee4adb


上一篇 Hexo博客(25)自建博客评论系统

下一篇 Swagger

阅读
评论
1,095
阅读预计5分钟
创建日期 2019-05-06
修改日期 2020-01-17
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论